2026

May 2026

Features

  • Website Block Actions — users can now choose what happens when a website is blocked (e.g. redirect vs. hard block); block handling now respects user preferences
  • Multi-Profile Browser Detection — extension can detect multiple Chrome profiles; warnings shown in settings for outdated extensions; toggle added (currently disabled pending experiment)
  • Browser Blocked Modal — new modal shown when the browser is blocked, replacing silent blocking
  • Proxy Block Data Retrieval — block data is now fetched through the proxy layer for improved reliability
  • Extension Log Retrieval — extension logs can now be fetched remotely via websocket; log level management added
  • LocalAppFeatures Enum — standardized feature flags for local app ↔ extension websocket communication (e.g. log retrieval, browser name reset)
  • Student Verification & Good Karma Coupons — student email verification flow; “Good Karma” system coupons for students and community members
  • Universities Management (Admin) — full CRUD for universities in the admin panel, integrated into admin routes
  • Growth Pricing & Referral Unlock — tiered pricing system based on country tier; referral unlock with discounts; paywall modal updated with community/student discount options
  • Country Tier SystemCountryTier enum and per-user country tier field for pricing and feature gating
  • Linux Installed Apps Overlay — overlay now shows warnings for focus mode and block mode state
  • Electron Browser Integration Test — integration test added to the development build process
  • Tauri App — initial Tauri app scaffolding, JS engine integration, and sync runtime baseline tests

Fixes & Internal

  • LocalAppFeatures-based websocket route cleanup; removed unnecessary windowsData from sync payload
  • Improved timeout handling in tryToGetWhoAmIFromApp window enumeration and long-poll detection
  • Build release lock mechanism to prevent concurrent builds
  • Extension production build: skip integration tests on port conflict
  • Subscription status handling cleanup in electron app engine

April 2026

Features

  • Wayland KDE Support — full KDE Plasma / KWin support via D-Bus scripting; dbus-next integration; warns users about experimental Wayland support
  • Wayland GNOME Supportgnome-window-list integration; GNOME extension install/reinstall helper; smoke tests for GNOME and KDE Wayland
  • Active Guard Overlay in LockModal — shows next schedule inactive time (next unlock window) when a schedule is active; countdown banner
  • Clock Tamper ProtectionTrustedTime API now detects startup clock shift; ClockDriftWarning updated; frictions model and live usage model hardened against clock manipulation
  • LevelDB Caching — replaced lowDb with LevelDB for the app cache layer (cacheEngine); in-memory cache connector added for testing
  • Linux User Session ManagementinitUserSwitchListener to handle Linux user session switches and trigger service lifecycle events
  • Referral Install Rewards — referral bonus credited on first-time Electron login; invite-by-link feature; extended referral subscription durations
  • Subscription Sweep Endpoint — manual endpoint to run expired subscription sweep; midnight tasks enhanced
  • User Tier Snapshot — admin endpoint and display for current/active user tier snapshots
  • Tag Promotionpromote_tag functionality for version management in the build system
  • Integration Tests for Built Apps — smoke tests for macOS and Linux built applications; listRunningApps exposed to integration test environment
  • macOS Window Manager Refactor — system connectors now use a local macWindowManager module; comprehensive smoke tests added
  • Windows Smoke Tests — smoke tests for windowsManager and processListLib
  • Wayland Memory Leak Detection — enhanced KDE/GNOME Wayland smoke tests with memory leak benchmarking and soak tests
  • closeWindow / closeAppByWindowObj — new closeWindow function; UWP safety checks in closeAppByWindowObj
  • Focus Session Enhancements — premium feature indicators in focus session menu; FocusSessionStoreData extended with additional properties; default session duration updated
  • isScheduleActiveNow Function — calculates whether a schedule is currently active; used in LockModal active guard logic
  • Platform Settings → Client Settings Migration — platform settings model removed; all config unified under IClientSettings
  • Logger Interface Update — key parameter added; old DB log methods deprecated

Fixes

  • Clock tamper protection messaging and loading state handling
  • Unlock button disabled in LockModal while countdown is in progress
  • Memory management improvements in countdown window
  • PromisifiedAppEngine type corrected to use DeepPromisifyMethods
  • Build: notarization error handling improved (notarize.sh)
  • Wayland: WM_CLASS construction from WM_NAME/_NET_WM_NAME when missing
  • macOS: dock icon visibility and app name assignment fixes
  • macOS: Swift process management cleanup; utility window removal and process restart
  • Windows: winVersionInfo dynamic import cleanup

