figcraft/crates/collab/src
bflatastic 6720ea4a21 M9: share with a join code: online through the built-in server or on the local network
The Share popover is one flow: Online (the file is published to the server in
Preferences and the server names its links with short codes) or Local network
(the app hosts; the code carries its address and the session's secret), one
Start sharing button, the code large with Copy code and Copy link, who is here,
can edit / can view, and Stop sharing. Join with a code is one field in the
popover, on the home screen and in the Join dialog, for a code of either kind
or an invite link.

Protocol (within version 2, new variants last): Resolve / Resolved and Admin
code. The server keeps a stretched hash and the wrapped token, never the code,
and limits wrong codes per address (with a lockout) and for everyone. Older
servers leave the links in place of a code; older apps join by link.

collab.share, collab.join {code}, code and share in collab.peers; the server
preference defaults to the built-in server and can be reset or turned off.
2026-10-12 19:42:28 +07:00
..
change.rs M7: dev resources links 2026-10-12 02:30:25 +07:00
client.rs M9: share with a join code: online through the built-in server or on the local network 2026-10-12 19:42:28 +07:00
code.rs M9: share with a join code: online through the built-in server or on the local network 2026-10-12 19:42:28 +07:00
code_tests.rs M9: share with a join code: online through the built-in server or on the local network 2026-10-12 19:42:28 +07:00
codec_tests.rs M9: open hosting mode for public figcraft-server 2026-10-12 11:40:03 +07:00
diff.rs M9: collaboration core: ids, change sets, server ordering, convergence (#103) 2026-10-11 01:03:03 +07:00
diff_tests.rs M9: collaboration core: ids, change sets, server ordering, convergence (#103) 2026-10-11 01:03:03 +07:00
docprops.rs M9: collaboration polish: unique ids for styles, variables and comments; live text carets (#107) 2026-10-11 09:29:30 +07:00
entry_ids_tests.rs M3: styles and variables behaviour suite and fixes 2026-10-12 00:57:43 +07:00
frac.rs M9: collaboration core: ids, change sets, server ordering, convergence (#103) 2026-10-11 01:03:03 +07:00
frac_tests.rs M9: collaboration core: ids, change sets, server ordering, convergence (#103) 2026-10-11 01:03:03 +07:00
history.rs M9: collaboration: per-user undo, rejections, reconnect (#105) 2026-10-11 03:19:24 +07:00
journal_tests.rs M9: standalone collaboration server with share links and permissions (#112) 2026-10-11 10:19:03 +07:00
lib.rs M9: share with a join code: online through the built-in server or on the local network 2026-10-12 19:42:28 +07:00
merge.rs M8: branch version history and finer list merges 2026-10-12 02:30:25 +07:00
merge_list_tests.rs M8: branch version history and finer list merges 2026-10-12 02:30:25 +07:00
merge_tests.rs M9: branches: create, update from main, review and merge (#119) 2026-10-11 12:45:38 +07:00
message.rs M9: share with a join code: online through the built-in server or on the local network 2026-10-12 19:42:28 +07:00
reconnect_tests.rs M9: collaboration: per-user undo, rejections, reconnect (#105) 2026-10-11 03:19:24 +07:00
replica.rs M9: collaboration: per-user undo, rejections, reconnect (#105) 2026-10-11 03:19:24 +07:00
server.rs M9: share with a join code: online through the built-in server or on the local network 2026-10-12 19:42:28 +07:00
server_tests.rs M9: collaboration: per-user undo, rejections, reconnect (#105) 2026-10-11 03:19:24 +07:00
signal_tests.rs M8: cursor chat and spotlight in live sessions 2026-10-12 03:47:34 +07:00
sim.rs M8: cursor chat and spotlight in live sessions 2026-10-12 03:47:34 +07:00
sim_tests.rs M9: collaboration: per-user undo, rejections, reconnect (#105) 2026-10-11 03:19:24 +07:00
undo_tests.rs M9: collaboration: per-user undo, rejections, reconnect (#105) 2026-10-11 03:19:24 +07:00