Files
Link-Log/VIBE/PROMPTS.md
T
2026-08-26 14:33:11 +02:00

154 lines
12 KiB
Markdown

# Prompt Log
## 2026-08-24
1. I want to build a firefox plugin as specified in the REQUIREMENTS.md file.
2. I want this written in python where possible.
3. Start implementation.
4. Make the frontend page and the Docker setup.
5. Continue.
6. go.
7. continue.
8. Continue.
9. Create a folder called VIBE and log our chat and promts. Previous and future.
10. implement next step.
11. continue implementation
12. Fix the Starlette/httpx deprecation by using an alternative
13. Clean up and create a README that includes full install instructions
14. Review Docker setup and configuration
15. Make sure all configurateion can be set using a .env file with docker
16. Execute all TODOs
17. Add authenticated admin/user configuration
18. Make sure the link-log page is responsive
19. next
20. Make the layout modern based on catpuccino mocha theme
21. docker compose up fails with Jinja2 errors
22. put the avatar and the username on the top right hand side, and wrap all other text around it.
23. add a login button on the top right of the page
24. add a link to the administrator page to the user configuration for users that have admin privilige
25. add the ability to add and remove users to the admin interface
26. Only show the add user interface when logged in as admin and only show 'Administrator sign-in required' when an administrator is not signed in. Also add a checkbox to users in the admin to assign admin rights.
27. /admin shows 'sign out' while the users has been signed out.
28. Show a login button when nobody is logged in for /admin
29. The signin and signout button are not still not visible
30. It seems that the session is not maintained. I want Login buttons when a user has logged in and logout buttons when a user has logged out. If an authenticated user tries to load the admin page without authorization it should say that the user has no authorization
31. When a logged in user gets to the profile page their username should be printed - it is inmutable. Available defaults should prepopulte the fields.
32. The username doesn't load. The firefox console reports: Uncaught SyntaxError: redeclaration of const logoutButton
33. Check the whole authentication flow as it seems broken.
34. In the admin interface allow to toggle administrative rights for users. But always enforce there to be at least one user with admin rights
35. remove default for bio and email in the profile page
36. Don't use an avatar URL but allow the user to upload an avatar
37. Show the avatar with all posts
38. Show the avatar with each entry on the home page. On the specific /<user>/ page don't show the avatar and user name with each entry
39. For the user filter create a dropdown of all users that are available on the server
40. If I select a user filter I want the appropriate page to be opened (e.g. /user/ for user of / -home- for all-users)
41. git commit the whole lot
42. version the sql schema and make sure it can be upgraded in the future.
43. allow editing of individual links - add a edit button for the links owned by the authenticated user - otherwise do not show a link
44. Add authenticated link editing
45. Expose ownership if feed data
46. Render edit action for owned links
47. On every page, when a user has authenticated show its avatar and name in the header next to a sign out putton.
48. execute next todo
49. execute final todo (nummer 3)
50. Pressing signout (on the home page) does not log the user out
51. Instead of the buttons on the top of the page create a 'hamburger' dropdown menu. The menu items are sign in, profile, admin, and sign out with authenticated visibility rules.
52. The menu items on the dropdown render behind <main class='container'>
53. The menu should not show the profile, admin and signout items when nobody is authenticated.
54. Add one entry on top of the hamburger menu 'home' that always directs to the home page.
55. where the hamburger menu shows the avatar and username, replace by username only and link to the /user/ page
56. Change both the plugin and the backed to allow a logged link to be tagged witn zero or more tags (10 max). In the pluggin tags can be selected from existing tags and new ones can be created. Add the ability to sort on tags on the front page.
57. The seed list is: #Internet #Cybersecurity #Fediverse #Food #Photography #Music #AI
58. The seed list is: #Internet, #Cybersecurity, #Fediverse, #Food, #Photography, #Music, #AI
59. On the home page allow filtering on tags
60. when editing lables I want to be able to selec multiple tags or add one myself.
61. Make the tags filtering case incensitive (but maintain case of tags)
62. Display the date as "2026 June 18 - 20:22"
63. Create a page where users can add, delete, or edit labels - Labels can be edited and deleted by the same user that created them. The administrator can delete any label.
64. The profile page shows in red: "can't access property \"classList\", document.querySelector(...) is null"
65. The post prefix is now 'From my #LinkLog: "' make that 'From my #LinkLog: '
66. Use the logo.svg in both the plugin as well as on the web page
67. use the logo as the logo on the dropdown for firefox extensions but put it on a dark background
68. Make sure that the logo is used in the toolbar
69. For the logo in the toolbar make the background dark
70. Make sure the addon conforms to Firefox guidelines
71. Create a make file that will regenerate the logo and icon files from LinkLog.svg
72. Make sure the addon conforms to Firefox guidelines
73. How come when te container starts after docker compose down -v the database is still populated with old links
74. Refine the Plugins Settings page. When the user is logged in it shows all "<user> logged in at <url>" and a sign-out button. If the user is not logged in it shows the form as is now.
75. On the plugin, next to the logo, create a link of the form: [LinkLog](https://<host>/<user>)
76. Use the Asset Font from google foundry as font for the LinkLog text
77. Create an about page and add an entry in the hamburger menu. The about page explains what the linklog does
78. On the bottom of all files add a copyright statement (Olaf Kolkman) and a link to the git.kolkman.org/LinkLog repository in small print
79. the link in the site footer must be underlined and in the same color as the other text
80. Add copyright sign and 2026 to the copyright notices
81. in the footer make the link the same color as the mother text, when clicked use a tint from the Catpuccin theme
82. Add a GNU License file
83. Add a copyright statement to source files refer to GNU license
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
112. Format mastodon posts like From my #LinkLog: Title, optional comment, and from: URL
113. Only print the 'from' line if there is no title. Put the title directly behind the colon, and put all tags on the last line.
114. In the frontend do not show edit buttons on the home page even when a user is logged in. On the /<user>/ page show the edit button on the right of the entry. Also add a delete button.
115. Put the buttons on the right hand side of the link item, make the buttons smaller and same color scheme
116. Put the mastodon button on the lower right corner of the log entry
117. Make sure that the makefile also rebuilds XPI if any of its source files are changed
117. Change that location to be immediately below the edit and delete button
116. When the user is authorized and on its /<user>/ page show a Mastodon post button with logo; after posting keep it functional but change its color.
117. Continue to log interactions to the VIBE directory.
118. On the home page, when clicking on the avatar or the user, show the profile information.
119. Localize the firefox plugin.
120. Create a spanish, german, french and dutch locale.
121. On the admin page add the SMTP settings (with the validation button).
122. Populate the SMTP fields with the current values except for the password. Send the testmail to the currently authenticated admin user. Only use updated fields when testing. Use the same logic as in the configuration page to restrict endless testing.
123. Report any errors that may occur from the SMTP module to the user.
124. In the admin screen allow to select multiple themes for the backend. Create at least one plain day and one night theme, and add in all catpuccin themes for good measure.
125. For the day and latte themes the contrast on the link items is too low.
126. Add 3 other of the most popular themes.
127. Show the tags in the linklog on the bottom left, move the date to the bottom right - horizontally align the tags with the date.
128. Continue todos.
129. Do not show 'no comment provided' but leave empty when no comment has been provided.
130. Decrease the space between link-log items.
131. Perform the next items on the todo list.
132. Correct: move the sort and filter toolbar underneath the theme and menu, in the header, on the home page and on the <user> pages.
133. Run frontend and style checks.
134. Keep the sort and filter bar left of the logo and pack it snug against the menu and theme selector.
135. Correction: the feed header should have the sort and filter bar to the right of the LinkLog logo, compact and underneath the theme selector and menu.
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
Append each new user prompt here with its date and preserve the chronological order.