+24
.devcontainer/Dockerfile
+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
+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
+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
-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
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
+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
+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
+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>