Skip to content

Update README.md#15

Open
zgr2575 wants to merge 177 commits intomainfrom
claude/fix-ui-bugs-docs-UHyH4
Open

Update README.md#15
zgr2575 wants to merge 177 commits intomainfrom
claude/fix-ui-bugs-docs-UHyH4

Conversation

@zgr2575
Copy link
Copy Markdown
Owner

@zgr2575 zgr2575 commented Feb 23, 2026

No description provided.

zgr2575 and others added 30 commits December 19, 2024 14:13
Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
… features

Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
…t dependency

Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
…ed versions and improved build configuration

Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
…downgrade

Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
…es, and enhanced user experience

Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
…ve error handling

Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
…ttings integration

Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
… working

Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
…themes, loading, auth, onboarding

Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
…themes

Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
…v9 feature suite

Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
…reenshot protection

Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
…ent cookie-based settings

Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
…particles, and settings persistence

Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
…QoL features

Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
…gs persistence issues

Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
…mations

Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
Copilot AI and others added 27 commits October 1, 2025 14:24
Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
…, Analytics)

Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
…ception

Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
…bundle loading

Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
…4-ee33f804b5d3

Fix proxy configuration, CSS errors, add AdSense, Analytics, cookie consent, and fix proxy selection persistence for production deployment
Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
… of non-existent window.multiProxy

Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
…king

Co-authored-by: zgr2575 <62474113+zgr2575@users.noreply.github.com>
…fc-2fdf17771979

Fix proxy initialization and settings page proxy status display with comprehensive debugging
This commit addresses multiple critical issues that were preventing the webproxy from working:

**Webproxy Fixes:**
1. Fixed service worker unregistering on every page load - now reuses existing active service workers instead of destroying them
2. Fixed service worker script loading order - bundle.js now loads before config.js to ensure Ultraviolet library is available
3. Added checkFinalStatus() call to proxy initialization to verify system is working
4. Fixed URL encoding to use proper Ultraviolet encoder instead of broken btoa() implementation

**UI Fixes:**
5. Fixed go.html: getElementById("browser-iframe") → getElementById("ifra") - was causing iframe height calculation to fail
6. Added missing toggleHiddenGames() function in games.html
7. Implemented user blocking tracking in admin dashboard (replaced TODO)

**Technical Details:**
- proxy-init.js: Service worker now checks if registration exists and is active before unregistering
- sw.js: Reordered importScripts to load Ultraviolet bundle before config that depends on it
- proxy-init.js: encodeUrl() now uses __uv$config.encodeUrl() when available
- admin.js: Added getBlockedUsersCount() method to AdminStore class
- routes/admin.js: Stats endpoint now returns actual blocked user count

These fixes resolve the issue where webproxy would never work due to service worker constantly being destroyed and improper initialization order.
This commit addresses critical UX issues and implements missing features:

**UX Improvements:**
1. Replaced all alert() calls with modern showNotification() system
   - index.html: Beta enable/disable now uses notifications
   - h.js: Popup blocker warning uses notification system

2. Fixed games/apps page long list glitch
   - apps.html: Fixed selector from ".container-apps .app-item, .container-apps > div" to ".container-apps > .app-item"
   - games.html: Same fix to prevent duplicate selections
   - Added search result counter with proper visibility toggle

3. Fixed about:blank mode jankiness
   - h.js: Complete rewrite with proper error handling
   - Added loading indicator during iframe setup
   - Added timeout delays for proper popup initialization
   - Better error messages and fallback handling

**Implemented Missing Features:**
4. Plugin Store - Replaced "Coming soon" with informative modal
   - Shows instructions for manual plugin installation
   - Links to plugin documentation

5. Browser Page Menu - Implemented functional page menu
   - Reload, duplicate, pin, and close tab options
   - Proper modal interface with clean UI

**Code Quality:**
6. Removed excessive debug console.log statements
   - settings.html: Consolidated all [PROXY DEBUG] logs under DEBUG_PROXY flag
   - Removed ~20+ console.log statements from production code
   - Added conditional logging for debugging when needed

7. Hide developer-only features from regular users
   - settings.html: Added automatic hiding of screenshot protection and ad controls
   - Features only visible when developer-mode cookie is set
   - Cleaner UI for regular users

**Technical Details:**
- All modified files passed syntax validation
- Improved error handling with try-catch blocks
- Better user feedback with success/error notifications
- Reduced console noise in production

