-
Notifications
You must be signed in to change notification settings - Fork 1
/
plan.txt
72 lines (64 loc) · 2.42 KB
/
plan.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Alpaca blue cases:
- login
- user selects instance
- oauth2 dance delivers credentials
- credentials saved on client
- proxy gives you a cookie to remember you
- view timeline
- client loads saved posts from localstorage
- client creates long running connection
- client translates mastodon links into proxy links
- any username becomes a proxy link to that user
- any post becomes a proxy link to that post
- every post is stored in localstorage
- media
- cache and proxy media?
- saves instances bandwidth
- makes the experience faster
- worth paying for?
- revenue share based on bandwidth usage
- users
- client views users with account fetch API
- every account object is saved in localstorage
- proxy links
- user:
- if proxy knows you:
- bounce to client and fetch as normal
- if proxy doesn't know you:
- proxy fetches or registers a new app client
- fetches user if public
- displays user
- if you click follow
- bounce to client and goto login
- post:
- if proxy knows you
- bounce to client and fetch as normal
- if proxy doesn't know you
- fetch and display post in standard UI
- if you click like/reblog/reply
- bounce to client and goto login
- mentions
- client loads saved mentions from local storage
- then the 40 most recent mentions
- then backwards from there until it reaches duplicates
Implementation notes:
- timeline
- load saved posts
- load most recent posts from remote
- if there are posts before most recent but after saved posts insert a [more] loader
- add the streaming loader
- loading a thread
- from universal ID
- call to the original instance for thread
- render
- if logged in
- call to our instance for internal data
- hydrate
cd /opt/app;
docker-compose exec streaming sh -c "RAILS_ENV=production bin/tootctl media remove --days 0;"
<VisibilitySensor onChange={infiniteScroll}>
<div>Loading more posts...</div>
</VisibilitySensor>
https://platform.twitter.com/embed/Tweet.html?dnt=true&embedId=twitter-widget-3&frame=false&hideCard=false&hideThread=true&id=1610081575953391617&lang=en&theme=light&widgetsVersion=a3525f077c700%3A1667415560940
https://bitcoinhackers.org/@mastodonusercount/109622801774376529
<iframe src="https://bitcoinhackers.org/@mastodonusercount/109622801774376529/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400" allowfullscreen="allowfullscreen"></iframe>