notedeck

One damus client to rule them all
git clone git://jb55.com/notedeck
Log | Files | Refs | README | LICENSE

ModeNameSize
-rw-r--r--.cargo/config.toml2L
-rw-r--r--.envrc18L
-rw-r--r--.github/workflows/build-and-test.yml29L
-rw-r--r--.github/workflows/rust.yml258L
-rw-r--r--.gitignore20L
-rw-r--r--.rustfmt.toml1L
-rw-r--r--Cargo.lock5952L
-rw-r--r--Cargo.toml64L
-rw-r--r--LICENSE15L
-rw-r--r--Makefile11L
-rw-r--r--README.md96L
-rw-r--r--SECURITY.md5L
-rw-r--r--Trunk.toml3L
-rw-r--r--assets/Logo-Gradient-2x.png18616B
-rw-r--r--assets/Welcome to Nostrdeck 2x.png52397B
-rw-r--r--assets/app_icon.icns633843B
-rw-r--r--assets/damus-app-icon.png271986B
-rw-r--r--assets/damus-app-icon.svg261L
-rw-r--r--assets/damus.ico293138B
-rw-r--r--assets/damus.svg184L
-rw-r--r--assets/damus_rounded.svg334L
-rw-r--r--assets/damus_rounded_80.png6812B
-rwxr-xr-xassets/favicon.ico15406B
-rw-r--r--assets/fonts/DejaVuSans-Bold-SansEmoji.ttf497128B
-rw-r--r--assets/fonts/DejaVuSans-Bold.ttf705684B
-rw-r--r--assets/fonts/DejaVuSans.ttf757076B
-rw-r--r--assets/fonts/DejaVuSansSansEmoji.ttf560848B
-rw-r--r--assets/fonts/Inconsolata-Regular.ttf108684B
-rw-r--r--assets/fonts/NotoEmoji-Regular.ttf878892B
-rw-r--r--assets/fonts/NotoSansCJK-Regular.ttc19484784B
-rw-r--r--assets/fonts/NotoSansThai-Regular.ttf47484B
-rw-r--r--assets/fonts/ark/ark-pixel-10px-proportional-latin.ttf328720B
-rw-r--r--assets/fonts/onest/OnestBlack1602-hint.ttf105716B
-rw-r--r--assets/fonts/onest/OnestBold1602-hint.ttf100424B
-rw-r--r--assets/fonts/onest/OnestExtraBold1602-hint.ttf101988B
-rw-r--r--assets/fonts/onest/OnestLight1602-hint.ttf91836B
-rw-r--r--assets/fonts/onest/OnestMedium1602-hint.ttf92992B
-rw-r--r--assets/fonts/onest/OnestRegular1602-hint.ttf93048B
-rw-r--r--assets/fonts/onest/OnestThin1602-hint.ttf94300B
-rw-r--r--assets/fonts/pressstart/PressStart2P.ttf82480B
-rw-r--r--assets/icons/add_account_icon_4x.png3081B
-rw-r--r--assets/icons/add_column_dark_4x.png1150B
-rw-r--r--assets/icons/add_column_light_4x.png1267B
-rw-r--r--assets/icons/add_relay_icon_4x.png3081B
-rw-r--r--assets/icons/column_delete_icon_4x.png806B
-rw-r--r--assets/icons/column_delete_icon_light_4x.png1089B
-rw-r--r--assets/icons/connected_icon_4x.png1872B
-rw-r--r--assets/icons/connecting_icon_4x.png1733B
-rw-r--r--assets/icons/delete_icon_4x.png1057B
-rw-r--r--assets/icons/disconnected_icon_4x.png1863B
-rw-r--r--assets/icons/edit_icon_4x_dark.png719B
-rw-r--r--assets/icons/hashtag_icon_4x.png2587B
-rw-r--r--assets/icons/help_icon_dark_4x.png1230B
-rw-r--r--assets/icons/help_icon_inverted_4x.png554B
-rw-r--r--assets/icons/home_icon_dark_4x.png2847B
-rw-r--r--assets/icons/key_4x.png1446B
-rw-r--r--assets/icons/links_4x.png1332B
-rw-r--r--assets/icons/media_upload_dark_4x.png1501B
-rw-r--r--assets/icons/move_column_4x.png1771B
-rw-r--r--assets/icons/new_deck_icon_4x_dark.png4837B
-rw-r--r--assets/icons/notifications_icon_dark_4x.png3403B
-rw-r--r--assets/icons/plus_icon_4x.png340B
-rw-r--r--assets/icons/profile_icon_4x.png4010B
-rw-r--r--assets/icons/reply-dark.png912B
-rw-r--r--assets/icons/reply.png1205B
-rw-r--r--assets/icons/reply.svg1L
-rw-r--r--assets/icons/repost_icon_4x.png808B
-rw-r--r--assets/icons/repost_light_4x.png1145B
-rw-r--r--assets/icons/select_icon_3x.png1405B
-rw-r--r--assets/icons/settings_dark_4x.png3886B
-rw-r--r--assets/icons/settings_light_4x.png3055B
-rw-r--r--assets/icons/signout_icon_4x.png1420B
-rw-r--r--assets/icons/universe_icon_dark_4x.png3323B
-rw-r--r--assets/icons/verified_4x.png3376B
-rw-r--r--assets/icons/zap_4x.png1122B
-rw-r--r--assets/manifest.json28L
-rw-r--r--assets/sw.js25L
-rwxr-xr-xcheck11L
-rw-r--r--crates/enostr/Cargo.lock1870L
-rw-r--r--crates/enostr/Cargo.toml21L
-rw-r--r--crates/enostr/src/client/message.rs70L
-rw-r--r--crates/enostr/src/client/mod.rs3L
-rw-r--r--crates/enostr/src/error.rs58L
-rw-r--r--crates/enostr/src/filter.rs1L
-rw-r--r--crates/enostr/src/keypair.rs139L
-rw-r--r--crates/enostr/src/lib.rs24L
-rw-r--r--crates/enostr/src/note.rs135L
-rw-r--r--crates/enostr/src/profile.rs38L
-rw-r--r--crates/enostr/src/pubkey.rs168L
-rw-r--r--crates/enostr/src/relay/message.rs294L
-rw-r--r--crates/enostr/src/relay/mod.rs224L
-rw-r--r--crates/enostr/src/relay/pool.rs408L
-rw-r--r--crates/enostr/src/relay/subs_debug.rs265L
-rw-r--r--crates/notedeck/Cargo.toml36L
-rw-r--r--crates/notedeck/src/accounts.rs726L
-rw-r--r--crates/notedeck/src/app.rs239L
-rw-r--r--crates/notedeck/src/args.rs122L
-rw-r--r--crates/notedeck/src/context.rs18L
-rw-r--r--crates/notedeck/src/error.rs64L
-rw-r--r--crates/notedeck/src/filter.rs282L
-rw-r--r--crates/notedeck/src/fonts.rs58L
-rw-r--r--crates/notedeck/src/imgcache.rs128L
-rw-r--r--crates/notedeck/src/lib.rs51L
-rw-r--r--crates/notedeck/src/muted.rs83L
-rw-r--r--crates/notedeck/src/note.rs156L
-rw-r--r--crates/notedeck/src/notecache.rs57L
-rw-r--r--crates/notedeck/src/persist/app_size.rs30L
-rw-r--r--crates/notedeck/src/persist/mod.rs7L
-rw-r--r--crates/notedeck/src/persist/theme_handler.rs76L
-rw-r--r--crates/notedeck/src/persist/zoom.rs26L
-rw-r--r--crates/notedeck/src/relayspec.rs90L
-rw-r--r--crates/notedeck/src/result.rs3L
-rw-r--r--crates/notedeck/src/storage/file_key_storage.rs167L
-rw-r--r--crates/notedeck/src/storage/file_storage.rs280L
-rw-r--r--crates/notedeck/src/storage/key_storage_impl.rs88L
-rw-r--r--crates/notedeck/src/storage/mod.rs11L
-rw-r--r--crates/notedeck/src/storage/security_framework_key_storage.rs198L
-rw-r--r--crates/notedeck/src/style.rs59L
-rw-r--r--crates/notedeck/src/theme.rs101L
-rw-r--r--crates/notedeck/src/time.rs55L
-rw-r--r--crates/notedeck/src/timecache.rs41L
-rw-r--r--crates/notedeck/src/timed_serializer.rs86L
-rw-r--r--crates/notedeck/src/ui.rs24L
-rw-r--r--crates/notedeck/src/unknowns.rs356L
-rw-r--r--crates/notedeck/src/user_account.rs9L
-rw-r--r--crates/notedeck_chrome/Cargo.toml95L
-rw-r--r--crates/notedeck_chrome/src/android.rs135L
-rw-r--r--crates/notedeck_chrome/src/fonts.rs146L
-rw-r--r--crates/notedeck_chrome/src/lib.rs6L
-rw-r--r--crates/notedeck_chrome/src/notedeck.rs204L
-rw-r--r--crates/notedeck_chrome/src/preview.rs103L
-rw-r--r--crates/notedeck_chrome/src/setup.rs99L
-rw-r--r--crates/notedeck_chrome/src/theme.rs149L
-rw-r--r--crates/notedeck_columns/Cargo.toml61L
-rw-r--r--crates/notedeck_columns/build.rs29L
-rw-r--r--crates/notedeck_columns/src/abbrev.rs20L
-rw-r--r--crates/notedeck_columns/src/accounts/mod.rs124L
-rw-r--r--crates/notedeck_columns/src/accounts/route.rs13L
-rw-r--r--crates/notedeck_columns/src/actionbar.rs220L
-rw-r--r--crates/notedeck_columns/src/app.rs675L
-rw-r--r--crates/notedeck_columns/src/app_creation.rs1L
-rw-r--r--crates/notedeck_columns/src/app_style.rs13L
-rw-r--r--crates/notedeck_columns/src/args.rs159L
-rw-r--r--crates/notedeck_columns/src/colors.rs6L
-rw-r--r--crates/notedeck_columns/src/column.rs243L
-rw-r--r--crates/notedeck_columns/src/deck_state.rs64L
-rw-r--r--crates/notedeck_columns/src/decks.rs326L
-rw-r--r--crates/notedeck_columns/src/draft.rs54L
-rw-r--r--crates/notedeck_columns/src/error.rs31L
-rw-r--r--crates/notedeck_columns/src/frame_history.rs50L
-rw-r--r--crates/notedeck_columns/src/images.rs262L
-rw-r--r--crates/notedeck_columns/src/key_parsing.rs239L
-rw-r--r--crates/notedeck_columns/src/lib.rs48L
-rw-r--r--crates/notedeck_columns/src/login_manager.rs186L
-rw-r--r--crates/notedeck_columns/src/media_upload.rs447L
-rw-r--r--crates/notedeck_columns/src/multi_subscriber.rs107L
-rw-r--r--crates/notedeck_columns/src/nav.rs475L
-rw-r--r--crates/notedeck_columns/src/post.rs237L
-rw-r--r--crates/notedeck_columns/src/profile.rs162L
-rw-r--r--crates/notedeck_columns/src/profile_state.rs79L
-rw-r--r--crates/notedeck_columns/src/relay_pool_manager.rs60L
-rw-r--r--crates/notedeck_columns/src/route.rs223L
-rw-r--r--crates/notedeck_columns/src/storage/decks.rs838L
-rw-r--r--crates/notedeck_columns/src/storage/migration.rs697L
-rw-r--r--crates/notedeck_columns/src/storage/mod.rs5L
-rw-r--r--crates/notedeck_columns/src/subscriptions.rs32L
-rw-r--r--crates/notedeck_columns/src/support.rs148L
-rw-r--r--crates/notedeck_columns/src/test_data.rs109L
-rw-r--r--crates/notedeck_columns/src/test_utils.rs36L
-rw-r--r--crates/notedeck_columns/src/thread.rs27L
-rw-r--r--crates/notedeck_columns/src/timeline/cache.rs276L
-rw-r--r--crates/notedeck_columns/src/timeline/kind.rs291L
-rw-r--r--crates/notedeck_columns/src/timeline/mod.rs736L
-rw-r--r--crates/notedeck_columns/src/timeline/route.rs195L
-rw-r--r--crates/notedeck_columns/src/ui/account_login_view.rs134L
-rw-r--r--crates/notedeck_columns/src/ui/accounts.rs192L
-rw-r--r--crates/notedeck_columns/src/ui/add_column.rs589L
-rw-r--r--crates/notedeck_columns/src/ui/anim.rs138L
-rw-r--r--crates/notedeck_columns/src/ui/column/header.rs589L
-rw-r--r--crates/notedeck_columns/src/ui/column/mod.rs3L
-rw-r--r--crates/notedeck_columns/src/ui/configure_deck.rs331L
-rw-r--r--crates/notedeck_columns/src/ui/edit_deck.rs92L
-rw-r--r--crates/notedeck_columns/src/ui/mention.rs109L
-rw-r--r--crates/notedeck_columns/src/ui/mod.rs66L
-rw-r--r--crates/notedeck_columns/src/ui/note/contents.rs322L
-rw-r--r--crates/notedeck_columns/src/ui/note/context.rs194L
-rw-r--r--crates/notedeck_columns/src/ui/note/mod.rs671L
-rw-r--r--crates/notedeck_columns/src/ui/note/options.rs71L
-rw-r--r--crates/notedeck_columns/src/ui/note/post.rs548L
-rw-r--r--crates/notedeck_columns/src/ui/note/quote_repost.rs65L
-rw-r--r--crates/notedeck_columns/src/ui/note/reply.rs135L
-rw-r--r--crates/notedeck_columns/src/ui/note/reply_description.rs157L
-rw-r--r--crates/notedeck_columns/src/ui/preview.rs26L
-rw-r--r--crates/notedeck_columns/src/ui/profile/edit.rs205L
-rw-r--r--crates/notedeck_columns/src/ui/profile/menu.rs2L
-rw-r--r--crates/notedeck_columns/src/ui/profile/mod.rs447L
-rw-r--r--crates/notedeck_columns/src/ui/profile/picture.rs237L
-rw-r--r--crates/notedeck_columns/src/ui/profile/preview.rs192L
-rw-r--r--crates/notedeck_columns/src/ui/relay.rs307L
-rw-r--r--crates/notedeck_columns/src/ui/relay_debug.rs173L
-rw-r--r--crates/notedeck_columns/src/ui/side_panel.rs646L
-rw-r--r--crates/notedeck_columns/src/ui/support.rs85L
-rw-r--r--crates/notedeck_columns/src/ui/thread.rs123L
-rw-r--r--crates/notedeck_columns/src/ui/timeline.rs414L
-rw-r--r--crates/notedeck_columns/src/ui/username.rs94L
-rw-r--r--crates/notedeck_columns/src/unknowns.rs69L
-rw-r--r--crates/notedeck_columns/src/view_state.rs23L
-rw-r--r--damus.keystore2726B
-rw-r--r--entitlements.plist12L
-rw-r--r--index.html140L
-rwxr-xr-xpreview5L
-rwxr-xr-xscripts/dev_setup.sh19L
-rwxr-xr-xscripts/macos_build.sh88L
-rw-r--r--scripts/pre_commit_hook.sh4L
-rwxr-xr-xscripts/svg_to_icns.sh59L
-rw-r--r--scripts/windows-installer.iss18L
-rw-r--r--shell.nix69L