From d18acf813a0e63dcfcd4c9f63452cc480276139a Mon Sep 17 00:00:00 2001 From: Kolkman Date: Wed, 26 Aug 2026 14:33:11 +0200 Subject: [PATCH] webplugin settings defaults --- README.md | 4 ++-- VIBE/CHAT_LOG.md | 12 ++++++++++++ VIBE/PROMPTS.md | 2 ++ XPI/unsigned/LinkLog-0.1.0.xpi | Bin 47843 -> 47864 bytes webextension/_locales/de/messages.json | 2 +- webextension/_locales/en-US/messages.json | 2 +- webextension/_locales/es/messages.json | 2 +- webextension/_locales/fr/messages.json | 2 +- webextension/_locales/nl/messages.json | 2 +- webextension/options.js | 4 +--- 10 files changed, 22 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 12c2040..9057696 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ Open these URLs: - Health check: - OpenAPI documentation: -The browser extension defaults to `http://localhost:8000`. +The browser extension requires a backend URL to be entered during setup; it does not assume a default server. The supplied `Logo.svg` is bundled as `frontend/static/logo.svg` for web pages and `webextension/logo.svg` for the Firefox popup and settings page. The visible LinkLog brand text uses the Google Foundry `Asset` font when available, with local fallbacks in the Firefox extension. @@ -140,7 +140,7 @@ The manifest includes stable Firefox extension metadata and references the packa 3. Select **Load Temporary Add-on**. 4. Choose `webextension/manifest.json`. 5. Open the LinkLog extension options and enter: - - Backend URL: `http://localhost:8000` + - Backend URL: the URL of your LinkLog server, such as `http://localhost:8000` - Username: `alice` - Password: `secret123` 6. Save the settings and login. diff --git a/VIBE/CHAT_LOG.md b/VIBE/CHAT_LOG.md index c822b68..d5935a1 100644 --- a/VIBE/CHAT_LOG.md +++ b/VIBE/CHAT_LOG.md @@ -818,3 +818,15 @@ When the user is not logged in, the plugin should display no form fields and war ### Assistant outcome The Firefox popup now hides capture fields by default for signed-out users, shows a localized sign-in warning, and provides an Open settings action. The form appears only after backend credentials and a valid session are available; expired sessions return to the warning state. + +### User +Remove `DEFAULT_BACKEND` setting in the plugin. + +### Assistant outcome +Removed the hard-coded backend URL fallback from the Firefox extension. The backend URL is now empty until the user enters it, and the README setup instructions reflect that no default server is assumed. + +### User +Change the title of the field “One-time password” to “One-time password (when configured)”. + +### Assistant outcome +Updated the OTP field label in the English, Spanish, German, French, and Dutch extension locale catalogs to clarify that the code is needed only when OTP is configured. diff --git a/VIBE/PROMPTS.md b/VIBE/PROMPTS.md index 0cc6ab4..b529bae 100644 --- a/VIBE/PROMPTS.md +++ b/VIBE/PROMPTS.md @@ -145,6 +145,8 @@ 136. When a log entry is deleted then all mastodon posts are deleted too. 137. Don't forget to update the plugin to work with OTP. 138. When the user is not logged in then the plugin should just display no form fields but warn the user that they have to log in with a link to settings. +139. Remove DEFAULT_BACKEND setting in the plugin. +140. Change the title of the field "One-time password" to "One-time password (when configured)". ## Future entries diff --git a/XPI/unsigned/LinkLog-0.1.0.xpi b/XPI/unsigned/LinkLog-0.1.0.xpi index 3c11b0cf2a6979b6d7e36350a9b71b01963f93e2..73fd2692568e2ee17f0cec60a28be167e67392c4 100644 GIT binary patch delta 8237 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 delta 8332 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