Description#
This file includes the backlog of features and fixes that need to be done. Each should be addressed one at a time, and the item should be removed after implementation has been finished and verified.
Features#
-
LARGE: complete record styling refactor that changes from table-style to more mobile-friendly style
- Likely a more "post-style" version that is closer to bsky posts
- To be done later down the line
- setting to use legacy table view
-
Settings menu (mostly tbd)
- Private mode -- don't show in community feed (records are still public via pds api though)
- Dev mode -- show did, copy did in profiles (remove "logged in as " from home page)
- Toggle for table view vs future post-style view
- Maybe add loading bars to page loads? (above the header perhaps?)
- A separate nicer pretty loading bar would also be nice on the brews page?
Far Future Considerations#
-
Maybe swap from boltdb to sqlite
- Use the non-cgo library?
- Is there a compelling reason to do this?
- Might be good as a sort of witness-cache type thing (record refs to avoid hitting PDS's as often?)
- Probably not worth unless we keep a copy of all (or all recent) network data
-
The profile, manage, and brews list pages all function in a similar fashion, should one or more of them be consolidated?
- Manage + brews list together probably makes sense
-
IMPORTANT: If this platform gains any traction, we will need some form of content moderation
- Due to the nature of arabica, this will only really need to be text based (text and hyperlinks)
- Malicious link scanning may be reasonable, not sure about deeper text analysis
- Need to do more research into security
- Need admin tooling at the app level that will allow deleting records (may not be possible), removing from appview, blacklisting users (and maybe IPs?), possibly more
- Having accounts with admin rights may be an approach to this (configured with flags at startup time?) @arabica.social, @pdewey.com, maybe others? (need trusted users in other time zones probably)
- Add on some piece to the TOS that mentions I reserve the right to de-list content from the platform
- Continue limiting firehose posts to users who have been previously authenticated (keep a permanent record of "trusted" users)
- By logging in users agree to TOS -- can create records to be displayed on the appview ("signal" records) Attestation signature from appview (or pds -- use key from pds) was source of record being created
- This is a pretty important consideration going forward, lots to consider
Fixes#
-
Loading on htmx could probably be snappier by using a loading bar, and waiting until everything is loaded
- Alternative could be using transitionary animations between skeleton and full loads
- Do we even need skeleton loading with SSR? (I think yes here because of PDS data fetches -- maybe not if we kept a copy of the data)
-
Headers in skeletons need to exactly match headers in final table
- Refreshing profile should show either full skeleton with headers, or use the correct headers for the current tab (It currently shows the brew header for all tabs)
-
Add styling to mail link and back to home button on terms page
-
Take revision pass on text in about and terms
-
Need to cache profile pictures to a database to avoid reloading them frequently
- This may already be done to some extent
-
Tables flash a bit on load, could more smoothly load in? (maybe delay page until the skeleton is rendered at least?)
- I think the profile page does this relatively well, with the profile banner and stats
Refactor#
-
Need to think about if it is worth having manage, profile, and brew list as separate pages.
- Manage and profile could probably be merged? (or brew list and manage)
-
Profile tables should all either have edit/delete buttons or none should
-
Also, add buttons below each table for that record type would probably be nice
-
Maybe having a way of nesting modals, so a roaster can be created from within the bean modal?
- Maybe have a transition that moves the bean modal to the left, and opens a roaster modal to the right
Notes#
-
Popup menu for feed card extras should be centered on the button
- Maybe use a different background color (maybe the button color?)
-
Add a copy AT URI to extras popup
-
Firehose maybe not backfilling likes
-
TODO: add OpenGraph embeds (mainly for brews; beans and roasters can come later)
-
Fix opengraph to show handle, record type and date?
- Then show brewer and bean?
- Add an image of some kind as well