fedipod-server 0.21.0 → 0.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -4
- package/dist/claims.d.ts +3 -1
- package/dist/claims.js +20 -7
- package/dist/components/context.jsonld +6 -0
- package/dist/handler.d.ts +29 -1
- package/dist/handler.js +89 -4
- package/dist/handler.jsonld +36 -1
- package/lib/client/c2s.mjs +100 -3
- package/lib/client/masto/accounts.mjs +44 -4
- package/lib/client/masto/body.mjs +90 -3
- package/lib/client/masto/index.mjs +5 -1
- package/lib/client/masto/instance.mjs +11 -3
- package/lib/client/masto/media.mjs +3 -57
- package/lib/client/masto/oauth.mjs +66 -9
- package/lib/client/masto/render.mjs +62 -5
- package/lib/client/masto/statuses.mjs +25 -1
- package/lib/client/masto/timelines.mjs +128 -6
- package/lib/connections/tagfeed.mjs +42 -5
- package/lib/core/as2.mjs +36 -5
- package/lib/core/contexts/index.mjs +14 -0
- package/lib/core/contexts/litepub-0.1.json +60 -0
- package/lib/core/contexts/map.json +3 -1
- package/lib/core/contexts/quotes.json +18 -0
- package/lib/core/graphview.mjs +41 -3
- package/lib/core/intake/activities.mjs +136 -2
- package/lib/core/intake/activity.mjs +79 -1
- package/lib/core/intake/group.mjs +37 -3
- package/lib/core/intake/index.mjs +32 -2
- package/lib/core/intake/notes.mjs +60 -3
- package/lib/core/lease.mjs +12 -2
- package/lib/core/profile-page.mjs +104 -0
- package/lib/core/publisher/collections.mjs +6 -1
- package/lib/core/publisher/index.mjs +35 -17
- package/lib/core/publisher/notes.mjs +104 -3
- package/lib/core/shapes/activitystreams.ttl +28 -0
- package/lib/core/shapes/index.mjs +26 -1
- package/lib/core/wire-quotes.mjs +71 -0
- package/lib/core/wire.mjs +59 -103
- package/lib/device/admin/routes/lifecycle.mjs +9 -0
- package/lib/device/admin/static.mjs +4 -1
- package/lib/device/admin/surface.mjs +26 -2
- package/lib/device/certs.mjs +18 -2
- package/lib/device/cli/commands/setup.mjs +6 -2
- package/lib/device/cli/commands/state.mjs +3 -1
- package/lib/device/gateway-move.mjs +58 -0
- package/lib/device/migrate.mjs +3 -1
- package/lib/device/setup.mjs +67 -7
- package/lib/gateway/front-core.mjs +307 -36
- package/lib/gateway/gateway-core.mjs +15 -6
- package/lib/gateway/notices.mjs +84 -0
- package/lib/gateway/quiet.mjs +184 -0
- package/lib/pod/root.mjs +6 -3
- package/lib/pod/state.mjs +8 -7
- package/lib/pod/transport.mjs +5 -1
- package/lib/session/README.md +123 -0
- package/lib/session/demo.html +94 -0
- package/lib/session/fedi-account.mjs +346 -0
- package/lib/session/fedi-login.mjs +123 -0
- package/lib/session/oidc-session.mjs +233 -0
- package/lib/session/package.json +41 -0
- package/package.json +1 -1
- package/run-agent.mjs +28 -0
- package/vendor/gate.cjs +6 -3
- package/web/admin/bar.css +66 -0
- package/web/admin/bar.js +38 -0
- package/web/admin/client/index.html +31 -3
- package/web/admin/client-pick.js +79 -0
- package/web/admin/gateway.js +22 -0
- package/web/admin/index.html +54 -13
- package/web/admin/notices-bar.js +90 -0
- package/web/admin/oauth-signin.mjs +37 -0
- package/web/admin/record.js +13 -1
- package/web/admin/setup/index.html +31 -3
- package/web/admin/tokens.css +15 -3
- package/web/admin/upkeep.js +4 -5
- package/web/app/README.md +14 -10
- package/web/app/admin-facade.mjs +51 -12
- package/web/app/agent.mjs +157 -19
- package/web/app/authorize_interaction.html +56 -0
- package/web/app/authorize_interaction.js +69 -0
- package/web/app/boot.mjs +233 -95
- package/web/app/dist/boot.js +477 -569
- package/web/app/dist/boot.js.map +4 -4
- package/web/app/dist/sw.js +1861 -532
- package/web/app/dist/sw.js.map +4 -4
- package/web/app/gateway-move.mjs +60 -0
- package/web/app/index.html +40 -49
- package/web/app/keys-browser.mjs +12 -15
- package/web/app/keystore.mjs +19 -36
- package/web/app/oidc-session.mjs +5 -188
- package/web/app/signup.mjs +172 -132
- package/web/app/sw-src.mjs +1 -1
- package/web/app/update.js +66 -0
- package/web/front/admin.html +5 -3
- package/web/front/new-account.html +2 -2
- package/web/front/notices.html +69 -0
- package/web/front/notices.js +107 -0
- package/web/front/run.html +15 -8
- package/web/front/run.js +124 -36
- package/web/icons/forum.svg +11 -0
- package/web/icons/gateway.svg +14 -0
- package/web/icons/local.svg +11 -0
- package/web/app/index.html~ +0 -152
- package/web/app/site/_headers +0 -9
- package/web/app/site/_redirects +0 -22
- package/web/app/site/admin/actors.js +0 -145
- package/web/app/site/admin/bar.css +0 -60
- package/web/app/site/admin/bar.js +0 -61
- package/web/app/site/admin/client/client.js +0 -66
- package/web/app/site/admin/client/index.html +0 -43
- package/web/app/site/admin/common.js +0 -23
- package/web/app/site/admin/connections.js +0 -112
- package/web/app/site/admin/gateway.js +0 -111
- package/web/app/site/admin/group.js +0 -258
- package/web/app/site/admin/index.html +0 -564
- package/web/app/site/admin/record.js +0 -378
- package/web/app/site/admin/setup/index.html +0 -215
- package/web/app/site/admin/setup/setup.js +0 -326
- package/web/app/site/admin/tokens.css +0 -56
- package/web/app/site/admin/upkeep.js +0 -178
- package/web/app/site/admin/window.css +0 -55
- package/web/app/site/admin/window.js +0 -136
- package/web/app/site/app/404.html +0 -40
- package/web/app/site/app/_headers +0 -2
- package/web/app/site/app/apple-touch-icon.png +0 -0
- package/web/app/site/app/assets/ICONS-DIPJeU0C.js +0 -2
- package/web/app/site/app/assets/ICONS-DIPJeU0C.js.map +0 -1
- package/web/app/site/app/assets/ScheduledAtField-D-Abfo4J.js +0 -183
- package/web/app/site/app/assets/ScheduledAtField-D-Abfo4J.js.map +0 -1
- package/web/app/site/app/assets/Temml-CCjoacWt.woff2 +0 -0
- package/web/app/site/app/assets/__vite-browser-external-C7iut881.js +0 -2
- package/web/app/site/app/assets/__vite-browser-external-C7iut881.js.map +0 -1
- package/web/app/site/app/assets/boosts-carousel-BiOaNdMT.jpg +0 -0
- package/web/app/site/app/assets/catch-up-O5q5C75Z.png +0 -0
- package/web/app/site/app/assets/chunk-aKtaBQYM.js +0 -1
- package/web/app/site/app/assets/compose-CFEx7wb4.js +0 -2
- package/web/app/site/app/assets/compose-CFEx7wb4.js.map +0 -1
- package/web/app/site/app/assets/compose-ZJN5xSb4.js +0 -35
- package/web/app/site/app/assets/compose-ZJN5xSb4.js.map +0 -1
- package/web/app/site/app/assets/debug.module-YFQgwnIr.js +0 -52
- package/web/app/site/app/assets/debug.module-YFQgwnIr.js.map +0 -1
- package/web/app/site/app/assets/dom-p1YcJ5Rw.js +0 -2
- package/web/app/site/app/assets/dom-p1YcJ5Rw.js.map +0 -1
- package/web/app/site/app/assets/home-mobile-dark@2x-Dc-J8-SM.png +0 -0
- package/web/app/site/app/assets/home-mobile-light@2x-Bd3fod8m.png +0 -0
- package/web/app/site/app/assets/home-tablet-dark@2x-BgcNI8le.png +0 -0
- package/web/app/site/app/assets/home-tablet-light@2x-BW2RV9T6.png +0 -0
- package/web/app/site/app/assets/icons/add-circle-line-WD0mwORD.js +0 -1
- package/web/app/site/app/assets/icons/alert-line-CpFUMf9s.js +0 -1
- package/web/app/site/app/assets/icons/android-2-line-Bzxnrd3S.js +0 -1
- package/web/app/site/app/assets/icons/announcement-line-5nwaJFJm.js +0 -1
- package/web/app/site/app/assets/icons/arrow-down-circle-line-a7Id9-Iv.js +0 -1
- package/web/app/site/app/assets/icons/arrow-down-line-B8uzXzq6.js +0 -1
- package/web/app/site/app/assets/icons/arrow-left-line-CGrGT9C-.js +0 -1
- package/web/app/site/app/assets/icons/arrow-right-line-CE-HERfX.js +0 -1
- package/web/app/site/app/assets/icons/arrow-to-up-line-CvdQjmcy.js +0 -1
- package/web/app/site/app/assets/icons/arrow-up-circle-line-DEparSNF.js +0 -1
- package/web/app/site/app/assets/icons/arrow-up-line-C7yBeugc.js +0 -1
- package/web/app/site/app/assets/icons/arrows-right-line-BtbXmJGP.js +0 -1
- package/web/app/site/app/assets/icons/at-line-CF66Bznk.js +0 -1
- package/web/app/site/app/assets/icons/attachment-line-BY8It-l9.js +0 -1
- package/web/app/site/app/assets/icons/blockquote-line-BS6pU_hm.js +0 -1
- package/web/app/site/app/assets/icons/board-line-C0UWXyA6.js +0 -1
- package/web/app/site/app/assets/icons/bookmark-line-1CtX5JLF.js +0 -1
- package/web/app/site/app/assets/icons/building-5-line-Dd59MzbO.js +0 -1
- package/web/app/site/app/assets/icons/bus-2-line-6_dvA0GG.js +0 -1
- package/web/app/site/app/assets/icons/calendar-day-line-Crpl_fmu.js +0 -1
- package/web/app/site/app/assets/icons/calendar-month-line-vommts2C.js +0 -1
- package/web/app/site/app/assets/icons/calendar-time-add-line-BU_DTlQk.js +0 -1
- package/web/app/site/app/assets/icons/camera-line-Cv69MEei.js +0 -1
- package/web/app/site/app/assets/icons/celebrate-line-B8DvIoi0.js +0 -1
- package/web/app/site/app/assets/icons/chart-bar-line-FK-QOmtF.js +0 -1
- package/web/app/site/app/assets/icons/chart-line-line-BGcJAFWw.js +0 -1
- package/web/app/site/app/assets/icons/chat-3-line-YFK2-hwz.js +0 -1
- package/web/app/site/app/assets/icons/check-circle-line-DsAxFr5-.js +0 -1
- package/web/app/site/app/assets/icons/clipboard-line-BBp364gJ.js +0 -1
- package/web/app/site/app/assets/icons/close-circle-line-CICdiuGz.js +0 -1
- package/web/app/site/app/assets/icons/close-line-DYrFWcjv.js +0 -1
- package/web/app/site/app/assets/icons/cloud-line-tiQAbah8.js +0 -1
- package/web/app/site/app/assets/icons/code-line-fAl8iiV3.js +0 -1
- package/web/app/site/app/assets/icons/comment-2-line-CR3g7WeB.js +0 -1
- package/web/app/site/app/assets/icons/copy-2-line-CLW69yF5.js +0 -1
- package/web/app/site/app/assets/icons/delete-2-line-B8xmbr4n.js +0 -1
- package/web/app/site/app/assets/icons/document-3-line-DBGNhAg2.js +0 -1
- package/web/app/site/app/assets/icons/document-line-C7mb9sb7.js +0 -1
- package/web/app/site/app/assets/icons/down-line-BGqSSThd.js +0 -1
- package/web/app/site/app/assets/icons/edit-4-line-DcgGaEhx.js +0 -1
- package/web/app/site/app/assets/icons/emoji-2-line-D8YgnM-y.js +0 -1
- package/web/app/site/app/assets/icons/exit-line-Dc07BS-x.js +0 -1
- package/web/app/site/app/assets/icons/external-link-line-BvpSkmjO.js +0 -1
- package/web/app/site/app/assets/icons/eye-2-line-CiWXx-f_.js +0 -1
- package/web/app/site/app/assets/icons/eye-close-line-BgTaSJ4P.js +0 -1
- package/web/app/site/app/assets/icons/filter-2-line-B_mR2usy.js +0 -1
- package/web/app/site/app/assets/icons/filter-line-C_nm-3cU.js +0 -1
- package/web/app/site/app/assets/icons/flag-1-line-C2HB05I0.js +0 -1
- package/web/app/site/app/assets/icons/forbid-circle-line-D3LTT9yd.js +0 -1
- package/web/app/site/app/assets/icons/formula-line-DLrt2d6j.js +0 -1
- package/web/app/site/app/assets/icons/grid-line-CgUmEikf.js +0 -1
- package/web/app/site/app/assets/icons/group-line-C5fnX0wU.js +0 -1
- package/web/app/site/app/assets/icons/hand-finger-2-line-BGgxbuL9.js +0 -1
- package/web/app/site/app/assets/icons/hashtag-line-CyTEEXBb.js +0 -1
- package/web/app/site/app/assets/icons/heart-crack-line-BZddbO2C.js +0 -1
- package/web/app/site/app/assets/icons/heart-line-CJ7K47J4.js +0 -1
- package/web/app/site/app/assets/icons/history-2-line-kWWvFzqv.js +0 -1
- package/web/app/site/app/assets/icons/history-line-bGQiwbTH.js +0 -1
- package/web/app/site/app/assets/icons/home-3-line-fRU1zeLG.js +0 -1
- package/web/app/site/app/assets/icons/information-line-iNk6-sOY.js +0 -1
- package/web/app/site/app/assets/icons/keyboard-line-DsCyuQNz.js +0 -1
- package/web/app/site/app/assets/icons/layout-4-line-CZkOX52Z.js +0 -1
- package/web/app/site/app/assets/icons/layout-5-line-B_znt5wO.js +0 -1
- package/web/app/site/app/assets/icons/left-line-eUw0tya4.js +0 -1
- package/web/app/site/app/assets/icons/lightning-line-DaKoDdix.js +0 -1
- package/web/app/site/app/assets/icons/link-2-line-DCqLmMA7.js +0 -1
- package/web/app/site/app/assets/icons/list-check-line-BAxosBh9.js +0 -1
- package/web/app/site/app/assets/icons/lock-line-CPoaXeUW.js +0 -1
- package/web/app/site/app/assets/icons/mail-line-B0P8aa1L.js +0 -1
- package/web/app/site/app/assets/icons/moon-line-CEqNAToP.js +0 -1
- package/web/app/site/app/assets/icons/more-1-fill-Dw2e5xab.js +0 -1
- package/web/app/site/app/assets/icons/more-3-line-BIiVjYTz.js +0 -1
- package/web/app/site/app/assets/icons/notification-line-BZZq2Gtu.js +0 -1
- package/web/app/site/app/assets/icons/pencil-line-CKh8-A1v.js +0 -1
- package/web/app/site/app/assets/icons/photo-album-line-Bnfg2u40.js +0 -1
- package/web/app/site/app/assets/icons/pin-line-DpTolyhs.js +0 -1
- package/web/app/site/app/assets/icons/play-fill-B0-G_8lX.js +0 -1
- package/web/app/site/app/assets/icons/qrcode-2-line-B6SPCaHn.js +0 -1
- package/web/app/site/app/assets/icons/quill-pen-line-B6LUrnCP.js +0 -1
- package/web/app/site/app/assets/icons/quote-left-fill-hQZ1cj_6.js +0 -1
- package/web/app/site/app/assets/icons/radar-line-CKyroTth.js +0 -1
- package/web/app/site/app/assets/icons/react-line-CoIKhhtK.js +0 -1
- package/web/app/site/app/assets/icons/refresh-2-line-D0mTF97S.js +0 -1
- package/web/app/site/app/assets/icons/right-line-B3KWJaqc.js +0 -1
- package/web/app/site/app/assets/icons/rocket-line-4KZl537D.js +0 -1
- package/web/app/site/app/assets/icons/round-fill-C69NTrZ0.js +0 -1
- package/web/app/site/app/assets/icons/round-line-B9k_1uo-.js +0 -1
- package/web/app/site/app/assets/icons/route-line-B28ReHcE.js +0 -1
- package/web/app/site/app/assets/icons/rows-4-line-CrBniagM.js +0 -1
- package/web/app/site/app/assets/icons/scan-line-DSf74YdP.js +0 -1
- package/web/app/site/app/assets/icons/search-2-line-B6geIU1z.js +0 -1
- package/web/app/site/app/assets/icons/settings-3-line-azJwK47w.js +0 -1
- package/web/app/site/app/assets/icons/settings-6-line-C_5zc5YR.js +0 -1
- package/web/app/site/app/assets/icons/share-2-line-D5MxWjrm.js +0 -1
- package/web/app/site/app/assets/icons/share-forward-line-Cp61fZzZ.js +0 -1
- package/web/app/site/app/assets/icons/sparkles-2-line-DYYyXTaW.js +0 -1
- package/web/app/site/app/assets/icons/sparkles-line-C2hY1s6I.js +0 -1
- package/web/app/site/app/assets/icons/time-line-BF3eet1v.js +0 -1
- package/web/app/site/app/assets/icons/transfer-4-line-oisfvTBw.js +0 -1
- package/web/app/site/app/assets/icons/translate-line-BFWol2Ce.js +0 -1
- package/web/app/site/app/assets/icons/unlock-line-X_x5vwv3.js +0 -1
- package/web/app/site/app/assets/icons/upload-3-line-DgzwUJeW.js +0 -1
- package/web/app/site/app/assets/icons/user-4-line-BVSynZCp.js +0 -1
- package/web/app/site/app/assets/icons/user-add-2-line-BlGS5Q8q.js +0 -1
- package/web/app/site/app/assets/icons/user-add-line-BbXdHG4z.js +0 -1
- package/web/app/site/app/assets/icons/user-edit-line-BFAHOV0X.js +0 -1
- package/web/app/site/app/assets/icons/user-follow-line-BXux0wSd.js +0 -1
- package/web/app/site/app/assets/icons/user-star-line-DdYlpHLU.js +0 -1
- package/web/app/site/app/assets/icons/user-warning-line-Cj43j0_E.js +0 -1
- package/web/app/site/app/assets/icons/user-x-line-DIDgNlPH.js +0 -1
- package/web/app/site/app/assets/icons/volume-line-Bs390KQt.js +0 -1
- package/web/app/site/app/assets/icons/volume-mute-line-DzlzIqFZ.js +0 -1
- package/web/app/site/app/assets/icons/walk-line-yNXfB-md.js +0 -1
- package/web/app/site/app/assets/icons/world-2-line-CenkGIwj.js +0 -1
- package/web/app/site/app/assets/icons/zoom-in-line-CaENUphf.js +0 -1
- package/web/app/site/app/assets/icons/zoom-out-line-BDNk0EWo.js +0 -1
- package/web/app/site/app/assets/instances-BNPptnn-.json +0 -333
- package/web/app/site/app/assets/locales/ar-SA-CfheRbCu.js +0 -1
- package/web/app/site/app/assets/locales/ca-ES-DHRW86Tz.js +0 -1
- package/web/app/site/app/assets/locales/cs-CZ-CKoqEuA1.js +0 -1
- package/web/app/site/app/assets/locales/de-DE-ByRPMRFy.js +0 -1
- package/web/app/site/app/assets/locales/eo-UY-CPC7wLCS.js +0 -1
- package/web/app/site/app/assets/locales/es-ES-dJa0Fd9t.js +0 -1
- package/web/app/site/app/assets/locales/eu-ES-C3djlPR2.js +0 -1
- package/web/app/site/app/assets/locales/fa-IR-DTT490Ck.js +0 -1
- package/web/app/site/app/assets/locales/fi-FI-B23MCPuz.js +0 -1
- package/web/app/site/app/assets/locales/fr-FR-BcaQsO5C.js +0 -1
- package/web/app/site/app/assets/locales/gl-ES-BR-CVKBN.js +0 -1
- package/web/app/site/app/assets/locales/he-IL-CfheRbCu.js +0 -1
- package/web/app/site/app/assets/locales/hu-HU-CfheRbCu.js +0 -1
- package/web/app/site/app/assets/locales/it-IT-C1136UFV.js +0 -1
- package/web/app/site/app/assets/locales/ja-JP-CRZmRAhD.js +0 -1
- package/web/app/site/app/assets/locales/kab-Cz8xH_TT.js +0 -1
- package/web/app/site/app/assets/locales/ko-KR-CG9UiY4o.js +0 -1
- package/web/app/site/app/assets/locales/lt-LT-CJcI6sHZ.js +0 -1
- package/web/app/site/app/assets/locales/nb-NO-CfheRbCu.js +0 -1
- package/web/app/site/app/assets/locales/nl-NL-DxN4Yc1t.js +0 -1
- package/web/app/site/app/assets/locales/oc-FR-CfheRbCu.js +0 -1
- package/web/app/site/app/assets/locales/pl-PL-DkwGXf6P.js +0 -1
- package/web/app/site/app/assets/locales/pseudo-LOCALE-CQ4XxkQ0.js +0 -1
- package/web/app/site/app/assets/locales/pt-BR-nGL0HdFS.js +0 -1
- package/web/app/site/app/assets/locales/pt-PT-Cp17aj2z.js +0 -1
- package/web/app/site/app/assets/locales/ru-RU-0Y8cIoaK.js +0 -1
- package/web/app/site/app/assets/locales/th-TH-CfheRbCu.js +0 -1
- package/web/app/site/app/assets/locales/tok-CfheRbCu.js +0 -1
- package/web/app/site/app/assets/locales/tr-TR-CfheRbCu.js +0 -1
- package/web/app/site/app/assets/locales/uk-UA-C5E3dFBf.js +0 -1
- package/web/app/site/app/assets/locales/zh-CN-BHJi7_et.js +0 -1
- package/web/app/site/app/assets/locales/zh-TW-CfheRbCu.js +0 -1
- package/web/app/site/app/assets/main-BdqNbG-a.js +0 -26
- package/web/app/site/app/assets/main-BdqNbG-a.js.map +0 -1
- package/web/app/site/app/assets/mock-home-DGhR__He.js +0 -2
- package/web/app/site/app/assets/mock-home-DGhR__He.js.map +0 -1
- package/web/app/site/app/assets/multi-column-ROck0NVt.jpg +0 -0
- package/web/app/site/app/assets/multi-hashtag-timeline-DH5INVHi.jpg +0 -0
- package/web/app/site/app/assets/nested-comments-thread-hv59kZLc.jpg +0 -0
- package/web/app/site/app/assets/polyfill-force-H8sUkLGp.js +0 -2
- package/web/app/site/app/assets/polyfill-force-H8sUkLGp.js.map +0 -1
- package/web/app/site/app/assets/pwa-viewport-ogKbF51K.js +0 -20
- package/web/app/site/app/assets/pwa-viewport-ogKbF51K.js.map +0 -1
- package/web/app/site/app/assets/style-B1iLPTPR.css +0 -2
- package/web/app/site/app/assets/temml-DuyIQMei.js +0 -97
- package/web/app/site/app/assets/temml-DuyIQMei.js.map +0 -1
- package/web/app/site/app/assets/tinyld.light.node-DtbBhLYC.js +0 -2
- package/web/app/site/app/assets/tinyld.light.node-DtbBhLYC.js.map +0 -1
- package/web/app/site/app/assets/year-in-posts-B2lywqdx.png +0 -0
- package/web/app/site/app/assets/year-in-posts-DJv_star.js +0 -3
- package/web/app/site/app/assets/year-in-posts-DJv_star.js.map +0 -1
- package/web/app/site/app/compose/index.html +0 -20
- package/web/app/site/app/favicon.ico +0 -0
- package/web/app/site/app/index.html +0 -73
- package/web/app/site/app/logo-192.png +0 -0
- package/web/app/site/app/logo-512.png +0 -0
- package/web/app/site/app/logo-badge-72.png +0 -0
- package/web/app/site/app/logo-maskable-512.png +0 -0
- package/web/app/site/app/logo-monochrome-512.png +0 -0
- package/web/app/site/app/logo-monochrome-maskable-512.png +0 -0
- package/web/app/site/app/manifest.webmanifest +0 -1
- package/web/app/site/app/og-image-2.jpg +0 -0
- package/web/app/site/app/og-image.png +0 -0
- package/web/app/site/app/robots.txt +0 -2
- package/web/app/site/app/version.json +0 -1
- package/web/app/site/boot.js +0 -34277
- package/web/app/site/index.html +0 -251
- package/web/app/site/sw.js +0 -71331
package/web/app/site/index.html
DELETED
|
@@ -1,251 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
|
-
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; connect-src 'self' https:; form-action 'self'; base-uri 'none'">
|
|
7
|
-
<title>FediPod</title>
|
|
8
|
-
<style>
|
|
9
|
-
:root {
|
|
10
|
-
color-scheme: light dark;
|
|
11
|
-
font-size: 125%; /* 20px default (125% of 16) */
|
|
12
|
-
--bg: #ffffff; --fg: #1a1a1a;
|
|
13
|
-
--heading: #123f74; --sub: #565656; --line: #b0b0b0; --accent: #12467e;
|
|
14
|
-
--btn: #3a5f43; --btn-hover: #30503a; --btn-text: #ffffff;
|
|
15
|
-
--field-bg: #ececec; --field-text: #141414; --field-border: #6f6f6f;
|
|
16
|
-
--select-bg: #dce7f3; --select-border: #12467e;
|
|
17
|
-
--err: #b00020; --warn: #8a4b00; --focus: #12467e;
|
|
18
|
-
}
|
|
19
|
-
@media (prefers-color-scheme: dark) {
|
|
20
|
-
:root {
|
|
21
|
-
--bg: #191919; --fg: #f3f3f3;
|
|
22
|
-
--heading: #8fc2f2; --sub: #d2d2d2; --line: #6d6d6d; --accent: #8fc2f2;
|
|
23
|
-
--field-bg: #474747; --field-text: #f5f5f5; --field-border: #9aa0a6;
|
|
24
|
-
--select-bg: #2f4a66; --select-border: #8fc2f2;
|
|
25
|
-
--btn: #4a7a54; --btn-hover: #3f6a49;
|
|
26
|
-
--err: #ff9b9b; --warn: #ffb366; --focus: #8fc2f2;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
body { font: 1rem/1.55 system-ui, sans-serif; margin: 0; background: var(--bg); color: var(--fg); }
|
|
30
|
-
#page { max-width: 42rem; margin: 0 auto; padding: 1.75rem 1rem 4rem; box-sizing: border-box; }
|
|
31
|
-
h1, h2, h3 { color: var(--heading); }
|
|
32
|
-
h1 { font-size: 1.6rem; margin: 0 0 .5rem; }
|
|
33
|
-
#brand { margin: 0 0 1.25rem; }
|
|
34
|
-
h2 { font-size: 1.2rem; margin: 2rem 0 .5rem; }
|
|
35
|
-
p { margin: .6rem 0; }
|
|
36
|
-
code { background: rgba(120,120,120,.18); padding: .05em .35em; border-radius: 4px; }
|
|
37
|
-
.sub { color: var(--sub); margin-top: 0; }
|
|
38
|
-
.hint { color: var(--sub); font-size: .95rem; margin: .15rem 0 0; } /* ~17px, never under 16 */
|
|
39
|
-
.grouplabel { display: block; margin: .75rem 0 .2rem; font-weight: 600; }
|
|
40
|
-
fieldset { border: 1px solid var(--line); border-radius: .4rem; margin: 1rem 0; padding: .75rem 1rem 1rem; }
|
|
41
|
-
legend { padding: 0 .3rem; font-weight: 600; }
|
|
42
|
-
label { display: block; margin: .75rem 0 .2rem; }
|
|
43
|
-
input[type=text], input[type=email], input[type=url], input[type=password], select {
|
|
44
|
-
font: inherit; font-size: 1rem; width: 100%; padding: .55rem; box-sizing: border-box;
|
|
45
|
-
border: 1px solid var(--field-border); border-radius: .3rem;
|
|
46
|
-
background: var(--field-bg); color: var(--field-text); }
|
|
47
|
-
/* A list to pick from looks different from a box to type in: its own tint,
|
|
48
|
-
the accent border, and the same on its options. */
|
|
49
|
-
select { background: var(--select-bg); border-color: var(--select-border); }
|
|
50
|
-
select option { background: var(--select-bg); color: var(--field-text); }
|
|
51
|
-
::placeholder { color: var(--sub); opacity: 1; }
|
|
52
|
-
.choice { display: block; margin: .4rem 0; font-weight: normal; }
|
|
53
|
-
.choice input { margin-right: .5rem; width: auto; }
|
|
54
|
-
button { font: inherit; font-size: 1rem; padding: .6rem 1.3rem; border-radius: .4rem;
|
|
55
|
-
border: 1px solid var(--btn); background: var(--btn); color: var(--btn-text);
|
|
56
|
-
font-weight: 600; cursor: pointer; }
|
|
57
|
-
button:hover { background: var(--btn-hover); border-color: var(--btn-hover); }
|
|
58
|
-
button.primary { font-weight: 700; }
|
|
59
|
-
button:disabled { opacity: .55; cursor: default; }
|
|
60
|
-
#create { margin-bottom: 2rem; }
|
|
61
|
-
:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
|
|
62
|
-
.row { display: flex; gap: .5rem; align-items: center; }
|
|
63
|
-
.row input { flex: 1; }
|
|
64
|
-
.row button { white-space: nowrap; }
|
|
65
|
-
.address { font-size: 1.25rem; font-weight: 700; word-break: break-all; color: var(--fg); }
|
|
66
|
-
.warn { border-left: .25rem solid var(--warn); padding-left: .75rem; color: var(--warn); }
|
|
67
|
-
.err { border-left: .25rem solid var(--err); padding-left: .75rem; color: var(--err); }
|
|
68
|
-
.err:empty { display: none; }
|
|
69
|
-
.steps { list-style: none; padding: 0; }
|
|
70
|
-
.steps li { padding: .3rem 0; }
|
|
71
|
-
a { color: var(--accent); }
|
|
72
|
-
[hidden] { display: none !important; }
|
|
73
|
-
</style>
|
|
74
|
-
</head>
|
|
75
|
-
<body>
|
|
76
|
-
<main id="page">
|
|
77
|
-
|
|
78
|
-
<!-- The marketing hero: shown on the landing, hidden once a form is up. -->
|
|
79
|
-
<header id="hero">
|
|
80
|
-
<h1>FediPod - join the Fediverse from a Solid pod.</h1>
|
|
81
|
-
<p>Welcome to <b>fedipod.net</b>! By creating an account here, you can get a free Solid pod
|
|
82
|
-
and Fediverse identity or link to your existing pod/identity. Your fedipod.net
|
|
83
|
-
account provides you a portal to the Fediverse and filters unverified mail.</p>
|
|
84
|
-
|
|
85
|
-
<p>There is nothing to install, once you've setup an account, just point any browser at
|
|
86
|
-
<code>https://fedipod.net</code> and sign in.</p>
|
|
87
|
-
</header>
|
|
88
|
-
|
|
89
|
-
<!-- The short brand: shown only when a form is up, so the form stands alone. -->
|
|
90
|
-
<h1 id="brand" hidden>FediPod</h1>
|
|
91
|
-
|
|
92
|
-
<p id="loading" role="status">Loading…</p>
|
|
93
|
-
|
|
94
|
-
<section id="landing" hidden>
|
|
95
|
-
<h2>Already have a FediPod account?</h2>
|
|
96
|
-
<p class="row">
|
|
97
|
-
<input type="text" id="signin-address" autocomplete="username" autocapitalize="off" spellcheck="false" placeholder="@me@mypod"
|
|
98
|
-
aria-label="Your FediPod address, in the form @you@yourpod">
|
|
99
|
-
<button type="button" class="primary" id="signin">sign in</button>
|
|
100
|
-
</p>
|
|
101
|
-
<p class="err" id="signin-error" role="alert"></p>
|
|
102
|
-
<h2>New user?</h2>
|
|
103
|
-
<p><button type="button" class="primary" id="create">create an account</button></p>
|
|
104
|
-
<p>Fedipod.net is a FediPod Gateway operated by Jeff Zucker. You can detach from the gateway at any
|
|
105
|
-
time and transfer your account either to your own FediPod Gateway (easy to set up on a free tier Netlify)
|
|
106
|
-
or to any Fediverse server. All of your data lives on your pod and your Fediverse identity is yours
|
|
107
|
-
forever independent of which gateway you attach to.</p>
|
|
108
|
-
<p>For more information, see
|
|
109
|
-
<a href="https://github.com/jeff-zucker/FediPod">github.com/jeff-zucker/FediPod</a></p>
|
|
110
|
-
</section>
|
|
111
|
-
|
|
112
|
-
<!-- Shown only on a browser that has signed in but has never opened the signing
|
|
113
|
-
key. The key is kept on the pod encrypted under the sign-up password, so
|
|
114
|
-
the pod's host cannot sign as you; a browser opens it once and remembers.
|
|
115
|
-
The second block is for someone who no longer has that password: a new
|
|
116
|
-
key, locked under the password they use now. -->
|
|
117
|
-
<section id="unlock" hidden>
|
|
118
|
-
<h2>Unlock your signing key</h2>
|
|
119
|
-
<p>Your signing key is stored on your pod, locked under the password you gave
|
|
120
|
-
when you signed up, so nobody who can read your pod — your pod's host included
|
|
121
|
-
— can post as you. This browser has not opened it yet.</p>
|
|
122
|
-
<p class="row">
|
|
123
|
-
<input type="password" id="unlock-password" autocomplete="current-password"
|
|
124
|
-
placeholder="Your password" aria-label="Your password">
|
|
125
|
-
<button type="button" class="primary" id="unlock-go">unlock</button>
|
|
126
|
-
</p>
|
|
127
|
-
<p class="err" id="unlock-error" role="alert"></p>
|
|
128
|
-
<p class="hint">This browser only — it is not sent anywhere.</p>
|
|
129
|
-
<h2>Changed your pod password, or lost the old one?</h2>
|
|
130
|
-
<p>Make a new signing key, locked under the password you use now. Your account,
|
|
131
|
-
address, posts and followers stay as they are; other servers learn the new key
|
|
132
|
-
the next time they hear from you.</p>
|
|
133
|
-
<p><button type="button" id="unlock-newkey">make a new signing key</button></p>
|
|
134
|
-
<p id="unlock-newkey-confirm" hidden>This replaces the key on your pod. Type the
|
|
135
|
-
password you use now in the field above, then
|
|
136
|
-
<button type="button" id="unlock-newkey-go">make the new key</button></p>
|
|
137
|
-
</section>
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
<section id="pane-form" hidden>
|
|
141
|
-
<form id="form">
|
|
142
|
-
|
|
143
|
-
<!-- Screen 1: Your Solid Pod -->
|
|
144
|
-
<div class="step" id="step-1">
|
|
145
|
-
<fieldset>
|
|
146
|
-
<legend>Your Solid Pod</legend>
|
|
147
|
-
|
|
148
|
-
<div role="radiogroup" aria-labelledby="podtype-label">
|
|
149
|
-
<span id="podtype-label" class="grouplabel">Pod type</span>
|
|
150
|
-
<label class="choice"><input type="radio" name="mode" value="existing"> An existing pod</label>
|
|
151
|
-
<label class="choice"><input type="radio" name="mode" value="new" checked> A new pod</label>
|
|
152
|
-
</div>
|
|
153
|
-
|
|
154
|
-
<label for="provider">Pod provider</label>
|
|
155
|
-
<!-- The providers listed at https://solidproject.org/get_a_pod that run Community
|
|
156
|
-
Solid Server, whose account API is what "A new pod" uses. Checked 2026-09-14. -->
|
|
157
|
-
<select id="provider" name="provider">
|
|
158
|
-
<option value="https://solidcommunity.net">solidcommunity.net</option>
|
|
159
|
-
<option value="https://privatedatapod.com">privatedatapod.com</option>
|
|
160
|
-
<option value="https://solid.redpencil.io">redpencil.io</option>
|
|
161
|
-
<option value="https://pods.solidcommunity.au">solidcommunity.au</option>
|
|
162
|
-
<option value="https://solidweb.me">solidweb.me</option>
|
|
163
|
-
<option value="https://teamid.live">teamid.live</option>
|
|
164
|
-
<option value="">Other…</option>
|
|
165
|
-
</select>
|
|
166
|
-
<div id="provider-other-field" hidden>
|
|
167
|
-
<label for="providerOther">Provider address</label>
|
|
168
|
-
<input type="url" id="providerOther" name="providerOther" autocomplete="url" placeholder="https://pods.example.org">
|
|
169
|
-
</div>
|
|
170
|
-
|
|
171
|
-
<div id="podname-field">
|
|
172
|
-
<label for="podName">Pod username</label>
|
|
173
|
-
<input type="text" id="podName" name="podName" autocomplete="off" aria-describedby="podname-hint">
|
|
174
|
-
<p class="hint" id="podname-hint">Depending on your provider's setup, your pod will be at
|
|
175
|
-
either https://USERNAME.podprovider or https://podprovider/USERNAME.</p>
|
|
176
|
-
</div>
|
|
177
|
-
|
|
178
|
-
<div id="pod-field" hidden>
|
|
179
|
-
<label for="pod">Pod address</label>
|
|
180
|
-
<input type="url" id="pod" name="pod" autocomplete="url" aria-describedby="pod-hint"
|
|
181
|
-
placeholder="https://alice.solidcommunity.net/ or https://server.example/alice/">
|
|
182
|
-
<p class="hint" id="pod-hint">The address of your pod: its own host, or a path on a
|
|
183
|
-
suffix-based host.</p>
|
|
184
|
-
</div>
|
|
185
|
-
|
|
186
|
-
<label for="email">Email (used as pod id)</label>
|
|
187
|
-
<input type="email" id="email" name="email" autocomplete="email" placeholder="you@example.org">
|
|
188
|
-
|
|
189
|
-
<label for="password">Pod password</label>
|
|
190
|
-
<input type="password" id="password" name="password" autocomplete="new-password"
|
|
191
|
-
aria-describedby="password-hint">
|
|
192
|
-
<p class="hint" id="password-hint">Your password is sent once, to make your account and to
|
|
193
|
-
lock your signing key. It is never stored. The credential used to set things up is
|
|
194
|
-
deleted when setup finishes — from then on this browser signs in through your pod,
|
|
195
|
-
the way any other Solid app does.</p>
|
|
196
|
-
</fieldset>
|
|
197
|
-
<p class="err" id="err-1" role="alert"></p>
|
|
198
|
-
<p>
|
|
199
|
-
<button type="button" id="cancel">Cancel</button>
|
|
200
|
-
<button type="button" class="primary" id="to-2">Continue</button>
|
|
201
|
-
</p>
|
|
202
|
-
</div>
|
|
203
|
-
|
|
204
|
-
<!-- Screen 2: Your Fediverse Identity -->
|
|
205
|
-
<div class="step" id="step-2" hidden>
|
|
206
|
-
<fieldset>
|
|
207
|
-
<legend>Your Fediverse Identity</legend>
|
|
208
|
-
|
|
209
|
-
<label for="handle">Fediverse handle</label>
|
|
210
|
-
<input type="text" id="handle" name="handle" autocomplete="off"
|
|
211
|
-
placeholder="the handle part of your address: @HANDLE@server" aria-describedby="handle-hint">
|
|
212
|
-
<p class="hint" id="handle-hint">The name in your Fediverse address. This is permanent.
|
|
213
|
-
Letters, digits, and hyphens only.</p>
|
|
214
|
-
|
|
215
|
-
<div role="radiogroup" aria-labelledby="shape-label" id="shape-group">
|
|
216
|
-
<span id="shape-label" class="grouplabel">Where your address lives</span>
|
|
217
|
-
<label class="choice"><input type="radio" name="shape" value="pod" checked> On your pod</label>
|
|
218
|
-
<label class="choice"><input type="radio" name="shape" value="front"> At this site</label>
|
|
219
|
-
</div>
|
|
220
|
-
<p class="hint" id="shape-hint" hidden>Your pod provider uses suffixes, so your only option
|
|
221
|
-
is to use an account on a gateway like this one.</p>
|
|
222
|
-
|
|
223
|
-
<span id="addr-label" class="grouplabel">Your Fediverse address</span>
|
|
224
|
-
<p class="address" id="preview" role="status" aria-live="polite" aria-labelledby="addr-label">@…@…</p>
|
|
225
|
-
</fieldset>
|
|
226
|
-
<p class="hint">The handle and the pod cannot be changed afterwards. Everything else — display
|
|
227
|
-
name, bio, pictures — you set later in the client.</p>
|
|
228
|
-
<p class="err" id="form-error" role="alert"></p>
|
|
229
|
-
<p>
|
|
230
|
-
<button type="button" id="back-1">Back</button>
|
|
231
|
-
<button type="submit" class="primary" id="submit">Create Pod and Fediverse accounts</button>
|
|
232
|
-
</p>
|
|
233
|
-
</div>
|
|
234
|
-
|
|
235
|
-
</form>
|
|
236
|
-
</section>
|
|
237
|
-
|
|
238
|
-
<section id="running" hidden>
|
|
239
|
-
<h2 id="running-title">Setting up…</h2>
|
|
240
|
-
<ul class="steps" id="steps" aria-live="polite"></ul>
|
|
241
|
-
<p class="err" id="run-error" role="alert"></p>
|
|
242
|
-
<p id="run-actions" hidden>
|
|
243
|
-
<button type="button" id="run-back">Start over</button>
|
|
244
|
-
<button type="button" class="primary" id="run-retry">Try again</button>
|
|
245
|
-
</p>
|
|
246
|
-
</section>
|
|
247
|
-
|
|
248
|
-
</main>
|
|
249
|
-
<script type="module" src="/boot.js"></script>
|
|
250
|
-
</body>
|
|
251
|
-
</html>
|