gitextract_tr2m1266/ ├── .claude/ │ └── hooks.json ├── .codex/ │ ├── config.toml │ └── hooks.json ├── .cursor/ │ └── hooks.json ├── .github/ │ ├── FUNDING.yml │ └── workflows/ │ ├── release.yml │ └── test.yml ├── .gitignore ├── .nvmrc ├── .oxfmtrc.json ├── .yarnrc.yml ├── AGENTS.md ├── CHANGELOG.md ├── CLAUDE.md ├── LICENSE ├── README.md ├── android/ │ ├── .gitignore │ ├── .idea/ │ │ ├── .gitignore │ │ ├── compiler.xml │ │ ├── deploymentTargetSelector.xml │ │ ├── kotlinc.xml │ │ ├── migrations.xml │ │ ├── misc.xml │ │ └── runConfigurations.xml │ ├── app/ │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── capacitor.build.gradle │ │ ├── proguard-rules.pro │ │ └── src/ │ │ ├── androidTest/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── getcapacitor/ │ │ │ └── myapp/ │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── assets/ │ │ │ │ ├── capacitor.config.json │ │ │ │ └── capacitor.plugins.json │ │ │ ├── java/ │ │ │ │ └── seedit/ │ │ │ │ └── android/ │ │ │ │ ├── FileUploaderPlugin.java │ │ │ │ ├── FileUtils.java │ │ │ │ └── MainActivity.java │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ └── ic_launcher_background.xml │ │ │ ├── drawable-v24/ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── layout/ │ │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26/ │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ ├── values/ │ │ │ │ ├── ic_launcher_background.xml │ │ │ │ ├── strings.xml │ │ │ │ └── styles.xml │ │ │ └── xml/ │ │ │ ├── config.xml │ │ │ └── file_paths.xml │ │ └── test/ │ │ └── java/ │ │ └── com/ │ │ └── getcapacitor/ │ │ └── myapp/ │ │ └── ExampleUnitTest.java │ ├── build.gradle │ ├── capacitor.settings.gradle │ ├── gradle/ │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradle.properties │ ├── gradlew │ ├── gradlew.bat │ ├── plebbit.keystore │ ├── settings.gradle │ └── variables.gradle ├── capacitor.config.ts ├── docs/ │ └── agent-playbooks/ │ ├── bug-investigation.md │ ├── commit-issue-format.md │ ├── hooks-setup.md │ ├── known-surprises.md │ ├── long-running-agent-workflow.md │ ├── skills-and-tools.md │ ├── templates/ │ │ ├── feature-list.template.json │ │ └── progress.template.md │ └── translations.md ├── electron/ │ ├── after-all-artifact-build.cjs │ ├── before-pack.js │ ├── build-docker.sh │ ├── download-ipfs.js │ ├── log.js │ ├── main.js │ ├── preload.mjs │ ├── proxy-server.js │ ├── src/ │ │ ├── main.ts │ │ ├── plugins/ │ │ │ └── file-uploader.ts │ │ └── preload.ts │ ├── start-ipfs.js │ ├── start-plebbit-rpc.js │ ├── vite-config.js │ └── vite.preload.config.js ├── forge.config.js ├── index.html ├── knip.jsonc ├── oxlintrc.json ├── package.json ├── public/ │ ├── manifest.json │ ├── redirect.html │ ├── robots.txt │ └── translations/ │ ├── ar/ │ │ └── default.json │ ├── bn/ │ │ └── default.json │ ├── cs/ │ │ └── default.json │ ├── da/ │ │ └── default.json │ ├── de/ │ │ └── default.json │ ├── el/ │ │ └── default.json │ ├── en/ │ │ └── default.json │ ├── es/ │ │ └── default.json │ ├── fa/ │ │ └── default.json │ ├── fi/ │ │ └── default.json │ ├── fil/ │ │ └── default.json │ ├── fr/ │ │ └── default.json │ ├── he/ │ │ └── default.json │ ├── hi/ │ │ └── default.json │ ├── hu/ │ │ └── default.json │ ├── id/ │ │ └── default.json │ ├── it/ │ │ └── default.json │ ├── ja/ │ │ └── default.json │ ├── ko/ │ │ └── default.json │ ├── mr/ │ │ └── default.json │ ├── nl/ │ │ └── default.json │ ├── no/ │ │ └── default.json │ ├── pl/ │ │ └── default.json │ ├── pt/ │ │ └── default.json │ ├── ro/ │ │ └── default.json │ ├── ru/ │ │ └── default.json │ ├── sq/ │ │ └── default.json │ ├── sv/ │ │ └── default.json │ ├── te/ │ │ └── default.json │ ├── th/ │ │ └── default.json │ ├── tr/ │ │ └── default.json │ ├── uk/ │ │ └── default.json │ ├── ur/ │ │ └── default.json │ ├── vi/ │ │ └── default.json │ └── zh/ │ └── default.json ├── react-doctor.config.json ├── scripts/ │ ├── AGENTS.md │ ├── agent-hooks/ │ │ ├── format.sh │ │ ├── react-pattern-review.sh │ │ ├── sync-git-branches.sh │ │ ├── verify.sh │ │ └── yarn-install.sh │ ├── agent-init.sh │ ├── create-task-worktree.sh │ ├── deploy.sh │ ├── dev-server-utils.mjs │ ├── find-forge-executable.js │ ├── release-body.js │ ├── start-dev.js │ └── update-translations.js ├── src/ │ ├── AGENTS.md │ ├── app.module.css │ ├── app.tsx │ ├── components/ │ │ ├── account-bar/ │ │ │ ├── account-bar.module.css │ │ │ ├── account-bar.tsx │ │ │ └── index.ts │ │ ├── author-sidebar/ │ │ │ ├── author-sidebar.module.css │ │ │ ├── author-sidebar.tsx │ │ │ └── index.ts │ │ ├── challenge-modal/ │ │ │ ├── challenge-modal.module.css │ │ │ ├── challenge-modal.tsx │ │ │ └── index.ts │ │ ├── comment-edit-form/ │ │ │ ├── comment-edit-form.tsx │ │ │ └── index.ts │ │ ├── error-display/ │ │ │ ├── error-display.module.css │ │ │ ├── error-display.tsx │ │ │ └── index.ts │ │ ├── feed-footer/ │ │ │ ├── feed-footer.module.css │ │ │ ├── feed-footer.tsx │ │ │ └── index.ts │ │ ├── header/ │ │ │ ├── header.module.css │ │ │ ├── header.tsx │ │ │ └── index.ts │ │ ├── info-tooltip/ │ │ │ ├── index.ts │ │ │ ├── info-tooltip.module.css │ │ │ └── info-tooltip.tsx │ │ ├── loading-ellipsis/ │ │ │ ├── index.ts │ │ │ ├── loading-ellipsis.module.css │ │ │ └── loading-ellipsis.tsx │ │ ├── markdown/ │ │ │ ├── index.ts │ │ │ ├── markdown.module.css │ │ │ └── markdown.tsx │ │ ├── notification-handler/ │ │ │ ├── index.ts │ │ │ └── notification-handler.tsx │ │ ├── over-18-warning/ │ │ │ ├── index.ts │ │ │ ├── over-18-warning.module.css │ │ │ └── over-18-warning.tsx │ │ ├── post/ │ │ │ ├── comment-tools/ │ │ │ │ ├── comment-tools.module.css │ │ │ │ ├── comment-tools.tsx │ │ │ │ ├── edit-menu/ │ │ │ │ │ ├── edit-menu.module.css │ │ │ │ │ ├── edit-menu.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── hide-menu/ │ │ │ │ │ ├── hide-menu.module.css │ │ │ │ │ ├── hide-menu.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── index.ts │ │ │ │ └── mod-menu/ │ │ │ │ ├── index.ts │ │ │ │ ├── mod-menu.module.css │ │ │ │ └── mod-menu.tsx │ │ │ ├── embed/ │ │ │ │ ├── embed.module.css │ │ │ │ ├── embed.tsx │ │ │ │ └── index.ts │ │ │ ├── expand-button/ │ │ │ │ ├── expand-button.module.css │ │ │ │ ├── expand-button.tsx │ │ │ │ └── index.ts │ │ │ ├── expando/ │ │ │ │ ├── expando.module.css │ │ │ │ ├── expando.tsx │ │ │ │ └── index.ts │ │ │ ├── flair/ │ │ │ │ ├── flair.module.css │ │ │ │ ├── flair.tsx │ │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ ├── label/ │ │ │ │ ├── index.ts │ │ │ │ ├── label.module.css │ │ │ │ └── label.tsx │ │ │ ├── post.module.css │ │ │ ├── post.tsx │ │ │ └── thumbnail/ │ │ │ ├── index.ts │ │ │ ├── thumbnail.module.css │ │ │ └── thumbnail.tsx │ │ ├── reply/ │ │ │ ├── index.ts │ │ │ ├── reply.module.css │ │ │ └── reply.tsx │ │ ├── reply-form/ │ │ │ ├── index.ts │ │ │ ├── reply-form.module.css │ │ │ └── reply-form.tsx │ │ ├── search-bar/ │ │ │ ├── index.ts │ │ │ ├── search-bar.module.css │ │ │ └── search-bar.tsx │ │ ├── sidebar/ │ │ │ ├── index.ts │ │ │ ├── sidebar.module.css │ │ │ └── sidebar.tsx │ │ ├── spoiler-tooltip/ │ │ │ ├── index.ts │ │ │ ├── spoiler-tooltip.module.css │ │ │ └── spoiler-tooltip.tsx │ │ ├── sticky-header/ │ │ │ ├── index.ts │ │ │ ├── sticky-header.module.css │ │ │ └── sticky-header.tsx │ │ ├── subscribe-button/ │ │ │ ├── index.ts │ │ │ ├── subscribe-button.module.css │ │ │ └── subscribe-button.tsx │ │ ├── topbar/ │ │ │ ├── index.ts │ │ │ ├── topbar.module.css │ │ │ └── topbar.tsx │ │ └── version/ │ │ ├── index.ts │ │ └── version.tsx │ ├── constants/ │ │ ├── nsfw-tags.ts │ │ ├── sort-labels.ts │ │ └── sort-types.ts │ ├── globals.d.ts │ ├── hooks/ │ │ ├── use-account-comment.ts │ │ ├── use-auto-subscribe.ts │ │ ├── use-challenge-settings.ts │ │ ├── use-challenges-options.ts │ │ ├── use-comment-media-info.ts │ │ ├── use-community-identifier.ts │ │ ├── use-community-subtitles.ts │ │ ├── use-default-subscriptions.ts │ │ ├── use-displayed-subscriptions.ts │ │ ├── use-downvote.ts │ │ ├── use-fetch-gif-first-frame.ts │ │ ├── use-is-broadly-nsfw-community.ts │ │ ├── use-is-community-offline.ts │ │ ├── use-is-mobile.ts │ │ ├── use-is-nsfw-community.ts │ │ ├── use-publish-reply.ts │ │ ├── use-redirect-to-default-sort.ts │ │ ├── use-replies.ts │ │ ├── use-scheduled-reset.ts │ │ ├── use-state-string.ts │ │ ├── use-theme.ts │ │ ├── use-time-filter.ts │ │ ├── use-upvote.ts │ │ └── use-window-width.ts │ ├── index.css │ ├── index.tsx │ ├── lib/ │ │ ├── init-translations.ts │ │ ├── push/ │ │ │ ├── common.ts │ │ │ ├── electron.ts │ │ │ ├── index.ts │ │ │ ├── native.ts │ │ │ └── web.ts │ │ └── utils/ │ │ ├── account-comment-utils.test.ts │ │ ├── account-comment-utils.ts │ │ ├── account-history-utils.test.ts │ │ ├── account-history-utils.ts │ │ ├── account-import-utils.ts │ │ ├── address-utils.ts │ │ ├── challenge-utils.ts │ │ ├── cid-utils.ts │ │ ├── clipboard-utils.ts │ │ ├── comment-utils.ts │ │ ├── file-export-utils.ts │ │ ├── media-utils.ts │ │ ├── nsfw-subscription-utils.ts │ │ ├── pattern-utils.ts │ │ ├── post-utils.ts │ │ ├── time-utils.ts │ │ ├── url-utils.ts │ │ ├── user-utils.ts │ │ └── view-utils.ts │ ├── modules.d.ts │ ├── plugins/ │ │ └── file-uploader.ts │ ├── polyfills.js │ ├── preload-assets.css │ ├── stores/ │ │ ├── use-auto-subscribe-store.ts │ │ ├── use-challenges-store.ts │ │ ├── use-communities-loading-start-timestamps-store.ts │ │ ├── use-community-offline-store.ts │ │ ├── use-community-settings-store.ts │ │ ├── use-content-options-store.ts │ │ ├── use-error-store.ts │ │ ├── use-feed-filters-store.ts │ │ ├── use-feed-reset-store.ts │ │ ├── use-not-found-store.ts │ │ ├── use-pinned-posts-store.ts │ │ ├── use-publish-post-store.ts │ │ ├── use-publish-reply-store.ts │ │ ├── use-theme-store.ts │ │ └── use-window-dimensions-store.ts │ ├── sw.ts │ ├── themes.css │ ├── views/ │ │ ├── about/ │ │ │ ├── about.module.css │ │ │ ├── about.tsx │ │ │ └── index.ts │ │ ├── all/ │ │ │ ├── all.tsx │ │ │ └── index.ts │ │ ├── author/ │ │ │ ├── author.module.css │ │ │ ├── author.tsx │ │ │ └── index.ts │ │ ├── communities/ │ │ │ ├── communities.module.css │ │ │ ├── communities.tsx │ │ │ └── index.ts │ │ ├── community/ │ │ │ ├── community.tsx │ │ │ └── index.ts │ │ ├── community-settings/ │ │ │ ├── challenge-settings/ │ │ │ │ ├── challenge-settings.tsx │ │ │ │ └── index.ts │ │ │ ├── community-data-editor/ │ │ │ │ ├── community-data-editor.tsx │ │ │ │ └── index.ts │ │ │ ├── community-settings.module.css │ │ │ ├── community-settings.tsx │ │ │ └── index.ts │ │ ├── domain/ │ │ │ ├── domain.tsx │ │ │ └── index.ts │ │ ├── home/ │ │ │ ├── home.module.css │ │ │ ├── home.tsx │ │ │ └── index.ts │ │ ├── inbox/ │ │ │ ├── inbox.module.css │ │ │ ├── inbox.tsx │ │ │ └── index.ts │ │ ├── mod/ │ │ │ ├── index.ts │ │ │ └── mod.tsx │ │ ├── not-found/ │ │ │ ├── index.ts │ │ │ ├── not-found.module.css │ │ │ └── not-found.tsx │ │ ├── post-page/ │ │ │ ├── index.ts │ │ │ ├── post-page.module.css │ │ │ └── post-page.tsx │ │ ├── profile/ │ │ │ ├── index.ts │ │ │ ├── profile.module.css │ │ │ └── profile.tsx │ │ ├── settings/ │ │ │ ├── account-data-editor/ │ │ │ │ ├── account-data-editor.module.css │ │ │ │ ├── account-data-editor.tsx │ │ │ │ └── index.ts │ │ │ ├── account-settings/ │ │ │ │ ├── account-settings.module.css │ │ │ │ ├── account-settings.tsx │ │ │ │ └── index.ts │ │ │ ├── address-settings/ │ │ │ │ ├── address-settings.module.css │ │ │ │ ├── address-settings.tsx │ │ │ │ └── index.ts │ │ │ ├── avatar-settings/ │ │ │ │ ├── avatar-settings.module.css │ │ │ │ ├── avatar-settings.tsx │ │ │ │ └── index.ts │ │ │ ├── content-options/ │ │ │ │ ├── content-options.module.css │ │ │ │ ├── content-options.tsx │ │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ ├── notifications-settings/ │ │ │ │ ├── index.ts │ │ │ │ ├── notifications-settings.module.css │ │ │ │ └── notifications-settings.tsx │ │ │ ├── plebbit-options/ │ │ │ │ ├── index.ts │ │ │ │ ├── plebbit-options.module.css │ │ │ │ └── plebbit-options.tsx │ │ │ ├── settings.module.css │ │ │ ├── settings.tsx │ │ │ └── wallet-settings/ │ │ │ ├── index.ts │ │ │ ├── wallet-settings.module.css │ │ │ └── wallet-settings.tsx │ │ └── submit-page/ │ │ ├── index.ts │ │ ├── submit-page.module.css │ │ └── submit-page.tsx │ └── vite-env.d.ts ├── tsconfig.json ├── vercel.json └── vite.config.js