These fixes significantly improve the user experience and resolve reported glitches.
The games/apps grid was not wrapping properly because of double grid nesting.
The outer #games-grid and #apps-grid containers were creating their own grid,
which was constraining the inner .container-apps grid.

Changed #games-grid and #apps-grid from display:grid to display:block to let
the .container-apps handle the grid layout properly. Now items wrap correctly
across the full available width.
Added global modal handler system that properly manages modal display:
- Created modal-handler.js with ModalHandler class
- Creates dynamic overlay backdrop for modals
- Handles ESC key and click-outside-to-close
- Wires up all modal buttons (theme creator, import, pause, etc.)
- Added export theme functionality directly to button
- Modals now properly open/close with smooth animations

Fixes issue where settings modals (theme creator, import, pause)
were not opening when buttons were clicked.
UI / CSS fixes:
- settings.css: remove extra stray closing brace, merge orphaned
  .modal-footer rule into the 768px media query, consolidate the
  duplicate 480px media query into one block
- main.css: remove duplicate .suggestion-item CSS block (was defined
  twice with conflicting properties); consolidate :first-child/:last-child
  border-radius into the single block; add flex-shrink:0 to ::before icon
- main.css: fix .main-content.with-sidebar margin-left from 60px → 0
  (sidebar is fully hidden when collapsed, the gap was wasted space)
- navbar.js: change sidebar overflow from 'hidden' to 'visible' so the
  .sidebar-trigger div and ::after hover indicator are not clipped;
  add overflow-y:auto / overflow-x:hidden to .sidebar-content instead

HTML fixes:
- index.html: remove duplicate PWA meta tags (mobile-web-app-capable,
  apple-mobile-web-app-capable, apple-mobile-web-app-status-bar-style,
  theme-color were declared twice); fix indentation on beta-banner link;
  update copyright year 2024 → 2025
