Maya Workflow Kit
The whole Maya workflow in Blender, in one install. Free and open source, Blender 4.5 – 5.2.
翻译准备中
尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
Google's Watchlist button keeps disappearing. This free browser extension brings it back.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Google's Watchlist button keeps disappearing. This free browser extension brings it back.
Download and install instructions →
It brings back Google's watchlist flow:
my watchlist movies and my watchlist tv shows open it already filtered.Your list is saved in the browser. Click Sign in with Google to sync in the popup and it syncs, through this project's own small server, with every browser where you've signed in: Chrome, Brave, other computers.
Step-by-step instructions are on the website. In short: download bring-back-my-google-watchlist.zip, unzip it somewhere permanent, open chrome://extensions (Brave and Edge work too), turn on Developer mode, click Load unpacked and choose the bring-back-my-google-watchlist folder.
To work on the code, load the extension folder from this repository instead. After you edit a file, press the reload arrow on the extension's card.
google.com/interests/saved.Google's collection pages don't show years, don't always say whether a title is a movie or a show, and only load posters you've scrolled past. Whenever a Google page is open, the extension fills those gaps in by itself, one title every few seconds (extension/src/filler.js), so an import completes within minutes. A title that can't be filled is retried the next day, and if Google ever shows its "unusual traffic" check, lookups pause for a day. Titles that appear in more than one collection are only added once.
Export in the popup saves a .json file of your list. Import file loads one back; titles already on your list are skipped.
Sign in once per browser from the popup. After that:
The server is a Cloudflare Worker with a D1 database, in server/. It stores each user's Google account ID and email and their list, and nothing else.
Bug reports, ideas and pull requests are welcome. See CONTRIBUTING.md. main is protected: every change goes through a pull request that the maintainer merges.
version in extension/manifest.json and write what's new in release.json (notes). Set "important": true only for updates people must not skip; installed copies then show a red banner that can't be dismissed.sh scripts/package.sh. This rebuilds docs/bring-back-my-google-watchlist.zip and docs/version.json.Installed copies check version.json once a day, when the browser starts and when the popup opens. When there's a newer version they show an orange NEW badge on the toolbar icon and a banner above the list (on Google and in the popup), linking to docs/update.html, the step-by-step update guide.
Server changes deploy with npx cf deploy from server/ (don't set TEST_JWKS_URL when deploying).
data-maindata, data-attrid), not on its styling. If the button ever stops showing, a floating button appears in the bottom-right corner on any page Google marks as a movie or show. If even that's missing, the page detection needs updating.extension/
manifest.json Chrome extension manifest (Manifest V3)
background.js background sync and Google sign-in
src/config.js the sync server's address and the Google sign-in app's client ID
src/storage.js the list in chrome.storage.local, plus which changes the server hasn't seen yet
src/google.js reads Google's page: which title it is, and whether you searched "my watchlist"
src/ui.js the button and the list view (built inside a shadow DOM, so Google's CSS can't affect them)
src/content.js puts the button and the list on Google results pages
src/import-google.js the importer on google.com/interests/saved
src/filler.js fills in missing posters, years and movie/TV labels in the background
welcome/ the first-run page: sign in, import, start using it
popup/ the toolbar popup
icons/
docs/ the website (GitHub Pages): home page, privacy policy, the download zip, version.json
scripts/package.sh builds the download zip and version.json
server/ the sync server (Cloudflare Worker + D1), built with the cf CLI
src/index.ts the API: sign in, sync, sign out, delete account
src/google.ts checks Google sign-in tokens
src/db.ts tables and the merge rules
test/ end-to-end tests against a local copy (see the top of test/sync.test.mjs)
The key in manifest.json gives the extension the same ID (ifckaolcfkgcidobjicmegaeafgkbgdh) on every computer, wherever the folder lives. Google sign-in is tied to that ID (the sign-in window returns to https://ifckaolcfkgcidobjicmegaeafgkbgdh.chromiumapp.org/). Its private key (extension-key.pem) is kept out of this repository on purpose.
Titles are identified by Google's Knowledge Graph id (e.g. /m/0661ql3 for Inception). Clicking a title opens google.com/search?kgmid=…, which lands on that title's Google page.
MIT. Not affiliated with Google. Google is a trademark of Google LLC.