Version 2.1.1 · Manifest V3 · Chromium-based browsers (Chrome, Edge, Brave, Opera)
תוסף third-party (לא רשמי) ל-GOG.com — מטבע חי, היסטוריית מחירים, השוואת מחירים בין חנויות, תגיות אישיות, שדרוג עיצובי מלא, עברית ו-RTL, והכל ללא Google Fonts וללא analytics.
Disclaimer / הצהרה משפטית: This is an unofficial third-party extension. It is not affiliated with, endorsed by, or sponsored by GOG sp. z o.o. or CD Projekt S.A. The “GOG” name is used nominatively to describe the storefront the extension works with.
| File / Folder | Purpose |
|---|---|
manifest.json |
Manifest V3 declaration |
background/, content/, popup/, options/, onboarding/, tags/, lib/, icons/ |
Extension code and assets |
PRIVACY.md |
Privacy policy — host this at a public URL before submitting to the Web Store |
LICENSE |
MIT license |
STORE_LISTING.md |
Copy-paste material for the Chrome Web Store Developer Dashboard |
build.ps1 |
Build script — produces gog-enhancer-webstore.zip for submission |
tests/, package.json, vitest.config.js |
Vitest harness for the pure utility modules (lib/storage.js, content/currency-detection.js). Not shipped in the extension zip. |
README.md |
This file |
(The list below covers the major v2.x feature surface. For per-version detail, see the Changelog further down.)
storage.sync (קל ומסונכרן בין מכשירים), data בכבד (תגיות, היסטוריה, cache) ב-storage.local. שום דבר לא נופל מעבר למכסות.api.frankfurter.app כל 12 שעות. אפשר לערוך ידנית.gog.com/en/mods כל 24 שעות.inline-start/end במקום left/right, ו-unicode-bidi: isolate למחירים.Alt+G פותח popup, Alt+Shift+G מפעיל/מכבה, Alt+Shift+H מחליף עברית.מופעל דרך toggle “Design injection” בפופאפ. כשמופעל:
ui-monospace / Cascadia / JetBrains) ו-tabular-nums.www.gog.com — לקריאת תוכן הדף ולהזרקת UI.api.frankfurter.app — לשערי מטבע (ללא API key, ללא tracking).chrome.storage.local. לא יוצאות החוצה.gog-plus/
├── manifest.json # MV3, permissions, commands
├── lib/
│ └── storage.js # מעטפת sync/local מאוחדת
├── background/
│ └── background.js # alarms (FX/mods/wishlist) + commands
├── content/
│ ├── content.js # אורקסטרציה ראשית
│ ├── content.css # styles ל-UI שלנו
│ ├── design-injection.css # שדרוג עיצוב ל-GOG עצמו
│ ├── translations.js # מילון עברית + patterns
│ ├── currency-detection.js # זיהוי מטבע בעמוד
│ ├── price-history.js # תיעוד מחירים
│ ├── tooltips.js # טולטיפ מעוצב
│ └── toasts.js # הודעות feedback
├── popup/ # popup על אייקון בסרגל
├── options/ # עמוד הגדרות מתקדם
├── onboarding/ # wizard ראשוני (3 צעדים)
├── tags/ # לוח תגיות + יצוא CSV
└── icons/ # 16/48/128 PNGs
gog-plus.zip וחלץ אותו לתיקייה כלשהי.chrome://extensions/.| Shortcut | Action |
|---|---|
Alt+G |
פתח popup |
Alt+Shift+G |
toggle GOG+ on/off |
Alt+Shift+H |
toggle Hebrew translations |
ניתן לשנות ב-chrome://extensions/shortcuts.
| Permission | למה |
|---|---|
storage |
שמירת העדפות, תגיות, היסטוריה |
activeTab |
רענון הלשונית הפעילה כשלוחצים “Reload” |
alarms |
scheduling של רענון FX/mods/wishlist ברקע |
host: www.gog.com |
זריקת UI לתוך עמודי GOG |
host: api.frankfurter.app |
שליפת שערי מטבע |
gog.com/en/mods שומר על מבנה דומה. אם תהיה רגרסיה, force-refresh דרך Advanced settings./account/wishlist (TTL של 24 שעות). אם לא ביקרת לאחרונה — ה-badge יהיה ריק עד הביקור הבא. ה-tooltip של אייקון ההרחבה ימליץ לבקר.rates, ההמרה לא תתבצע. כל ה-rates נשלפים אוטומטית כל 12 שעות מ-frankfurter.app.Bug fixes
< $10 / < $25 filters now work in any locale. Page price is parsed in pageCurrency.code and converted to USD via the rate matrix before comparing — previously the regex only matched $ and silently no-op’d for EU/UK/IL users.cleanLayout CSS no longer hardcodes /promo/20230 and /promo/20240. It now keys off .gog-plus-expired which hideExpiredSales stamps dynamically against currentYear, so the layout stays accurate as years roll.New features
tagDashboardDensity.Infrastructure
.github/workflows/test.yml runs npm test + npm run lint on every push to main and on every PR.npm run lint is now part of the test workflow..gitattributes pins LF for text files in the repo (PowerShell stays CRLF, binaries unchanged). Keeps diffs on GitHub clean across contributors with different core.autocrlf settings.content/price-history.js: record dedup + trim to 100, lowest, stats, and the input-validation edge cases. Total 34 tests, all passing.New features
applyCardBadges now classifies covers by slug pattern (RPG / Horror / Strategy / Sci-fi / Indie) and applies mood-matched hover effects layered on top of the existing CRT-classic and neon-cyberpunk treatments.data-gog-plus-tip hover tooltips on every data point + per-render unique gradient IDs.backdrop-filter: blur+saturate and pulls the page’s og:image into a 60px-blurred backdrop layer.tagOrder, and CSV import (symmetric to the existing CSV export).- lists rendered in the dashboard view. Source stays plain text in the editor.notifications permission, OFF by default; toggle from Advanced Options. Uses local chrome.notifications only.window.GOG_PLUS_DEBUG as a checkbox in Advanced Options → Developer & diagnostics.Behavior fixes
parsePrice now correctly handles EUR-style decimal commas (€19,99 → 19.99) by tail-digit disambiguation. Was returning 1999.data-slug, recreated on mismatch) so it no longer shows stale data for the previous title.gog-plus-cover--classic / --neon / --genre-*) are cleared when the user toggles designInjection off; previously they stuck around until page reload.drmFreeBanner toggle (was sessionStorage, returned in every new tab/window).hideExpiredSales regex tightened to slug-position years only; dropped the text fallback that could false-flag live promos containing “2024” in their description.Storage.get(string|array) now honors GOG_PLUS_DEFAULTS — was inconsistent with the object form.Reset everything now requires typing RESET to confirm; the previous “type-style confirmation” was just another OK/Cancel dialog.lastFxError and surfaced in the popup rate strip + Advanced Options.MAX_ENTRIES for price history bumped 30 → 100 (still well under storage.local quota).Architecture
lib/defaults.js as the canonical source for GOG_PLUS_DEFAULTS and SETTINGS_VERSION — eliminates the four-way duplication that existed in background/content/popup/options.window.GOGPlusStorage instead of chrome.storage.sync directly. Storage scripts now load from popup.html too.gog-enhancer-webstore/ directory is gone; build.ps1 at the repo root produces gog-enhancer-webstore.zip on demand from a single source of truth.package.json, vitest.config.js, tests/) with chrome.* shimming under happy-dom. 24 tests cover storage partitioning, defaults completeness, and parsePrice across locales.PRIVACY.md — a complete privacy policy ready to be hosted publicly before submitting to the Chrome Web Store.LICENSE — MIT, with a trademark clarification appendix about the GOG name.STORE_LISTING.md — copy-paste-ready material for the developer dashboard: short/long descriptions in English and Hebrew, permission justifications, single-purpose statement, screenshot guide.position: relative על ה-anchor החיצוני של כל card, מה שגרם ל-overlays הפנימיים של GOG (תצוגות מקדימות, screenshots בקרוסלה) לקרוס פנימה ולמלא את הכרטיס בתיבות אפורות.:has(> :empty)) שגם הוא הזיקposition: relative על footer ועל card containers דרך [class*="..."]onclick from onboarding (Manifest V3 forbids it)tags.html and onboarding.html from web_accessible_resources (was a fingerprint vector for any gog.com page)/account/wishlist and reports to background (the previous fetch() regex never worked on the SPA)html.gog-plus-disabledמותאם בתחילה למשתמש ישראלי (ILS, מע”מ 18%, עברית) — אבל עובד מצוין גם ל-EU/UK/US/PL. כל שדה ניתן לעריכה.