- 404.html: fix undefined CSS variables --accent-hover → --accent-secondary
  and --border-color → --border-primary; replace broken script paths
  assets/js/themes.js and assets/js/settings.js (files don't exist) with
  inline theme loader using correct cookie-utils.js; inline go-back listener
- login.html: fix indentation on components.css link; fix setLoading()
  button text to preserve emoji prefix (🚀 / ⏳); remove broken particles
  module import referencing non-existent #particles element

Documentation:
- CONTRIBUTING.md: complete rewrite with proper sections (CoC, dev setup,
  workflow, commit format, code style, PR checklist, bug reports, features)
- SECURITY.md: replace boilerplate template; fix version table (>= semver);
  replace "create a public issue" with GitHub Security Advisory flow +
  coordinated disclosure policy
- CHANGELOG.md: replace single-line list and "I DONT UPDATE THIS" with
  proper Keep a Changelog format covering v7–v9
- README.md: remove 14 broken documentation links pointing to non-existent
  files; replace with links to files that actually exist in the repo

https://claude.ai/code/session_01Tg9dzcv6XUD99b71j24jWF
CSS variable fixes:
- variables.css: add missing --bg-quaternary (#0f172a dark / #e2e8f0 light)
  which was used in auth.css, onboarding.css, custom-dropdown.css with
  fallback values but never defined in the base theme
- variables.css: add --accent-color as alias for --accent-primary so legacy
  code in theme-creator.css and old stylesheets resolves correctly
- main.css: fix .skip-link using undefined --accent-color -> --accent-primary

Invalid CSS property:
- onboarding.css: replace background-opacity: 0.1 (not a valid CSS property,
  silently ignored by all browsers) with background: rgba(79, 70, 229, 0.1)
  on .theme-option.active

Invalid HTML:
- settings.html: remove <xn>vio</xn> and <xn>pro</xn> tags (not valid HTML
  elements, likely a content filter bypass artifact) - replaced with plain text
- settings.html: rename id="2" (numeric-only IDs are invalid in querySelector
  and CSS selectors) to id="particles-toggle"

Formatting / code quality:
- beta-banner.css: fully reformat from minified single-line CSS to
  properly indented multi-line style matching rest of codebase;
  replace hardcoded #6366f1, rgba(255,255,255,0.12) etc. with
  var(--accent-primary), var(--border-primary), var(--text-primary),
  var(--font-size-sm), var(--radius-lg); add hover opacity transition;
  add mobile responsive rule for narrow screens

signup.html:
- Add ⏳ loading indicator to setLoading() button text (matches login.html)
- Remove broken particles module import referencing non-existent #particles

https://claude.ai/code/session_01Tg9dzcv6XUD99b71j24jWF
…lity

frame.css (5 broken CSS values fixed):
- width: fill -> width: 100% (invalid value, fails silently)
- margin-top: 0 auto -> margin-top: auto (shorthand invalid for single prop)
- margin-bottom: 0 auto -> margin-bottom: auto (same issue)
- padding: none -> padding: 0 (invalid value)
- Remove duplicate .nav-right .nav-btn:hover rule (defined twice with
  conflicting font-size: 3vw vs 3vh — second copy removed)

variables.css:
- Add --bg-hover (rgba(255,255,255,0.08) dark / rgba(0,0,0,0.06) light)
  used in browser-tabs.css with no base definition
- Add --bg-danger (rgba(239,68,68,0.15) dark / rgba(239,68,68,0.1) light)
  used in browser-tabs.css .tab-close:hover with no base definition

browser-tabs.css:
- .tab-close:hover color: fix from var(--text-primary) (white on red bg,
  poor UX) to var(--accent-error) (red text on red-tinted bg, clear signal)
- .browser-tab:hover: add fallback to var(--bg-hover, ...) for resilience

ui.js:
- Fullscreen icon: fix bug where both fullscreen states showed identical
  "⛶" character making it impossible to tell current state; enter = "⛶",
  exit = "⊡"
- Theme toggle title: fix inconsistency — dark themes said "Switch theme"
  (vague) vs light saying "Switch to dark theme" (specific); now always
  "Switch to dark/light theme" to match the action being taken

404.html:
- SVG illustration: add aria-hidden="true" and focusable="false" (was
  purely decorative but announced to screen readers)
- SVG stop-color: CSS variables (var(--accent-primary)) don't resolve
  inside SVG presentation attributes — replaced with hardcoded hex values
  (#4f46e5 / #7c3aed) which match the default dark theme
- Parallax mousemove: wrap in prefers-reduced-motion check; users with
  vestibular disorders will no longer see the constant motion effect
- go-back button: guard history.back() with history.length > 1 check;
  fall back to "/" if no history exists (e.g. direct link to 404)

5 pages — sidebar padding selector fix:
- premium.html, music.html, go.html, tabs.html, tos.html all used
  body:has(.sidebar-nav:hover) to adjust layout padding when sidebar opens
- The sidebar is controlled via JS .expanded class, NOT CSS :hover
  The :hover selector only fires while the mouse is physically over the
  element, so the layout would snap back the moment the cursor moved off
  the sidebar edge — broken UX. Fixed to body:has(.sidebar-nav.expanded)

tos.html:
- .warning-box strong: #ef4444 -> var(--accent-error) (theme-aware)
- .info-box strong: #10b981 -> var(--accent-success) (theme-aware)
- .highlight-box: raw rgba(79,70,229,0.1) -> var(--bg-accent) (theme-aware)

https://claude.ai/code/session_01Tg9dzcv6XUD99b71j24jWF
@vercel
Copy link
Copy Markdown

vercel Bot commented Feb 23, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
algebra Ready Ready Preview, Comment Feb 23, 2026 1:13am

- Move ~330 lines of inline <style> from settings.html to settings.css
  (ads management, premium activation, info labels, search container,
   animation keyframes, proxy status, spotify sections, login prompts)
- Fix <b>Pr</b>oxy broken markup in Legacy Proxy card title
- Fix duplicate .info-label/.info-value definitions (removed pixel-based
  duplicate, kept CSS-variable-based definitions in settings.css)
- Fix <a class="card-description"> misuse on TOS link — now proper
  <p class="card-description"><a href="/tos"> structure
- Replace proxy-status inline style with .proxy-status-box CSS class
- Replace legacy-ads-notice multi-line inline style with .legacy-ads-notice
- Fix Account Management buttons: remove style="margin-right:10px" inline
  styles, use new .account-btn-group flex wrapper with gap
- Fix account/spotify login prompts: remove inline style="text-align:center;
  padding:20px", use new .login-prompt CSS class
- Fix Spotify section: remove inline margin divs, use .spotify-connect-block,
  .spotify-benefits, .spotify-info-block classes
- Remove inline margin-bottom from premium-key-input
- Remove inline margin-top from auth-credentials (now in CSS)
- Remove inline margin-top from modal user-actions and account-section
- settings.css link tag added to <head> (was missing entirely)

https://claude.ai/code/session_01Tg9dzcv6XUD99b71j24jWF
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants