MAstodon posts fixed
Build LinkLog Development Image / development-image (push) Successful in 11s

This commit is contained in:
2026-08-26 09:26:16 +02:00
parent 333aab8e8a
commit 22add753fe
12 changed files with 682831 additions and 35 deletions
+117
View File
@@ -511,3 +511,120 @@ Add the creation of an xpi bundle for the webextention to the Makefile
### Assistant outcome
Added a portable `xpi` Makefile target that regenerates logo assets and packages the Firefox extension into `LinkLog.xpi`, excluding metadata and minified artifacts. Added README instructions, ignored the generated XPI, and verified the archive contents and integrity with `unzip -tq`.
### User
Correct: A signed XPI will be generated manually and checked into the repository under XPI/signed
### Assistant outcome
Defined the release workflow around a manually checked-in signed XPI and added version/update-manifest validation, Docker image publishing, and Gitea release asset handling.
### User
The "data_collection_permissions" property is missing from the plugin
### Assistant outcome
Added Firefox `data_collection_permissions` requiring `websiteActivity`, with no optional categories, and enforced the declaration in release validation.
### User
Validate the XPI during the make process of the unsigned xpi
### Assistant outcome
Added unsigned-XPI validation to the Makefile. The validator checks ZIP integrity, required files, macOS metadata, and exact manifest parity.
### User
pressing remove still does not remove a user.
### Assistant outcome
Fixed admin user removal behavior, added server-side self-protection, improved browser error reporting, and updated the admin cache-busting version.
### User
Trying to remove user alice: Could not remove alice: Internal Server Error
### Assistant outcome
Found the SQLite foreign-key failure caused by Alice-owned tokens, links, and plugin configuration. User deletion now removes dependent records transactionally before deleting the user. Full validation passed.
### User
Create a Gitea Action for every update to main that creates a Docker image tagged development
### Assistant outcome
Added `.gitea/workflows/development.yml`, publishing `git.kolkman.org/olaf/link-log:development` on every push to `main`, with manual dispatch support.
### User
Use an access token to publish to registry, not username and password
### Assistant outcome
Changed release and development workflows to use `REGISTRY_TOKEN` as the Docker registry credential while retaining `REGISTRY_USERNAME` as the login identity.
### User
Add SMTP capabilities and email validation links
### Assistant outcome
Added SMTP delivery, email verification tokens, verification-link handling, and environment configuration for SMTP.
### User
Do not configure default users at bootstrap. Present a configuration page when no administrator exists.
### Assistant outcome
Removed default-user bootstrap, added a first-run setup page, persisted SMTP settings, created the first administrator through setup, and added an SMTP test-mail step.
### User
Separate saving configuration from sending test mail, allow five sends with 20-second intervals, then hold for two minutes with a visual timer.
### Assistant outcome
Split setup into Save configuration, Send test mail, and Complete setup actions. Added persistent server-side throttling, reload-safe countdown state, a five-send limit, and a two-minute cooldown.
### User
Use `.env` defaults during initial configuration.
### Assistant outcome
The setup status endpoint now exposes effective environment SMTP defaults, and the setup form populates blank fields from them. Persisted setup values take precedence after saving.
### User
Use OAuth to register with the Mastodon account and obtain access to post.
### Assistant outcome
Added Mastodon OAuth app registration, authorization and callback endpoints, one-time OAuth state storage, and per-user access-token persistence.
### User
Allow the user to enter the Mastodon server to authenticate to.
### Assistant outcome
The profile now requires an explicit Mastodon server, saves that server before OAuth, and authenticates against the selected instance.
### User
Clicking authenticate with this server for social.secret-wg.org generates a 502 error.
### Assistant outcome
Confirmed the Mastodon instance was returning HTTP 429 during app registration. OAuth app credentials are now cached per instance, and upstream rate-limit responses are passed through with retry information instead of being reported as generic 502 errors.
### User
When a password is mistyped, send a password reset link.
### Assistant outcome
Added hashed, expiring, single-use password-reset tokens, SMTP reset mail, a reset-password page, generic login errors, and session revocation after reset.
### User
Log the unlogged chat and prompt in the VIBE directory.
### Assistant outcome
Appended the previously unlogged feature work and this request to `VIBE/PROMPTS.md` and `VIBE/CHAT_LOG.md`.
### User
Continue to log prompts and chats in VIBE
### User
Use the VIBE directory in the current workspace.
### Assistant outcome
Confirmed the current workspace is `/home/olaf/LinkLog_Dev` and appended both requests and this outcome to the VIBE logs located at `VIBE/PROMPTS.md` and `VIBE/CHAT_LOG.md`.
### User
Posting to Mastodon seems to fail, try to fix, add debug logging.
### Assistant outcome
Changed Mastodon status publishing to form-encoded API requests, added safe configurable logging for skipped, successful, and failed posts, included upstream HTTP response details without logging access tokens, and wired `LINKLOG_LOG_LEVEL` through the environment and Compose configuration. Updated the posting regression test. The focused test and complete Dockerized backend suite passed with 22 tests.
### User
`LINKLOG_PUBLIC_URL` and `TRAEFIK_HOST` are the same and can be merged. Use `LINKLOG_PUBLIC_URL` in Docker Compose.
### Assistant outcome
Removed the duplicate `TRAEFIK_HOST` configuration, changed both Traefik router rules to use `LINKLOG_PUBLIC_URL`, standardized the value as a host name, and normalized scheme-less values to valid HTTP/HTTPS backend callback URLs. Compose validation, URL normalization, and the complete Dockerized backend suite passed with 22 tests.
+27
View File
@@ -88,6 +88,33 @@
84. Add the version to the name of the resulting xpi
85. Set the version number of the backend to 0.1.0
84. Add the creation of an xpi bundle for the webextention to the Makefile
85. Correct: A signed XPI will be generated manually and checked into the repository under XPI/signed
86. The "data_collection_permissions" property is missing from the plugin
87. Validate the XPI during the make process of the unsigned xpi
88. pressing remove still does not remove a user.
89. Trying to remove user alice: Could not remove alice: Internal Server Error
90. create a gitea action that is ran every time main is updated and that creates a docker image tagged development
91. Use an access token to publish to registry, not username and password
92. Add SMTP capabilities to the backend. Use it to validate the email addresses using a validation link in mail
93. Do not configure default users at bootstrap. Instead present a configuration page (only present if no administrator is configured). The configuration page asks for the admin users credetials and allows to configure the SMTP settings and sends a test mail after configuration
94. After saving the configuration - add link to home page together with "LinkLog is configured and the SMTP test mail was sent."
95. In the confiuration seperate the safe and send mail functionality. Allow the user to resend test mail 5 times with a 20 seconds interval and then hold back for 2 minutes - show a visual timer counting down.
96. when running the initial config use the defaults from the .env file when available
97. Use oauth to register with the mastodon account and obtain access to post
98. Allow user to enter the mastodon server to authenticate to
99. Clicking authenticate with this server (social.secret-wg.org) generates 502 error
100. Log the unlogged chat and promt in the VIBE directory
101. when password is mistyped send a password reset link
102. when running the initial config use the defaults from the .env file when available
103. After saving the configuration - add link to home page together with "LinkLog is configured and the SMTP test mail was sent."
104. In the confiuration seperate the safe and send mail functionality. Allow the user to resend test mail 5 times with a 20 seconds interval and then hold back for 2 minutes - show a visual timer counting down.
105. Use oauth to register with the mastodon account and obtain access to post
106. Allow user to enter the mastodon server to authenticate to
107. Log the unlogged chat and promt in the VIBE directory
108. Continue to log prompts and chats in VIBE
109. use VIVE that is in the current directory
110. Posting to mastodon seems to fail, try to fix, add debug logging
111. LINKLOG_PUBLIC_URL and TRAEFIK_HOST are the same and can be merged. (use LINKLOG_PUBLIC_URL), fix docker-compose to use said variable
## Future entries
+682583
View File
File diff suppressed because one or more lines are too long