You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(security): harden authentication and secret handling
- Keep Memos credentials inside the background worker and fail closed when account verification is unavailable.
- Prevent OAuth session races, restrict image downloads, and clear session-derived caches on sign-out.
- Make store packaging reproducible and update browser support and reviewer documentation.
Copy file name to clipboardExpand all lines: README.md
+2-10Lines changed: 2 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
# Memos Web Clipper
2
2
3
-
Save pages, selections, and images directly to your Memos instance. Available for Chrome and Firefox.
3
+
Save pages, selections, and images directly to your Memos instance. Available for Chromium-based browsers and Firefox.
4
4
5
5
## Install
6
6
@@ -32,14 +32,6 @@ Browser-owned pages, such as extension stores and internal browser URLs, may blo
32
32
33
33
## Browser support
34
34
35
-
- Google Chrome
35
+
-Chromium-based browsers that support Chrome extensions, including Google Chrome, Microsoft Edge, Brave, and Arc
36
36
- Mozilla Firefox 142 or later
37
37
- Memos 0.26.0 or later in the 0.x series
38
-
39
-
## Privacy
40
-
41
-
Memos Web Clipper does not include analytics, advertising, or telemetry. It captures page content only after you open the extension or use its context-menu action.
42
-
43
-
The extension communicates with usememos.com for sign-in and with your Memos instance when saving a clip. OAuth session data, the clip template, visibility preference, and small connection caches are stored in browser-local extension storage. Signing out removes the local OAuth session.
44
-
45
-
The extension requests page access to capture the active page, work with selections, reach self-hosted Memos instances, and download selected images from their original hosts.
Copy file name to clipboardExpand all lines: docs/FIREFOX_REVIEW.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ This extension is written in TypeScript and bundled with Vite, so the matching s
9
9
- pnpm 11.10.0 (the version pinned in `package.json`)
10
10
- The system `zip` command
11
11
12
-
The source archive contains a `.env` file with only the public OAuth client ID, issuer URL, and web app URL used for the submitted package. No OAuth client secret or server-side Clerk secret is included or needed.
12
+
The source archive contains a `.env` file with only the public OAuth client ID, issuer URL, and web app URL used for the submitted package. No OAuth client secret or server-side Clerk secret is included or needed. It also contains `.memos-amo-source.json`, a generated marker identifying the package version and source commit; this lets the extracted reviewer archive build without a `.git` directory.
13
13
14
14
## Reproduce the submitted Firefox package
15
15
@@ -21,6 +21,8 @@ pnpm package:firefox
21
21
22
22
The package to compare with the AMO upload is written to `artifacts/memos-web-clipper-firefox-v<version>.zip`. The packaging command also runs Mozilla's `web-ext lint` before creating the ZIP.
23
23
24
+
When run from the reviewer archive, the command creates the Firefox binary only; it does not create another nested source archive. Publisher builds run from a clean Git checkout and additionally create `artifacts/memos-web-clipper-firefox-source-v<version>.zip`. A dirty publisher checkout is rejected before any store artifact is changed.
25
+
24
26
## Validator warnings
25
27
26
28
`web-ext lint` currently reports two `UNSAFE_VAR_ASSIGNMENT` warnings in the generated
0 commit comments