Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Friends update for Passport-V1 #1307

Closed
wants to merge 155 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
155 commits
Select commit Hold shift + click to select a range
c11e48d
passport friends update with new state
leowini Mar 31, 2023
7a9b805
state migration
leowini Mar 31, 2023
4eec6bf
building out a simpler and more efficient system for the os process
drunkplato Apr 1, 2023
72930ba
getting the new api, ship, auth, etc flow figured out
drunkplato Apr 1, 2023
79ff180
in the middle of wiring up the new account service and deleting the o…
drunkplato Apr 2, 2023
4924c76
working my way through ship.service and chat.model and notifications.…
drunkplato Apr 2, 2023
425fc2c
dev lock file and better structure
drunkplato Apr 3, 2023
c978f2d
ship data is almost wired up. next is spaces and then window management
drunkplato Apr 3, 2023
b8a0983
most of the refactor structure is done. Now I need to integrate space…
drunkplato Apr 3, 2023
62b7ab2
loading spaces
drunkplato Apr 3, 2023
3c610b6
working through shell and desktop consolidation. refactored the space…
drunkplato Apr 4, 2023
fd71fb3
starting on bazaar as i need it for app windows
drunkplato Apr 4, 2023
1ef3543
logout and theme setting works. basic onbaording setup
drunkplato Apr 4, 2023
64f3b0b
massive progress but still a lot of cleanup to go -- specifically aro…
drunkplato Apr 5, 2023
1239a24
Merge branch 'master' into rebuilt-os-process
gdbroman Apr 6, 2023
a0ec3ea
got apps loading and install and details refactored
drunkplato Apr 6, 2023
7681635
got space creation working and deleting, but still have to store the …
drunkplato Apr 6, 2023
83e2de6
init new friends agent
ajlamarc Apr 8, 2023
c631cef
spec-ing out behavior w/ example comments
ajlamarc Apr 8, 2023
b3bfc73
continue to spec out with nested cores
ajlamarc Apr 9, 2023
b96c709
rename pole to path, start general principles
ajlamarc Apr 9, 2023
23a3a9a
more pretty comments
ajlamarc Apr 9, 2023
e2177d6
document + implement recursive on-load
ajlamarc Apr 9, 2023
05eb07c
mostly messing around with comments
ajlamarc Apr 9, 2023
41d8da8
cleanup current docs
ajlamarc Apr 9, 2023
5c6bbb1
working adding friends
ajlamarc Apr 9, 2023
9070669
use wutluses
ajlamarc Apr 10, 2023
d645c56
fix indent, enable removing friends
ajlamarc Apr 10, 2023
d301d19
add ourselves in on-init
ajlamarc Apr 10, 2023
1a43305
fix defaults
ajlamarc Apr 10, 2023
11e1796
handle declining and cancelling friend requests
ajlamarc Apr 10, 2023
ef456a1
handle blocking and unblocking
ajlamarc Apr 10, 2023
f1f84a3
more comments
ajlamarc Apr 10, 2023
fe7b3a0
fixing merge conflict
drunkplato Apr 11, 2023
bb76012
initial migration logic
Tenari Mar 28, 2023
d5ef984
some progress
Tenari Mar 28, 2023
63991e0
more progress
Tenari Apr 6, 2023
cc2af18
Fix: Relic browser greys out on search
gdbroman Apr 6, 2023
73bf906
#1298 %status should be sent when the expiresDuration is changed
Tenari Apr 5, 2023
9e79a64
Update realm-chat.hoon
drunkplato Apr 6, 2023
03dede8
Update realm-chat.hoon
drunkplato Apr 6, 2023
dd2a0bc
merged windowedlist
drunkplato Apr 11, 2023
c4fd824
#1298 move lightbox to where it belongs
Tenari Apr 6, 2023
c532f8b
whoah, it kinda works in the ui
Tenari Apr 6, 2023
0b99a6a
handle-kick handle-leave and handle-remove
Tenari Apr 6, 2023
1f4379b
lint and tsc
Tenari Apr 6, 2023
698489c
probably resolve suggested changes
Tenari Apr 7, 2023
201e76e
Fix faulty import
gdbroman Apr 7, 2023
706b3be
merged
drunkplato Apr 11, 2023
c7852d9
Fix photoswipe next css problem
gdbroman Apr 7, 2023
ca8dd70
test
gdbroman Apr 7, 2023
d60d897
merged
drunkplato Apr 11, 2023
e29d0ac
#1298 padding, keep adronments at bottom
Tenari Apr 5, 2023
5d23717
deleted file
drunkplato Apr 11, 2023
b014048
Always show scrollbar padding in WindowedList
gdbroman Apr 6, 2023
fa1a761
rooms crash fix
leowini Apr 5, 2023
725c8a4
Update app/src/renderer/apps/Rooms/NewRoom.tsx
leowini Apr 6, 2023
9da70cf
Update app/src/renderer/apps/Rooms/NewRoom.tsx
leowini Apr 6, 2023
7465e70
photoswipe.css
gdbroman Apr 7, 2023
ae76e2b
fix lightbox interaction with context menu
Tenari Apr 7, 2023
0fda449
adding the spaces chat row logic
drunkplato Apr 7, 2023
e533b0d
working on getting the spaces chat logic in the various views
drunkplato Apr 7, 2023
3bbc435
pushing current progress with ChatInfo for spaces handled as well as …
drunkplato Apr 7, 2023
7975371
ready to merge
drunkplato Apr 7, 2023
6200a90
stubbed spaces-chat agent
drunkplato Apr 7, 2023
2154d80
got the map constructed
drunkplato Apr 7, 2023
f09a7d6
got initial creation working and everything wired up. will finish in …
drunkplato Apr 8, 2023
38eb93d
the standalone chat agent is working now. Tested it and works in all …
drunkplato Apr 8, 2023
ec12323
found a bug in spaces leave and bazaar on-remove
drunkplato Apr 8, 2023
2d096f8
spaces chat is ready for merge
drunkplato Apr 8, 2023
e7a158a
Fix home panel icon colors
gdbroman Apr 7, 2023
b0740a1
Fix IconButton remains in active state after click
gdbroman Apr 7, 2023
672a760
Local ErrorBoundries for Windows + TrayApps
gdbroman Apr 7, 2023
ada62b1
Inject both hex and rgba color values
gdbroman Apr 7, 2023
8f270f8
merged master
drunkplato Apr 8, 2023
31c0b3e
pass down selectedChatPath, cache chats, textarea not required
ajlamarc Apr 7, 2023
9833942
handle clear on send and cleanup with edit functionality
ajlamarc Apr 7, 2023
60167ac
fix logic for wiping cache when blur empty message
ajlamarc Apr 7, 2023
6ed96ed
move changing rows into a separate function + more fixes
ajlamarc Apr 7, 2023
7380b4c
fix tsc
ajlamarc Apr 7, 2023
839b5cf
fix editing message state issues
ajlamarc Apr 7, 2023
7d8e746
this isn't an issue anymore. godly
ajlamarc Apr 7, 2023
56ae837
fixed some list stuff as well as editing chat title and not allowing …
drunkplato Apr 8, 2023
690170c
committed in the design-system folder, redoing
drunkplato Apr 8, 2023
67ab55a
more tweaks for the chat
drunkplato Apr 8, 2023
70ad4c2
chat input refactor, still trying to preload tweet measuring
drunkplato Apr 10, 2023
0ef0396
shiftScrollbar
gdbroman Apr 7, 2023
a6cdd63
Fix close attachment btn color
gdbroman Apr 8, 2023
b39d7bc
Keep scrolled to bottom on image send
gdbroman Apr 8, 2023
d280786
Fix ephemeral chat unintentially triggered
gdbroman Apr 7, 2023
7461e7a
Hide cursors that haven't moved for 5 seconds
gdbroman Apr 7, 2023
f5c70f3
fixed most spacing issue, but still need a better twitter height measure
drunkplato Apr 10, 2023
cbec12a
print some secrets
Apr 7, 2023
966224d
fix
Apr 7, 2023
bd4870b
more
Apr 7, 2023
cf56757
more
Apr 7, 2023
6ed5776
more
Apr 7, 2023
29c7d69
more
Apr 7, 2023
f06ab92
add mac build
Apr 7, 2023
a93e34d
add mac build
Apr 7, 2023
7968f78
add mac build
Apr 7, 2023
091a3de
add mac build
Apr 7, 2023
67eab49
add mac build
Apr 7, 2023
4a5aa1b
add mac build
Apr 7, 2023
936471b
more
Apr 7, 2023
fea6958
ignore fancy quit handling if we're auto updating
Apr 7, 2023
89ea15e
another mac build to test auto update
Apr 7, 2023
a769cc7
pre-deploy script now takes object instead of workflowId (string)
Apr 7, 2023
ea26afc
build all platform draft
Apr 7, 2023
a19e09a
bump
Apr 7, 2023
58183d4
remove references to staging in draft build
Apr 7, 2023
345cd6d
renamed draft-build.yml to draft to force trigger
Apr 7, 2023
9018dcb
build skipped linux (draft mode only)
Apr 7, 2023
f56a550
added a setTimeout to scroll to the bottom on list load
drunkplato Apr 10, 2023
71414cf
removed old chat and fixed ShipSearch list width
drunkplato Apr 10, 2023
a4e57a8
removing old files
drunkplato Apr 10, 2023
3e87727
fix lint error and remove more old code
drunkplato Apr 10, 2023
e878075
why are these deleted files back
drunkplato Apr 10, 2023
b55f420
fixed potential null in notifications list
drunkplato Apr 10, 2023
f73a110
apply our preset app configs
ajlamarc Apr 10, 2023
6b69e89
removed courier as a dependency
drunkplato Apr 10, 2023
747b0a2
fixed several details
drunkplato Apr 10, 2023
0bccbd9
merged master
drunkplato Apr 11, 2023
f0a2069
merged new chat changes
drunkplato Apr 11, 2023
445d3c2
merged all the changes from master and from ebuilt-os-process
drunkplato Apr 11, 2023
3951f78
fixed more merge conflicts
drunkplato Apr 11, 2023
34974a3
Merge branch 'master' into passport-friends
ajlamarc Apr 12, 2023
4d38490
Merge branch 'master' of github.com:holium/realm into passport-friends
ajlamarc Apr 12, 2023
0eaa645
working on spaces join workflows currently
drunkplato Apr 12, 2023
98e88b8
handle deletion
ajlamarc Apr 13, 2023
f8d7c7d
add set online status and passport info pokes
ajlamarc Apr 13, 2023
e056a36
working on spaces invite flow now
drunkplato Apr 13, 2023
d4519aa
member flow is pretty much done. invite, kick, accept, decline, etc. …
drunkplato Apr 13, 2023
027f9a6
spaces is done, moving on to bazaar data flows
drunkplato Apr 14, 2023
54b08a9
Merge pull request #1336 from holium/rebuilt-os-process-apps
drunkplato Apr 14, 2023
09fc23b
almost through the integration... just need to get the rest of the ev…
drunkplato Apr 14, 2023
ce1f880
removed logic folder entirely... all theme.ts references are gone. Wa…
drunkplato Apr 14, 2023
d3f80cf
the app windows now work again. still some cleanup and todos left, bu…
drunkplato Apr 15, 2023
6c6e38f
Merge pull request #1434 from holium/rebuilt-os-process-bazaar
drunkplato Apr 15, 2023
f3a0331
preparing to delete files in the os folder
drunkplato Apr 16, 2023
99f0eb6
removed api and original services folder as well as moved logic aroun…
drunkplato Apr 16, 2023
2ff824b
Merge pull request #1440 from holium/rebuilt-os-process-final-pass
drunkplato Apr 16, 2023
c7ef41d
fixed minor issue. mergin master
drunkplato Apr 16, 2023
891b395
massive merge with master is done... hopefully that is the last big o…
drunkplato Apr 16, 2023
4edcd5b
removed courier desk
drunkplato Apr 16, 2023
ea9cfb9
fixed some merge conflicts in the realm desk and got featured spaces …
drunkplato Apr 17, 2023
bc209e9
more cleanup around apptile icons, browser and home screen
drunkplato Apr 17, 2023
0087d36
thinking through versioning more
ajlamarc Apr 18, 2023
df67311
working friends basic w/ mop structure
ajlamarc Apr 18, 2023
ad8d01b
running wip
ajlamarc Apr 18, 2023
6824ac2
store status separately
ajlamarc Apr 18, 2023
c05131d
mock updates
ajlamarc Apr 18, 2023
0734ed5
Merge branch 'rebuilt-os-process' into passport-friends
ajlamarc Apr 20, 2023
022d592
scry mockup
ajlamarc Apr 20, 2023
ac70576
merge rebuilt
ajlamarc Apr 20, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
mostly messing around with comments
  • Loading branch information
