Commit Graph
48 Commits
Author SHA1 Message Date
tianma-if 86da442eb4 fix(extension): attach an optional video transcript to image uploads
The cover-image form can carry a transcript job. Callers that omit it
leave the field off the request.
2026-10-07 16:53:43 +08:00
tianma-if 93b97b6bd5 test(extension): run notebook clip id checks with the extension tests 2026-10-07 16:36:48 +08:00
tianma-if 46f1c7d764 feat(speech): extract video-note subtitles from a workspace speech service
Video notes keep a hidden marker, and the note list can queue subtitle extraction. The desktop app downloads the audio with yt-dlp and sends it to the selected OpenAI-compatible speech service.
2026-10-07 11:36:12 +08:00
tianma-if 586501da76 fix(extension): default clips to the inbox notebook
A missing or stale clipper notebook id now resolves to 等待分类
instead of the first notebook or an id the account does not have.
2026-10-07 11:24:57 +08:00
Dariusz Koryto 61d8b8cbe4 i18n(pl): translate the Web Clipper video-note phrases
The video-note feature reached main while the Polish locale was in
review, so its 25 phrases were missing from the Polish catalog. Chrome
and Firefox then fall back to English, which put English headings such
as "Summary" and "Transcript" into notes saved with a Polish browser.

Add the Polish phrases and a test that every extension locale ships the
same message keys as English, so a later feature cannot leave a locale
behind.
2026-10-06 11:21:40 +02:00
Dariusz Koryto 40321fe1f8 feat(extension): keep page clip images inside the note (#474)
Copy images in generic page and selection clips into note resources so clips can retain them when source URLs change. Keep remote URLs for images that cannot be copied.

Protect concurrent note edits, parse Markdown image syntax correctly, and bound image transfers by time and size. Add unit and Chromium browser coverage.

Refs #159
2026-10-06 16:24:49 +08:00
Dariusz Koryto 80dadb3194 feat(i18n): add Polish as an in-app locale (#473)
* feat(editor): add setting to turn off spellcheck underlines

Add a device-local "Underline spelling mistakes" switch to the editing
preferences. The rich-text editor and the mobile plain-text editor now
set spellcheck from this preference and update live when it changes.
Defaults to enabled, so existing behavior is unchanged.

Refs #468

* feat(i18n): add Polish as an in-app locale

Add Polish (pl) across clients, mirroring how Japanese was added:

- Shared: full pl catalog, locale matching for pl/pl-*, Polish memo
  templates and factory AI prompts, mobile editor strings, and Polish as
  an AI translation target and selection-translate chip.
- Web: "Polski" in the language picker; the catalog is lazy-loaded in its
  own i18n-pl chunk and kept out of the PWA precache like ja.
- Android: pl locale option, mobile-only strings, web-clip labels.
  Messages that only had an English branch now use English for every
  non-Chinese locale, so Japanese no longer falls back to Chinese there.
- iOS: .polish UI language (pl-PL), pl argument for every t() call,
  pl in CFBundleLocalizations and Localizable.xcstrings.
- Companion: accepts locale "pl" and detects Polish requests.
- Browser extension: _locales/pl messages.
- Marketing site: /pl/ pages, hreflang, sitemap, language switcher.
- Google Play listing copy for pl-PL (manual publish only).

* fix(ios): show the note editor in Polish and Japanese

The iOS editor received every interface language except English as
Chinese, so with Polish or Japanese selected its toolbar and image
gallery controls were labeled in Chinese. Pass Polish and Japanese
through to the embedded editor, label its toolbar and the shared image
gallery controls in both languages, and rebuild the checked-in
EditorBundle. The Android editor uses the same gallery labels.

Also translate the last iOS strings that had no Polish text: the
follow-system language label, note created/updated times and the
current-device marker.

Refs #473

* fix(companion): recognize Polish typed without diacritics

Requests in Latin letters without Polish diacritics were always treated
as English, so with a Polish interface "Napisz plan na jutro" got an
English reply. With a Polish interface, such text is now told apart by
common English and Polish words; when it is still unclear, the recent
conversation and then the interface language decide. Other interface
languages keep treating Latin text as English.

Refs #473

* chore(ios): regenerate the Xcode project for Polish

Run xcodegen so the shipped Info.plist lists Polish in
CFBundleLocalizations and the project knows the pl region. The
hand-written AiDirectStream.swift entries are replaced by the IDs
xcodegen generates. MARKETING_VERSION and CURRENT_PROJECT_VERSION stay
in the project file because the release script and Xcode Cloud update
them there.

Refs #473

* i18n(pl): translate the sidebar shortcut, desktop menus and video scope

Add Polish for features that reached main while this branch was open:
the show/hide sidebar shortcut label, the desktop application and
editing context menus, and the new "ai:generate" MCP scope. The desktop
menus switch to Polish for pl and pl-* locales; other locales are
unchanged.

Refs #473
2026-10-06 16:18:38 +08:00
tianma-if eabd9bbb79 feat(extension): save YouTube and Bilibili watch pages as video notes
Read the current player's captions after one click and write a timestamped note. Summaries use the workspace default model when the token includes ai:generate.
2026-10-06 00:26:10 +08:00
tianma-if 2b519bfc96 test(extension): run capture bundle check in isolated Vite process 2026-10-04 18:35:36 +08:00
tianma-if c32789ee30 chore(extension): bump Web Clipper to 0.1.16
Refs #464
2026-10-04 17:10:35 +08:00
tianma-if 312c4a027b fix(extension): bundle page capture as classic script
Refs #464
2026-10-04 17:07:46 +08:00
tianma-if dbe76323f7 chore(extension): bump Web Clipper to 0.1.15 2026-10-03 20:53:34 +08:00
tianma-if dce5e2bc40 fix(extension): request Firefox host permission during popup click
Preload popup settings before enabling the clip button so the permission request remains in the user action handler. Add a regression test for the request timing.
2026-10-03 20:46:51 +08:00
tianma-if d726122d22 feat(extension): save Reddit posts from context menu 2026-10-03 09:06:34 +08:00
tianma-if 46f0d7de17 chore(extension): replace verbose intro texts with supported platforms and clean settings header 2026-10-03 08:55:47 +08:00
tianma-if e8a982903b chore(extension): refine context menu copy and listing descriptions 2026-10-03 00:20:09 +08:00
tianma-if 7008f369a5 refactor(extension): shorten Xiaohongshu clip menu text 2026-10-02 23:56:56 +08:00
tianma-if 8f08c89c1b fix(extension): stabilize clip menus and clarify Zhihu notes 2026-10-02 23:44:45 +08:00
tianma-if f4cef46855 docs(extension): tighten Chrome Web Store permission disclosures for 0.1.9 2026-10-02 10:07:55 +08:00
tianma-if c58fe81a13 feat(extension): add a manual Web Clipper store submission workflow
Chrome and Firefox uploads were done by hand. Submit Web Clipper now packages the extension and sends it for review without joining the product release.
2026-10-02 00:29:10 +08:00
tianma-if b37a72ac99 feat(extension): save a right-clicked Zhihu answer or article as a note
Right-click the text of a Zhihu answer or article to store the title, author, body, and photos as one web-clip note.
2026-10-01 22:02:18 +08:00
tianma-if 97b1defef2 feat(extension): save a Xiaohongshu note from the context menu
Right-click the note text on Xiaohongshu to store the title, body, author, and photos as one web-clip note.
2026-10-01 20:56:36 +08:00
tianma-if e8e982e1bb feat(extension): save a GitHub repository as a note
Right-click a repository home or code tree to save the address, the About text, and the homepage, language, license, and topics when the page shows them. Issue, file, and discussion pages are left unsaved.
2026-10-01 20:53:25 +08:00
tianma-if 37640cfe40 chore(extension): prepare web clipper 0.1.8 store listings
Record a Google Search image as the search and its keyword in the store copy, and point the package at 0.1.8.
2026-09-28 16:00:08 +08:00
tianma-if 8d70820d8d feat(extension): record Google image saves as the search and keyword
A right-clicked image from Google Search now stores the search and its keyword instead of the long results URL.
2026-09-28 15:53:12 +08:00
tianma-if e825872bdc fix(extension): save a clipped image in the first note version
Create the note and its picture together, and keep a Google image search source down to the query instead of the full tracking URL.
2026-09-27 13:15:04 +08:00
tianma-if c45c845756 chore(extension): prepare web clipper 0.1.7 store listings
Bump the clipper to 0.1.7 and describe selection save, full X posts, and top-level context menus.
2026-09-27 10:41:03 +08:00
tianma-if 7ed8f11f05 fix(extension): keep clip commands on the top-level menu
Show only one EdgeEver action for each right-click so Chrome and Firefox do not fold them into a submenu.
2026-09-27 10:33:28 +08:00
tianma-if 26ebc3304a feat(extension): save selected text from the context menu
Right-click a passage on a page to store that text as a new note, with the source link and without the rest of the page.
2026-09-27 10:16:54 +08:00
tianma-if 59b6ee2c71 fix(extension): save the full text of a folded X post
Expand Show more before reading a timeline post, and read quote authors from the visible name block.
2026-09-27 10:02:39 +08:00
tianma-if b2b661b3a7 fix: use appendChild so DOM nodes pass the root typecheck
Cloudflare workers-types Element.append expects a response body, so ParentNode.append fails tsc for the phone image style and the clipper toast.
2026-09-26 22:11:56 +08:00
tianma-if c85e365f84 feat(extension): save a right-clicked X post as a new note 2026-09-26 20:46:55 +08:00
tianma-if 8a4df2a5f2 feat(extension): save a right-clicked image as a new note 2026-09-26 19:33:13 +08:00
tianma-if ea9900b7e2 feat(i18n): add Japanese as a first-class in-app locale
Ship a full shared Japanese catalog for Web, desktop, and Android, resolve ja-JP to ja instead of English, and give iOS a three-language path with Japanese login, settings, and list chrome. Unmatched languages still fall back to English.
2026-09-14 12:49:11 +08:00
tianma-if 3dd5153b54 Add project links to web clipper settings 2026-08-13 01:41:10 +08:00
tianma-if a17ac6fed3 chore(extension): prepare 0.1.5 brand logo store update
Rebuild the web clipper package with the open-cat icons, refresh Chrome
store promo/icon assets, and bump the extension version for Chrome Web
Store and Firefox Add-ons submission.
2026-08-11 01:02:35 +08:00
tianma-if 2dea7cf49c feat(brand): adopt open cat logo 2026-08-09 20:54:30 +08:00
tianma-if 138879417d chore(extension): prepare 0.1.4 store update 2026-08-09 18:34:45 +08:00
tianma-if 65803d9de9 feat(brand): adopt bold cat outline logo 2026-08-09 17:37:15 +08:00
tianma-if 79ff20f7c4 feat: add Firefox extension support 2026-07-30 23:58:21 +08:00
tianma-if e1a2b2d08b release(extension): prepare v0.1.3 2026-07-28 18:59:06 +08:00
tianma-if c9fdfe8a30 feat(extension): add diagnostics and clarify clipping action 2026-07-28 18:54:28 +08:00
tianma-if 2f8c96ab72 release extension v0.1.2 2026-07-28 00:31:46 +08:00
tianma-if e66be31b8d fix extension web page clipping 2026-07-28 00:25:36 +08:00
tianma-if 68b071e8ec chore(extension): prepare Web Store v0.1.1 2026-07-20 02:26:23 +08:00
tianma-if 7a4a9df29f feat(extension): add Chinese and English localization 2026-07-20 02:23:38 +08:00
tianma-if fcb1cc9a9e feat: prepare web clipper for Chrome Web Store 2026-07-17 22:31:04 +08:00
yoma 6f267bc9ac feat: add EdgeEver web clipper MVP 2026-07-13 22:05:00 +08:00