Coffee journaling on ATProto (alpha)
alpha.arabica.social
coffee
1## Description
2
3This file includes the backlog of features and fixes that need to be done.
4Each should be addressed one at a time, and the item should be removed after implementation has been finished and verified.
5
6---
7
8## Features
9
101. LARGE: complete record styling refactor that changes from table-style to more mobile-friendly style
11 - Likely a more "post-style" version that is closer to bsky posts
12 - To be done later down the line
13 - setting to use legacy table view
14
152. Settings menu (mostly tbd)
16 - Private mode -- don't show in community feed (records are still public via pds api though)
17 - Dev mode -- show did, copy did in profiles (remove "logged in as <did>" from home page)
18 - Toggle for table view vs future post-style view
19
20- Maybe add loading bars to page loads? (above the header perhaps?)
21 - A separate nicer pretty loading bar would also be nice on the brews page?
22
23## Far Future Considerations
24
25- Maybe swap from boltdb to sqlite
26 - Use the non-cgo library?
27 - Is there a compelling reason to do this?
28 - Might be good as a sort of witness-cache type thing (record refs to avoid hitting PDS's as often?)
29 - Probably not worth unless we keep a copy of all (or all recent) network data
30
31- The profile, manage, and brews list pages all function in a similar fashion,
32 should one or more of them be consolidated?
33 - Manage + brews list together probably makes sense
34
35- IMPORTANT: If this platform gains any traction, we will need some form of content moderation
36 - Due to the nature of arabica, this will only really need to be text based (text and hyperlinks)
37 - Malicious link scanning may be reasonable, not sure about deeper text analysis
38 - Need to do more research into security
39 - Need admin tooling at the app level that will allow deleting records (may not be possible),
40 removing from appview, blacklisting users (and maybe IPs?), possibly more
41 - Having accounts with admin rights may be an approach to this (configured with flags at startup time?)
42 @arabica.social, @pdewey.com, maybe others? (need trusted users in other time zones probably)
43 - Add on some piece to the TOS that mentions I reserve the right to de-list content from the platform
44 - Continue limiting firehose posts to users who have been previously authenticated (keep a permanent record of "trusted" users)
45 - By logging in users agree to TOS -- can create records to be displayed on the appview ("signal" records)
46 Attestation signature from appview (or pds -- use key from pds) was source of record being created
47 - This is a pretty important consideration going forward, lots to consider
48
49## Fixes
50
51- Loading on htmx could probably be snappier by using a loading bar, and waiting until everything is loaded
52 - Alternative could be using transitionary animations between skeleton and full loads
53 - 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)
54
55- Headers in skeletons need to exactly match headers in final table
56 - Refreshing profile should show either full skeleton with headers, or use the correct headers for the current tab
57 (It currently shows the brew header for all tabs)
58
59- Add styling to mail link and back to home button on terms page
60
61- Take revision pass on text in about and terms
62
63- Need to cache profile pictures to a database to avoid reloading them frequently
64 - This may already be done to some extent
65
66- Tables flash a bit on load, could more smoothly load in? (maybe delay page until the skeleton is rendered at least?)
67 - I think the profile page does this relatively well, with the profile banner and stats
68
69## Refactor
70
71- Need to think about if it is worth having manage, profile, and brew list as separate pages.
72 - Manage and profile could probably be merged? (or brew list and manage)
73
74- Profile tables should all either have edit/delete buttons or none should
75- Also, add buttons below each table for that record type would probably be nice
76
77- Maybe having a way of nesting modals, so a roaster can be created from within the bean modal?
78 - Maybe have a transition that moves the bean modal to the left, and opens a roaster modal to the right
79
80## Notes
81
82- Popup menu for feed card extras should be centered on the button
83 - Maybe use a different background color (maybe the button color?)
84
85- Add a copy AT URI to extras popup
86
87- Firehose maybe not backfilling likes
88
89- TODO: add OpenGraph embeds (mainly for brews; beans and roasters can come later)
90
91- Fix opengraph to show handle, record type and date?
92 - Then show brewer and bean?
93 - Add an image of some kind as well