March 2026

Stabilization and internal improvements period — no major feature releases.


February 2026

Features

  • Apple Sign-In — full Apple authentication support; Apple login button in UI; Safari download restriction handling
  • Team Focus Rooms — room creation with name; recent teams tracking; share goals and last session summary; leave/cancel room; real-time WebSocket sync via Cloudflare Durable Objects
  • Team Invite by LinkshareRefId replaces teamInviteId; team member invite link generation
  • “Who Am I” Browser Identification — extension identifies itself to the desktop app via window title; browser name stored and synced; incognito status sent on connection
  • Focus Duration Picker & Team Focus HeaderFocusDurationPicker and TeamFocusHeaderBar components added
  • Cancel Countdown Button — users can cancel the cooldown lock countdown from the LockModal
  • Wayland GNOME Extension InstallinstallWaylandExtension method; accordion UI for OS warnings; Wayland support messaging improvements
  • Stop Media on Block — audio and video are paused and picture-in-picture is exited when a block is shown
  • Throttled Window Reload — renderer window reloads are now throttled to reduce redundant state resets
  • Extension Installation Logic Refactor — moved from a standalone service into the store; IPC integration improved; key-value storage for extension state
  • FocusPrepPanel Integration — focus prep panel integrated into TeamFocus flow
  • Add-on Status Refactoring — improved browser add-on state machine; initAndPopulateBrowsersStatus renamed and streamlined
  • getInitials Helper — added to shared_js for generating initials from a name (used in team avatars)
  • Socket.io Upgrade — updated to socket.io-client 4.8.3 / engine.io-client 6.6.4

Fixes

  • Extension install: fixed double-registration of event listeners; init order fixed to prevent dropped events
  • initExtensionInstallLogic now runs before initWebServer
  • refreshTray method: tray menu now updates after session changes
  • Fixed browser pop-back-up bug when closing browser while blocked
  • Fixed cron file path reference (blockerCronLogic)
  • Email regex escaped to handle special characters safely
  • Apple OAuth: state mismatch logged as warning (not thrown)
  • Safari: download prevented with user alert
  • New user banner: suppressed on first day

January 2026

Features

  • Team Focus (initial) — room creation and management via Cloudflare Durable Objects; FocusPrepPanel component
  • Cloudflare Workers Integration — Wrangler config; RoomDO Durable Object for real-time room state
  • Windows Installer ImprovementspreInit macro; file readiness check before launching updated executable; timeout handling
  • Extension Blocking Speed — iframe proxy registration for tab blocking; service worker registration moved into load event
  • Minimized State ComponentMinimizedComponent and minimized route added; app switches to a low-resource mode when minimized to tray
  • Connectivity Test Page — local companion connectivity test page with logging and diagnostics; /health and /version endpoints on internal web server
  • Auto-Renewal Status Display — yearly subscription cards now show auto-renewal status
  • Country Flags in AdmincountryFlagEmoji function; country flags shown in user registration and payment notifications
  • Country Info in User Table — admin user table shows country column
  • AppImage Improvements — desktop entry integration; consistent install path; logging for environment variables; NixOS support message
  • Wayland Chromium App Identifier Handling — improved detection for Wayland Chromium processes
  • IPv4/IPv6 Support in URL Helpersis-ip dependency added; IP address handling in URL utilities
  • safeCall / safeCallWithLogger — new utilities for safe async calls with structured error logging
  • OS Debug Info DisplayDevConsoleModal enhanced to show OS debug info
  • Launch on Startup Improvements — better error handling and logging across platforms; AppImage startup alignment with test function
  • Decrypt CLI Tooldecrypt.js added for CLI decryption of encrypted log files

Fixes

  • throttleWindowActivationChecks: prevented refresh loops on window activation
  • First run logic: improved backup restore and main window visibility handling
  • Linux: WM_CLASS constructed from WM_NAME when missing; pkill used for spawned process cleanup
  • Updater: electron-updater bumped to 6.7.3; auto-install on quit
  • closeAppByWindowObj: process termination handling refactored
  • Content security policy: 127.0.0.1 and localhost added for development
  • Download button visibility logic simplified in TopHeader
  • ua-parser-js downgraded to 1.0.38 for stability
  • Build: npm ci replaces npm install for consistent installs; --no-audit flag added