Repository navigation
Releases: ProofPage/Phrolova
Releases · ProofPage/Phrolova
Release list
Version 2.2.32
Phrolova v2.2.32
SOOP live preview fix
- Reduce intermittent buffering by publishing received SOOP preview segments without waiting for their declared duration.
- Keep the recording data and other platforms' preview timing unchanged.
- Add regression coverage for one hour of simulated segment arrivals, burst handling, shared HLS capture and browser playback.
The fix has not yet been verified with an hour of real SOOP playback.
Version 2.2.31
Phrolova v2.2.31
SOOP recording fix
- Fix
NoPluginErrorwhen starting SOOP recordings in Windows standalone builds. - Explicitly register the Streamlink SOOP plugin instead of relying on automatic plugin discovery.
- Add regression coverage for stream selection and cookie handling when plugin discovery is unavailable.
Phrolova v2.2.30
Phrolova v2.2.30
FlexTV, Instagram, Facebook, and X (Twitter) Support
- Add FlexTV live stream monitoring with token injection for Naver Cloud Platform CDN chunks.
- Add Instagram live stream monitoring and MPEG-DASH recording pipeline.
- Add Instagram video downloading (Reels, posts, and IGTV) with session cookie binding.
- Add Facebook live stream monitoring and signed DASH MPD manifest extraction.
- Add Facebook video downloading (regular videos, Reels, and shared links) with cookie authentication.
- Add X (Twitter) live Spaces monitoring, lossless HLS stream recording, and tweet video downloads.
- Add cookie management and verification for Facebook and X in backend settings and frontend Auth tab.
- Update localization across 8 languages for new platforms, badges, and download selectors.
Version 2.2.29
Phrolova v2.2.29
CHZZK Live Chat & Reaction Markers
- Add independent recording settings for CHZZK live chat logging and chat reaction highlight markers, both defaulting to off.
- Stream live chat through an isolated background receiver with memory bounds (32 MiB) and reconnect protection.
- Save chat logs alongside recordings in UTF-8 CSV without modifying or replacing existing media files.
- Generate Premiere Pro compatible XMEML marker sequences synchronized to the first media delivery checkpoint and recording frame rate.
Replay Chat & Highlights Export
- Export CHZZK replay chat CSV and highlight markers in a single ZIP download from the VOD interface (
/vod). - Validate entered replay duration against collected chat timestamps to prevent misleading or out-of-range markers.
- Protect chat queries against malicious redirects and oversized payloads.
Storage Space Warning
- Display a low-storage warning banner on the dashboard when available space on the recording volume falls below 5 GiB.
- Update storage stats periodically and dismiss the warning automatically once space is freed.
- Active recordings are never automatically aborted due to low disk space warnings.
Fixes & Security
- Block redirects during CHZZK clip info queries to prevent open redirection.
Distribution
- Single-file Windows x64 executable only.
- Existing recordings, media files and user configuration are preserved.
Version 2.2.28
Phrolova v2.2.28
Recording Previews
- Restore local recording previews for RPLAY and other supported platforms instead of relying on CHZZK-only preview state.
- Share complete HLS segments already received by the recorder. Separate HLS/DASH tracks and TikTok media use a bounded, local stream-copy adapter without additional platform API or CDN playback requests.
- Preserve AAC initialization data and synchronize separate audio/video tracks for browser playback.
- End previews when recording stops and reconnect to the new local session when recording restarts. Preview buffers and failures remain isolated from original recording output.
Live Card Controls
- Place recording settings and stop controls beside metrics on wide cards and below metrics on narrow cards.
- Use consistent 8px button spacing, aligned heights and mobile-sized touch targets.
RPLAY Access Status
- Distinguish subscription-tier restrictions, general viewing restrictions and login problems instead of treating every denied grant as an expired session or monitoring failure.
- Use the broadcast's allowed tier identifiers when supplied by the API. Do not infer missing membership or failed age verification from
accessible=Falsealone. - Keep monitoring and healthy recordings running while access is restricted. Log a restriction only when it changes, without accumulating monitoring failures, and resume eligible capture after access returns.
- Show localized access guidance in all eight interface languages and hide unavailable recording-start actions.
Verification
- Added status coverage for all 14 supported platforms.
- Verified simultaneous offline Chromium playback at 375px and 1440px using local TS, fMP4, separate-track, VP9 DASH and audio-only fixtures, including stop/restart and local-only preview requests.
- Verified recording regressions, responsive controls and expanded-card ordering. These checks use local media and mocked service responses, not live platform broadcasts.
Distribution
- Single-file Windows x64 executable only.
- Existing recordings, original media and configuration are preserved.
Version 2.2.27
Phrolova v2.2.27
Multi-Platform Localization
- Automatic System Language Detection: Added native OS language detection across Windows (
GetUserDefaultUILanguage), macOS (AppleLanguages), and Linux/POSIX (LANG,LC_ALL,LC_MESSAGES). - Localized Startup Diagnostics: Terminal dependency check labels (
[OK],[ERROR],[WARN],[INFO], path labels, and completion messages) and interactive installation prompts now adapt automatically to the user's system language.
Verification
- Added comprehensive tests verifying language detection and console formatting for English, Japanese, and Korean.
- All release metadata, backend regression suites, and packaging configurations verified.
Distribution
- Single-file Windows x64 executable only.
- Active recordings and existing configuration remain untouched.
Version 2.2.26
Phrolova v2.2.26
UI Alignment & Improvements
- Unified Channel Header Geometry: The live monitoring card and its expanded details panel now share identical header geometry. Avatar dimensions (40×40px), positioning offsets, typography, verification badges, and status labels are aligned across all views.
- Targeted Browser Cookie Import: Users can now select specific browsers and profile names when importing platform cookies.
- Informative Cookie Import Failures: Browser extraction errors are classified into clear, actionable messages (such as locked browser database or OS DPAPI encryption limits) while preserving any previously saved credentials.
Verification
- Tested identical layout geometry and positioning in Chromium across desktop (1440px) and mobile (375px) viewports for single and paired channel cards.
- Added automated tests for browser extraction, error classification, and non-destructive cookie import behavior across supported platforms.
- Localized all new guidance across 8 languages.
Distribution
- Single-file Windows x64 executable only.
- Existing recordings, configuration, and local preview streaming are fully preserved.
Version 2.2.25
Phrolova v2.2.25
Download Reliability
- Compatible HLS Initialization: Collapse equivalent repeated initialization declarations before the first media fragment. Real initialization changes, byte ranges, encryption contexts and media boundaries remain intact.
- Redirect-Safe Playlists: Resolve relative initialization and media fragments against the final playlist response URL.
- Actionable CHZZK Access Failures: Distinguish sign-in requirements, viewing-permission failures and unavailable videos. These failures stop without redundant automatic retries.
- Consistent Progress: Keep received-byte totals from moving backward or double-counting duplicate notifications, and ignore late callbacks from an earlier attempt.
- Safe Partial Cleanup: Delete only the download's own temporary fragment filenames, leaving similarly named user files untouched.
Diagnostics
- Show localized failure guidance, error codes and attempt counts, including after history is restored.
- Open authentication settings directly from a sign-in or permission failure.
- Keep existing one-click quality selection and prevent overlapping quality/start actions while a request is pending.
- Mask home-directory paths in logs and record unhandled Python exception stacks through the existing logging pipeline.
- Record downloader deprecation notices as warnings rather than runtime errors.
Verification
- Added regression coverage for duplicate initialization, playlist redirects, access denials, cookie-file reuse and isolation, original clip URLs on retry, progress ordering, partial cleanup, log privacy and exception diagnostics.
- Verified complete local HLS downloads with video, audio and expected duration on both default and Akamai routes.
- Verified error guidance, authentication navigation and delayed quality selection in offline Chromium at 375px and 1440px.
- Eight-language checks, production builds, backend regressions and Linux process-management verification remain part of release validation.
- Platform regressions use isolated responses and local media; they do not certify every external service or account.
Distribution
- Single-file Windows x64 executable only.
- Existing recording-only previews and local received-media sharing are unchanged.
Version 2.2.24
Phrolova v2.2.24
Fixes
- Clean Download Diagnostics: Use one canonical yt-dlp color policy. Reusing metadata options during filename preparation no longer produces the “Overwriting params from color with no_color” warning.
- Safe Database Shutdown: Keep connection selection and query/transaction execution under the same lock so concurrent shutdown cannot close a connection immediately before it is used.
- Fresh Download Status After Actions: Explicit status refreshes after Pause, Resume or Cancel wait for older polling requests and then fetch a fresh snapshot. A late pre-cancellation response can no longer leave a cancelled download displayed as active.
- Reliable Lifecycle Cleanup: Drain recording, download and notification services, close shared HTTP resources, and finally close the database even when an exception or cancellation exits the running application lifetime.
Review & Verification
- Reviewed application lifecycle, shared storage, API and file boundaries, recording/download state, local previews, frontend state refresh and release packaging.
- Added regression coverage for downloader option reuse, concurrent database close/query/transaction operations, and normal/error/cancelled lifecycle exits.
- Added offline Chromium coverage for delayed status responses overlapping Pause, Resume and confirmed Cancel.
- Added a GitHub Linux job for the real process-lock, duplicate-start rejection and graceful-shutdown integration test. Windows release builds depend on this job passing.
- Existing recording, download, platform compatibility, localization and production-build checks remain part of release validation.
- Platform and browser regressions use isolated fixtures/local media; they do not certify every external service or account.
Distribution
- Single-file Windows x64 executable only; no
SHA256SUMS.txtattachment. - Existing recording-only previews and local received-media sharing are unchanged.
Version 2.2.23
Phrolova v2.2.23
Fixes & Improvements
- Stable Recording Previews: Pace local preview publication by media duration and wall-clock time instead of recording catch-up speed. Keep advertised fragments available for 30 seconds to prevent bursts of missing-segment requests.
- Recording-safe Memory Limits: Skip new preview fragments under memory pressure instead of blocking recording or evicting promised media. Preserve discontinuity sequences when sampling catch-up footage.
- Bounded Failure Recovery: Stop the affected player on local HTTP errors instead of repeatedly requesting a missing fragment. Keep manual retry and independent playback for other channels.
- Download Channel Identity: Normalize channel/uploader names consistently and prevent download re-extraction from replacing prepared channel names with empty values. Preserve original clip identities and existing thumbnail, duration and profile metadata.
- Accurate Missing-information State: Show “Channel information unavailable” after lookup completes without a channel name, rather than leaving “Checking channel information” indefinitely.
- Live-style Download Controls: Use compact 24px metric spacing and ghost-style Pause, Resume and Cancel buttons. Cancellation still requires confirmation.
Verification
- 2,681 backend tests passed; 2 skipped.
- Added fixture-based channel identity coverage across platform metadata and download-start paths.
- Chromium checks passed at seven viewport widths in both card and list views, including pause/resume and confirmed cancellation.
- Verified simultaneous local recording previews, catch-up reception, delayed fragment requests, stop/restart, forced HTTP failure and manual recovery.
- Eight-language validation and production frontend build passed.
Distribution
- Single-file Windows x64 executable only; no
SHA256SUMS.txtattachment. - Previews remain recording-only and reuse already received media without additional upstream connections or preview API requests.