fix(patchers): patch router without permanent absolute _oc_webroot #603
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
☑️ Resolves
@nextcloud/routercannot be used as it is, because it relies onwindow.locationwhich is different on Desktop app.Before
window._oc_webrootwas replaced with an absolute base path instead of relative (https://nextcloud.ltd/cloudinstead of/cloud) to return an absolute linkIt makes it impossible to work with relative links. And it is just not clean
getBaseUrlwas literally the same asgetRootUrl.After
_oc_webrootis now kept original (relative) and only when needed temporally replaced with an absolute.Added
OCA.Talk.Desktop.runWithAbsoluteWebroothelper to run another function having absolute webroot.@nextcloud/routeris now patched with this helper and re-definedbaseURLdefault value for simplicity, keeping the original implementation.🖼️ Screenshots
Support for relative links in Talk by new autolink in
NcRichTextAlso works with absolute links, but only if there is no base (webroot).