ajlamarc committed Apr 9, 2023
commit 05eb07ca5c4189a3691116cc37bb4c085160e2d2
104 changes: 71 additions & 33 deletions desks/realm/app/friends.hoon
Original file line number Diff line number Diff line change
@@ -2,40 +2,50 @@
:: Friend list management within Realm
::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: This agent is heavily documented. It's meant to be an example
:: and reference for writing future Realm agents.
:: Follow the structure shown here whenever possible.
::
:: Principles:
:: - Try to keep line width under 80 characters.
:: To add a ruler in VSCode, see https://stackoverflow.com/a/29972073
:: - Prefer longer variable names.
:: - Avoid hiding logic in library files, besides JSON handlers.
:: - If in an unexpected state, crash with an error message / stack trace.
:: Be as strict as possible, especially on the first pass. Then you'll
:: start to see how state can get corrupted, and can decide on behavior
:: for those situations.
:: - Follow the commenting style shown here and described in
:: https://developers.urbit.org/reference/hoon/style
:: (minus the "boxed in" comments, they are for describing structure).
:: - Follow rune choice, file structure, and other style guidelines in
:: https://www.ajlamarc.com/blog/2023-02-26-urbit-style/
::
:: Q: When do I introduce a new state version?
:: A: Any change in state requires a new state version.
::
:: Q: How do I introduce a new state version?
:: A: Add it to versioned-state, and add a new case to +load.
:: Modify the versioned cores to work alongside the new state version.
:: If this is infeasible,
::
:: ::
:: This agent is heavily documented. It's meant to be an example ::
:: and reference for writing future Realm agents. ::
:: Follow the structure shown here whenever possible. ::
:: ::
:: Principles: ::
:: - Try to keep line width under 80 characters. ::
:: To add a ruler in VSCode, see https://stackoverflow.com/a/29972073 ::
:: - Prefer longer and more descriptive variable names. ::
:: - Avoid hiding logic in library files, besides JSON handlers. ::
:: - If in an unexpected state, crash with an error message / stack trace. ::
:: Be as strict as possible, especially on the first pass. Then you'll ::
:: start to see how state can get corrupted, and can decide on behavior ::
:: for those situations. ::
:: - Follow the commenting style shown here and described in ::
:: https://developers.urbit.org/reference/hoon/style. ::
:: (minus the "boxed in" comments, they are for this guide only). ::
:: - Follow rune choice, file structure, and other style guidelines in ::
:: https://www.ajlamarc.com/blog/2023-02-26-urbit-style/. ::
:: If another code structure could serve better, discuss with the team. ::
:: ::
:: Q: How do I introduce a new state version? ::
:: A: Add it to versioned-state, add a new case to +load, ::
:: and update the sur definitions. ::
:: Modify the versioned cores to work alongside the new state. ::
:: If this is infeasible, remove some of the old versioned cores. ::
:: ::
:: Q: How do I introduce a new mark version? ::
:: A: Add the new sur definitions. Add a new versioned core, ::
:: copying over the previous's logic and making the necessary changes. ::
:: Update the /~/current-version/ scry to latest. ::
:: ::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
/- *friends
/+ verb, dbug, defa=default-agent
|%
::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: ::
:: Define state versioning and other boilerplate ::
:: ::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
+$ versioned-state
$% state-0
state-1
@@ -54,7 +64,9 @@
=| state-2
=* state -
=<
::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: ::
:: Nested core pattern: ::
:: https://developers.urbit.org/blog/nested-core-pattern ::
:: ::
@@ -63,9 +75,22 @@
:: ::
:: This hides the =^ nonsense from the rest of the code. ::
:: ::
:: See also: ::
:: See also for more information / a refresher about Gall: ::
:: https://developers.urbit.org/reference/arvo/gall/gall#arms ::
:: ::
:: ___ __ ::
:: /__/|__ __//| ::
:: |__|/_/|__ _/_|_|| ::
:: |_|___|/_/|__ __/_|___|| ::
:: |___|____|/_/|__ ᕦ( ͡° ͜ʖ ͡°)ᕤ __/_|____|_|| ::
:: |_|___|_____|/_/|_________________________________________/_|_____|___|| ::
:: |___|___|__|___|/__/___/___/___/___/___/___/___/___/___/_|_____|____|_|| ::
:: |_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|| ::
:: |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|_|| ::
:: |_|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|/ ::
:: ::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
|_ =bowl:gall
+* this .
def ~(. (defa this %|) bowl)
@@ -136,22 +161,28 @@
on-leave:def
::
--
::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: CORE: "shared" core that dispatches events ::
:: ::
:: CORE: "shared" core that dispatches events ::
:: to the correct versioned core for handling. ::
:: ::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
|_ [=bowl:gall cards=(list card)]
+* core .
++ abet [(flop cards) state]
++ emit |=(=card core(cards [card cards]))
++ emil |=(new-cards=(list card) core(cards (welp new-cards cards)))
::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: ::
:: +load: handle on-load ::
:: ::
:: Handle transition from old state versions. ::
:: Always upgrade state incrementally. ::
:: From state-0 to state-1, state-1 to state-2, etc. ::
:: This lets you write one state upgrade intead of N. ::
:: Always upgrade state incrementally: ::
:: from state-0 to state-1, state-1 to state-2, etc. ::
:: This lets you write one state transition per update instead of N. ::
:: Multiple upgrades will be handled recursively. ::
:: ::
:: 1. Extract old state from vase ::
@@ -163,7 +194,9 @@
:: Note that state versions move separately from "mark" versions. ::
:: i.e. action-0, update-0, scry /~/0/<...>, etc. ::
:: Hence we handle state versioning here rather than in versioned cores. ::
:: ::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
++ load
|= =vase
^+ core
@@ -212,7 +245,10 @@
::
%2 core(state old)
==
:: +poke: handle on-poke
::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: ::
:: +poke: handle on-poke ::
::
:: Handle push requests from other ships, and our frontend to our ship.
::
@@ -232,6 +268,8 @@
:: Note that we should expect to receive N pokes of the same type.
:: Therefore receiving a poke we've already received should be idempotent,
:: and not produce any cards or effects?
:: ::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
++ poke
|= [=mark =vase]