diff --git a/shopdb/core/api/settings.py b/shopdb/core/api/settings.py index 60c919e5..6a17a338 100644 --- a/shopdb/core/api/settings.py +++ b/shopdb/core/api/settings.py @@ -478,6 +478,13 @@ def build_default_settings(): # QR codes and any absolute link the app emits - and facility name shown on # the shopfloor dashboard. Blank site_base_url falls back to the browsing # origin so nothing breaks before a site configures it. + # + # THE SUBPATH BELONGS IN THE VALUE. Consumers append the in-app route and + # add nothing themselves (resolveCodeText in print/assetLabel.js, buildQrUrl + # in utils/qrTarget.js), so a site served at /shopdb must carry that here or + # every generated link 404s. This said "scheme + host" for a while, which is + # true only of a site mounted at the root - and the email copy of the same + # setting has always said https://host/ops. sitedefaults = [ { 'key': 'setup_complete', @@ -512,7 +519,7 @@ def build_default_settings(): 'value': '', 'valuetype': 'string', 'category': 'site', - 'description': 'Public base URL of this site (scheme + host), e.g. https://shopdb.example.net. Used for QR codes and absolute links. Blank = use the browsing origin.' + 'description': 'Public base URL of this site INCLUDING any subpath it is served under, e.g. https://shopdb.example.net or https://host/shopdb. Consumers append the in-app route to this and add nothing themselves, so a subpath left off here produces links that 404. Blank = use the browsing origin.' }, { 'key': 'facility_name',