177 Commits

Author SHA1 Message Date
cyph3rasi 7143f6cfd7 Use the node short description in link preview metadata
Hop-State: A_06FPEC5CSW59V0KHWX0W1ER
Hop-Proposal: R_06FPEC4XSJJ03M62S8AA9P0
Hop-Task: T_06FPEBTP53BQJHKGSPK894G
Hop-Attempt: AT_06FPEBTP50KTCJ3YT789R78
2026-07-15 12:11:11 -07:00
cyph3rasi 0e64b83a99 Auto-follow existing server admins when a new user registers
Hop-State: A_06FPE85XGRGM7FD155BAF78
Hop-Proposal: R_06FPE85ATWMCJ2G1HP9SMZR
Hop-Task: T_06FPE7FQ3T1G2VXH0TY9SR0
Hop-Attempt: AT_06FPE7FQ3RRTGK6K7VYESAR
2026-07-15 11:53:46 -07:00
cyph3rasi a1841c51a7 Prevent local admin profile media from blurring during NSFW node updates
Hop-State: A_06FPE5MS0ZXE3ESZJJ27C98
Hop-Proposal: R_06FPE5KR2QGEVQD0MW8DSZR
Hop-Task: T_06FPE564WJTQYM53WG3W8P8
Hop-Attempt: AT_06FPE564WKTFF688KW6DM80
2026-07-15 11:42:42 -07:00
cyph3rasi 30c917b3a9 Default browser notifications on through a first-login permission prompt with category controls
Hop-State: A_06FPDKC36EGSF1DQQ929QZR
Hop-Proposal: R_06FPDKBGHD5F0RARPQPEGTG
Hop-Task: T_06FPDJYX8ADKQPCJRTD1TS8
Hop-Attempt: AT_06FPDJYX89JABJ674EYANCR
2026-07-15 10:22:52 -07:00
cyph3rasi db5d8faba0 Add opt-in per-device browser notifications for account interactions
Hop-State: A_06FPDJBMCPFBTW71R7MJ6A0
Hop-Proposal: R_06FPDJB4CE0WHS7ZKV9KFS0
Hop-Task: T_06FPDHJ54908E4K96KJA0K0
Hop-Attempt: AT_06FPDHJ54AYSSF1D1H293N0
2026-07-15 10:18:26 -07:00
cyph3rasi c44e33e582 Move admins into the node details card and exclude cached remote profiles from swarm user totals.
Hop-State: A_06FPDF36J60G1A7815FZXV8
Hop-Proposal: R_06FPDF2DBS4W91EHS4C1HHR
Hop-Task: T_06FPDE1JPYKVAHGNQWNSMER
Hop-Attempt: AT_06FPDE1JPWKP9WRN6NFR3A0
2026-07-15 10:04:10 -07:00
cyph3rasi 6d469fd52e Make notification post previews compact and visually balanced
Hop-State: A_06FPDEHMF08FD1WFT8EABK0
Hop-Proposal: R_06FPDEH4YZGSZFY42E0B818
Hop-Task: T_06FPDE8W8A645NYJXGJSC20
Hop-Attempt: AT_06FPDE8W89FZY4QDYJ5N6AR
2026-07-15 10:01:47 -07:00
cyph3rasi 6990568baf Add live network totals for nodes, users, published media, and posts, including local-node counts and media-count federation support.
Hop-State: A_06FPDCRHF0BSN8BDYYXW3ER
Hop-Proposal: R_06FPDCQJTBM7EZK7BXFA8D0
Hop-Task: T_06FPD59337GBJTP7D756FEG
Hop-Attempt: AT_06FPD59337493XRD47TM0H0
2026-07-15 09:53:59 -07:00
cyph3rasi 9e01bff9e8 Remove the redundant back arrow from profile page headers.
Hop-State: A_06FPD7VZJYAPF10Z2W51B0G
Hop-Proposal: R_06FPD7VFZTMBPR7S6Q56GY8
Hop-Task: T_06FPD7P5DK3RZQR7H36JX48
Hop-Attempt: AT_06FPD7P5DHE0XP8VZPBE7G8
2026-07-15 09:32:36 -07:00
cyph3rasi a0b4b3ce2a Allow HTTPS post media in the content security policy and cover it with a regression test.
Hop-State: A_06FPCZJEV5F0C6SP72N2X2G
Hop-Proposal: R_06FPCZHS36HMS1FP567XKN0
Hop-Task: T_06FPCYDXSZGDJRD738J0TJ8
Hop-Attempt: AT_06FPCYDXSZG4P47QJD8GHJG
2026-07-15 08:56:21 -07:00
cyph3rasi 5b697e3f9e Gate storage settings rendering until account storage status is ready
Hop-State: A_06FPCTGM3Q2ZPDN6C6BPVQR
Hop-Proposal: R_06FPCTEQFP5N8419897F3QG
Hop-Task: T_06FPCSTHZSG7HGC71RC8FNR
Hop-Attempt: AT_06FPCSTHZRZPFGE0XP75VKR
2026-07-15 08:34:15 -07:00
cyph3rasi 9dc416b5f5 Make Stuffbox the exclusive media provider and simplify encrypted messaging copy
Hop-State: A_06FPCP16ZEAQDRH1JF5JRZG
Hop-Proposal: R_06FPCP0618KWV4X8SK82048
Hop-Task: T_06FPCM7MFZHQDCR4JBRHMG0
Hop-Attempt: AT_06FPCM7MFW92T7J4T312R08
2026-07-15 08:14:41 -07:00
cyph3rasi 566d79347f Fix federated E2EE delivery when remote node metadata exceeds key lookup limit
Hop-State: A_06FPCJKZ17TQRWHPEDC2R30
Hop-Proposal: R_06FPCJKCFSDGTQJV38RW9AG
Hop-Task: T_06FPCHWGKW3T4JFQZMN4MT8
Hop-Attempt: AT_06FPCHWGKYKYAXA04H4WRY0
2026-07-15 07:59:46 -07:00
cyph3rasi 7bdce4479d Simplify connected Stuffbox storage settings
Hop-State: A_06FPCGQXXSHR3BASHC8H5G8
Hop-Proposal: R_06FPCGQDQKCEKBQ03E8NB2G
Hop-Task: T_06FPCGH4633BAGYCRTC59YR
Hop-Attempt: AT_06FPCGH460G2MMN0Z4WH0X0
2026-07-15 07:51:34 -07:00
cyph3rasi fc4b952aae Fix E2EE chat request storm and make inbox loading local-only
Hop-State: A_06FPCFBG3R2YRJWE6EWP2K0
Hop-Proposal: R_06FPCFA4W3TYWKN560DQTS8
Hop-Task: T_06FPCE0N17V3VENMZWMWWSR
Hop-Attempt: AT_06FPCE0N14C36Q1AM8KYK28
2026-07-15 07:45:30 -07:00
cyph3rasi 97869daed0 Replace Chat compose dead-end spinners with bounded network requests and stable retry/back error recovery
Hop-State: A_06FPC4H813DQ7CC2FH8EW90
Hop-Proposal: R_06FPC4GJZVS16ZX6G5Y1N08
Hop-Task: T_06FPC3561KZXPYN0FRX2B70
Hop-Attempt: AT_06FPC3561JKBTYMC4AQVS1R
2026-07-15 06:58:13 -07:00
cyph3rasi b46be5c076 Reconcile the accepted safe federation helper with E2EE integration hardening and complete PIN-based encrypted DMs
Hop-State: A_06FPC0CGS3F7SJG3BGW0YF0
Hop-Proposal: R_06FPC0BK6YEV7XASNM7C908
Hop-Task: T_06FPAWA3279RBMJAR0BHM10
Hop-Attempt: AT_06FPBZWSBFTB9B5YH9JY9QR
2026-07-15 06:40:06 -07:00
cyph3rasi 219a40bea4 Add DNS-pinned, SSRF-safe E2EE federation HTTP client with bounded transport and focused tests
Hop-State: A_06FPBGR5V0SYEQ98K4B3CK0
Hop-Proposal: R_06FPBGQ08SYCC3FFX60C2WR
Hop-Task: T_06FPBE04RGFEEZ273R2YQWG
Hop-Attempt: AT_06FPBE04RGAW7YS4NVENDKR
2026-07-15 05:31:47 -07:00
cyph3rasi c1f3afa103 Show the liked post in notifications with text or media preview
Hop-State: A_06FPB5RGJ37K5NPB79MT66G
Hop-Proposal: R_06FPB5QJB3W279N6JSGB8R0
Hop-Task: T_06FPB4PW583MAWM13VA1VT8
Hop-Attempt: AT_06FPB4PW5A561YFQGJBWW1G
2026-07-15 04:43:46 -07:00
cyph3rasi 93be1cffd8 Fix repeating Home feeds with timestamp cursors across local and swarm sources, remote profile pagination, duplicate filtering, and in-flight request guards.
Hop-State: A_06FPACHVKP3PTEY7DT6NW1R
Hop-Proposal: R_06FPACGSH34JXPKH7QHAXAR
Hop-Task: T_06FPABDPSJFCRPZSG0PXS9G
Hop-Attempt: AT_06FPABDPSG9CRMFEZ4WC35R
2026-07-15 02:53:38 -07:00
cyph3rasi a7a430a627 Add right-aligned post sharing with chat, copy-link, and native share actions, plus media downloads and mobile-safe action layout.
Hop-State: A_06FPA5BJBEJ930H9MP07GNG
Hop-Proposal: R_06FPA5AQ4HY44EBZAGHH5KG
Hop-Task: T_06FPA3T7TNGR6E7KE0A2ECR
Hop-Attempt: AT_06FPA3T7TN53HDSQHEBWSS8
2026-07-15 02:22:12 -07:00
cyph3rasi 6dd3379fb4 Allow captionless media posts while rejecting truly empty posts
Hop-State: A_06FPA2RFGPJ3QTNYV64F90R
Hop-Proposal: R_06FPA2PG7XQ9EJHPV0AMJHG
Hop-Task: T_06FPA1X78BHAFBEY6GBDNT0
Hop-Attempt: AT_06FPA1X78BRF2NXD1SDAYC0
2026-07-15 02:10:51 -07:00
cyph3rasi 007ca453d2 Add a global floating post button and reusable composer modal
Hop-State: A_06FPA0SKS2W3S1CARQHD1C8
Hop-Proposal: R_06FPA0RRM7YQZ4XK97CBTPR
Hop-Task: T_06FP9Y3D8DT3NEWS9F7PM00
Hop-Attempt: AT_06FP9Y3D8DQE7JTQSMK0DDG
2026-07-15 02:02:16 -07:00
cyph3rasi 848f6f93e0 Make every Synapsis installation register its exact Stuffbox callback automatically, persist the returned public client identity through PKCE, and remove manual operator client setup.
Hop-State: A_06FP9ZHD1XSYW28M9X8V7QR
Hop-Proposal: R_06FP9ZFX5NN6M3YRB1XHX2R
Hop-Task: T_06FP9XCTDAAN1SZZVBD5G5R
Hop-Attempt: AT_06FP9XCTDBN2JFGK1XC6830
2026-07-15 01:56:47 -07:00
cyph3rasi e1a7f5018f Show NSFW-node posts to authenticated local members in Curated and Swarm feeds
Hop-State: A_06FP9V8EJ8CX3VM4D7DDZJR
Hop-Proposal: R_06FP9V7H6GNGX6CFBQN8HER
Hop-Task: T_06FP9TA4HBBMJPF6SDEMEC0
Hop-Attempt: AT_06FP9TA4HBQJXX3KT14FYN0
2026-07-15 01:38:05 -07:00
cyph3rasi 7f8a97ffe2 Add audio attachments with a paperclip composer control and a styled timeline player
Hop-State: A_06FP9RVYP3SNM80AM7SMF98
Hop-Proposal: R_06FP9RTB5CCV1SZR9B7YSY0
Hop-Task: T_06FP9QHMNTRHD9BZ3B4BVMG
Hop-Attempt: AT_06FP9QHMNV944FQ20714908
2026-07-15 01:27:38 -07:00
cyph3rasi d1442dc903 Remove obsolete S3 copy from registration and account import
Hop-State: A_06FP9P0BHYQ8QK6E1XVBSQ8
Hop-Proposal: R_06FP9NZ54ADACR6BW31VY4G
Hop-Task: T_06FP9NKX8NWDARTSRJAJ90G
Hop-Attempt: AT_06FP9NKX8N3EMG60VQMW2MR
2026-07-15 01:15:08 -07:00
cyph3rasi c0b56f646b Block route rendering until auth and NSFW node classification are resolved
Hop-State: A_06FP9N1CECVZN3TAJZTJJ4R
Hop-Proposal: R_06FP9N09YGWW0S9XV4S3XNG
Hop-Task: T_06FP9MBVAVXP6ZRX0VG9RSG
Hop-Attempt: AT_06FP9MBVARDT7GQQ58C9WG0
2026-07-15 01:10:54 -07:00
cyph3rasi be3425994f Hide redundant account NSFW controls on NSFW nodes
Hop-State: A_06FP9K52MYKP328EHYDE018
Hop-Proposal: R_06FP9K42QBKY7ZFP7NX001R
Hop-Task: T_06FP9JMAC3NYKCMJFBPQSM0
Hop-Attempt: AT_06FP9JMAC20R8XKDE9B6M7R
2026-07-15 01:02:40 -07:00
cyph3rasi f435e62220 Show NSFW-node members unblurred media and brand maintenance screens per node
Hop-State: A_06FP9J7X3NRW462MRQP41Z0
Hop-Proposal: R_06FP9J6Q5X4KY348B7CJS28
Hop-Task: T_06FP9GSP35DQFZ5RXET13S0
Hop-Attempt: AT_06FP9GSP348ZKDWV5HCQYPG
2026-07-15 00:58:41 -07:00
cyph3rasi b291c5a453 Blur NSFW profile avatars and banners unless the viewer has enabled NSFW
Hop-State: A_06FP9DH64R0TWDEQST5Z460
Hop-Proposal: R_06FP9DF1AKH8Z9GA7AD24G0
Hop-Task: T_06FP9B65YW8Z4VM9386KDB8
Hop-Attempt: AT_06FP9B65YZ94YY9QS6C6Q38
2026-07-15 00:38:06 -07:00
cyph3rasi c17b27b240 Display repository commit count as the Synapsis version
Hop-State: A_06FP98T1AFPC938R80XJ3J0
Hop-Proposal: R_06FP98S721MFZV1BVBVDTK8
Hop-Task: T_06FP98D0VF530A9XJ2HHHWR
Hop-Attempt: AT_06FP98D0VFKNWCN4EJD46YR
2026-07-15 00:17:28 -07:00
cyph3rasi 67bd0d0bbb Show commit builds and mandate automatic node updates
Hop-State: A_06FP97T67MMQBS4JYJVZ710
Hop-Proposal: R_06FP97R88JYXTBZTNVXV08G
Hop-Task: T_06FP95PNKD7PXAMPWPRWSD8
Hop-Attempt: AT_06FP95PNKE2R52XYNMKVRWG
2026-07-15 00:13:07 -07:00
cyph3rasi cb7070244c Resolve relative node logo paths before swarm announcements
Hop-State: A_06FP959CFWNA2D273CCHP4R
Hop-Proposal: R_06FP957R3SZA57Z7S68VGSG
Hop-Task: T_06FP94T21NC8DA4KTNYN5A8
Hop-Attempt: AT_06FP94T21QZ7GXMYNEQH85G
2026-07-15 00:02:05 -07:00
cyph3rasi 6edf8991fa Repair swarm bootstrap seed for new and existing nodes
Hop-State: A_06FP90SDWE5709BB1G6J4B8
Hop-Proposal: R_06FP90RS27BNBV5H5N053A0
Hop-Task: T_06FP905Q50D1ZFPC56N3DZG
Hop-Attempt: AT_06FP905Q50E6P72ZMVT4038
2026-07-14 23:42:26 -07:00
cyph3rasi 65e901393b Add color-derived blurred side glow behind timeline images
Hop-State: A_06FP8Z3NA8RHHDAGXSGA42R
Hop-Proposal: R_06FP8Z2X1TX81NY6227KPHR
Hop-Task: T_06FP8YSQSSQRHCQ9FVFBJRG
Hop-Attempt: AT_06FP8YSQSRS998YJX8339S8
2026-07-14 23:35:05 -07:00
cyph3rasi 068d6d8bc0 Preserve timeline image aspect ratios while capping extreme heights
Hop-State: A_06FP8XBJG1KAXASRWXBHKSG
Hop-Proposal: R_06FP8XAZCNJPCZJ7TK97X6R
Hop-Task: T_06FP8WKEDCADT9GRPPF08V0
Hop-Attempt: AT_06FP8WKEDETRHWNPKX8G4HR
2026-07-14 23:27:26 -07:00
cyph3rasi b14be97965 Make Stuffbox linking resilient to cross-origin popup isolation and stale callbacks
Hop-State: A_06FP8WHY25K99094H3X60A8
Hop-Proposal: R_06FP8WGCVDDG61H0VZ1XQJR
Hop-Task: T_06FP8V5D2HSJG08NRN6VS3G
Hop-Attempt: AT_06FP8V5D2KATGJNV2M2SGRR
2026-07-14 23:23:56 -07:00
cyph3rasi c6dd550f10 Disable profile, admin, and bot save buttons until form values change
Hop-State: A_06FP8S80Z94HDTEW2N8K9CR
Hop-Proposal: R_06FP8S72ZG4GM11PWB730NG
Hop-Task: T_06FP8RK1EC7TAB7JVYYNAF8
Hop-Attempt: AT_06FP8RK1EE6RYZPXK3WD3Z0
2026-07-14 23:09:28 -07:00
cyph3rasi 1db2933758 Fix NSFW settings by signing client mutations and handling locked identities
Hop-State: A_06FP8RGGWKVFCFAHNJBQWT0
Hop-Proposal: R_06FP8RG166W8E071QG1PYWG
Hop-Task: T_06FP8QVS84N3BR04V6F3GJG
Hop-Attempt: AT_06FP8QVS87X77VCAYKNHKF0
2026-07-14 23:06:16 -07:00
cyph3rasi 1427df4bdc Restrict public swarm participation and propagation to real public ICANN domains
Hop-State: A_06FP8GM0PKJTMF45B7016J0
Hop-Proposal: R_06FP8GKFXXZG84ETVCPS5ZG
Hop-Task: T_06FP8F45T3G4Z4ESW9NZQQR
Hop-Attempt: AT_06FP8F45T3QS81M2ZM4SJ3G
2026-07-14 22:31:47 -07:00
cyph3rasi 988bd8ab38 Prevent email autofill as display name and autosave profile media
Hop-State: A_06FP8EYP9H40CXQH16XPSN8
Hop-Proposal: R_06FP8EY0KW03D22K71DN4KG
Hop-Task: T_06FP8DNXSH7CAHXCHDZ2Z1R
Hop-Attempt: AT_06FP8DNXSKPDEVNXEZRQ5W8
2026-07-14 22:24:30 -07:00
cyph3rasi e50316bbad Prevent false Stuffbox failure when the successful popup closes first
Hop-State: A_06FP8DE7KCCAG4HXZNBATBG
Hop-Proposal: R_06FP8DDKY394CXK69M1Q78R
Hop-Task: T_06FP8D3ECRPSTFC8CT8DZB0
Hop-Attempt: AT_06FP8D3ECRDMQ2HEYDAE7W0
2026-07-14 22:17:53 -07:00
cyph3rasi e8a2dd2979 Update visible node settings immediately after admin saves
Hop-State: A_06FP8ATA10D8VTQA9QBS6KR
Hop-Proposal: R_06FP8ASAVWCYV52CHF5AE1G
Hop-Task: T_06FP8AC8PWCNKR7C8686AXG
Hop-Attempt: AT_06FP8AC8PXWTNRRHT6JBPMG
2026-07-14 22:06:26 -07:00
cyph3rasi 67b96d6725 Fix Stuffbox popup completion and preflight storage before file selection
Hop-State: A_06FP87Y83XVM00YY2RB0X2G
Hop-Proposal: R_06FP87XN1TX5B0CW1ZFDEK8
Hop-Task: T_06FP86NZGXSMEX63FZDAS70
Hop-Attempt: AT_06FP86NZGYZEGPH937G3WK8
2026-07-14 21:53:52 -07:00
cyph3rasi 270d5437f0 Use DiceBear bottts-neutral as the site-wide avatar fallback
Hop-State: A_06FP86GJ50CYTWZ5YZECQ0G
Hop-Proposal: R_06FP86FN4Y59N0Z8828K6W8
Hop-Task: T_06FP85JN26GSWT1GS5G0W20
Hop-Attempt: AT_06FP85JN25ZCGGGSSWN1CTR
2026-07-14 21:47:38 -07:00
cyph3rasi c1647bbcfa Use the standard initial fallback for admin avatars
Hop-State: A_06FP8485FBPD9V1R897TJM8
Hop-Proposal: R_06FP84797EJA3HCPSRYMNBR
Hop-Task: T_06FP83YA5ZFBK9559TB04HR
Hop-Attempt: AT_06FP83YA5YDRTDT0EPMA318
2026-07-14 21:37:44 -07:00
cyph3rasi 25122a8ebd Restyle Media Storage settings and render storage configuration inline
Hop-State: A_06FP83QXM2N0A8C2AXNC3X0
Hop-Proposal: R_06FP83QBS4MX9A1YANYTZ48
Hop-Task: T_06FP8311WS7RGCSMMDQFWB8
Hop-Attempt: AT_06FP8311WT376768DB2VXGR
2026-07-14 21:35:31 -07:00
cyph3rasi 9f0bfb59ab Add Stuffbox account connection, encrypted token lifecycle, direct media uploads, storage settings, and S3 fallback
Hop-State: A_06FP7VQ2F5KZQAY57YEBZV8
Hop-Proposal: R_06FP7VPDD7MJH2Z0013D7SR
Hop-Task: T_06FP7QPNG91NT6WBGJD5MJG
Hop-Attempt: AT_06FP7QPNGAEEAEHP3Q7CNEG
2026-07-14 21:00:27 -07:00
cyph3rasi 752298a405 Defer user-owned S3 setup until first media upload
Hop-State: A_06FP6DP9ENXP2WBSR2YPNA8
Hop-Proposal: R_06FP6DM6S5P96EFX90PH2F8
Hop-Task: T_06FP6C52Z3JHQBQ5XNNHZ3R
Hop-Attempt: AT_06FP6C52Z14V6CZJQTJN4PR
2026-07-14 17:39:22 -07:00