Firefox WebExtension that lets you share the current tab to frontpage.fyi with minimal effort.

Compare changes

Choose any two refs to compare.

+24
.devcontainer/Dockerfile
··· 1 + FROM fedora:40 2 + 3 + # Install system packages required for Rust builds and Node-based Codex CLI 4 + RUN dnf install -y \ 5 + curl \ 6 + ca-certificates \ 7 + make \ 8 + gcc \ 9 + pkg-config \ 10 + openssl-devel \ 11 + git \ 12 + nodejs \ 13 + npm \ 14 + && dnf clean all 15 + 16 + # Install OpenAI Codex CLI from npm registry 17 + RUN npm install -g @openai/codex 18 + 19 + # Create a non-root user to run the CLI by default 20 + RUN useradd --create-home --shell /bin/bash app 21 + USER app 22 + WORKDIR /home/app 23 + 24 + CMD ["codex", "--help"]
+16
.devcontainer/devcontainer.json
··· 1 + { 2 + "name": "Frontpage Firefox Plugin", 3 + "build": { 4 + "dockerfile": "Dockerfile", 5 + "context": ".." 6 + }, 7 + "remoteUser": "app", 8 + "customizations": { 9 + "vscode": { 10 + "extensions": [ 11 + "ms-vsliveshare.vsliveshare", 12 + "dbaeumer.vscode-eslint" 13 + ] 14 + } 15 + } 16 + }
+6
AGENTS.md
··· 1 + # Agent Notes 2 + 3 + - Relocated the project Dockerfile into `.devcontainer/Dockerfile` so GitHub Codespaces can pick it up automatically. 4 + - Added `.devcontainer/devcontainer.json` pointing to the Dockerfile, sets remote user `app`, and recommends necessary VS Code extensions. 5 + - Dropped the Rust Analyzer recommendation per project requirements; keep the list lean to essentials. 6 + - Remember to mirror any environment dependency updates in both the Dockerfile and devcontainer definition.
-24
Dockerfile
··· 1 - FROM fedora:40 2 - 3 - # Install system packages required for Rust builds and Node-based Codex CLI 4 - RUN dnf install -y \ 5 - curl \ 6 - ca-certificates \ 7 - make \ 8 - gcc \ 9 - pkg-config \ 10 - openssl-devel \ 11 - git \ 12 - nodejs \ 13 - npm \ 14 - && dnf clean all 15 - 16 - # Install OpenAI Codex CLI from npm registry 17 - RUN npm install -g @openai/codex 18 - 19 - # Create a non-root user to run the CLI by default 20 - RUN useradd --create-home --shell /bin/bash app 21 - USER app 22 - WORKDIR /home/app 23 - 24 - CMD ["codex", "--help"]
+1 -1
README.md
··· 1 1 ## frontpage.fyi Firefox extension 2 2 3 3 This repository provides a Firefox WebExtension that lets you share the current tab to [frontpage.fyi](https://frontpage.fyi) with minimal effort. 4 - Links are submitted by creating `fyi.unravel.frontpage.post` records on your ATProto account, the same mechanism the official Frontpage site uses. 4 + Links are submitted by creating `fyi.frontpage.feed.post` records on your ATProto account, the same mechanism the official Frontpage site uses. 5 5 6 6 > โ„น๏ธ This repository is hosted on [tangled](https://tangled.org/@galiglobal.com/frontpage_firefox_plugin) (PRs, issues) and [GitHub](https://github.com/antonmry/frontpage_firefox_plugin) (CI/CD, releases). 7 7
+3 -3
extension/background.js
··· 1 1 const browser = globalThis.browser ?? globalThis.chrome; 2 2 const STORAGE_KEY = "frontpageAuth"; 3 - const FRONTPAGE_COLLECTION = "fyi.unravel.frontpage.post"; 4 - const RECORD_TYPE = "fyi.unravel.frontpage.post"; 3 + const FRONTPAGE_COLLECTION = "fyi.frontpage.feed.post"; 4 + const RECORD_TYPE = "fyi.frontpage.feed.post"; 5 5 const DEFAULT_MAX_TITLE = 120; 6 6 const DEFAULT_MAX_URL = 2048; 7 7 ··· 132 132 record: { 133 133 $type: RECORD_TYPE, 134 134 title: trimmedTitle, 135 - url: trimmedUrl, 135 + subject: { $type: "fyi.frontpage.feed.post#urlSubject", url: trimmedUrl }, 136 136 createdAt: new Date().toISOString() 137 137 } 138 138 };
+1 -1
extension/manifest.json
··· 2 2 "manifest_version": 3, 3 3 "name": "Frontpage Submitter", 4 4 "description": "Quickly share the current tab to frontpage.fyi via ATProto.", 5 - "version": "0.1.1", 5 + "version": "0.1.4", 6 6 "author": "Frontpage Submitter Contributors", 7 7 "homepage_url": "https://frontpage.fyi", 8 8 "icons": {
+1 -1
extension/options.html
··· 42 42 <h2>How it works</h2> 43 43 <ul class="tips"> 44 44 <li>The add-on stores your tokens locally using Firefox storage.</li> 45 - <li>Links are published as <code>fyi.unravel.frontpage.post</code> records on your ATProto account.</li> 45 + <li>Links are published as <code>fyi.frontpage.feed.post</code> records on your ATProto account.</li> 46 46 <li>Your PDS is discovered from your handle automatically unless you provide a custom URL.</li> 47 47 </ul> 48 48 </section>