new app store assets ready for relese
This commit is contained in:
@@ -90,3 +90,18 @@ Added bounded session history to dashboard refreshes, with 1-, 5- and 15-minute
|
||||
Build 5 crashed on the physical iPhone: the retrieved report and matching executable identified a null weak-linked Foundation Date >= call in chart filtering. Build 6 uses numeric timestamp comparisons instead; inspection confirmed no weak-linked Date >= or <= entry points remain. User confirmed Home and graph work on the iPhone after build 6 installation.
|
||||
|
||||
Build 7 adds blue/indigo/violet download strokes, teal dashed upload strokes, independent translucent gradient fills, endpoint/selection dots, a soft plot background and coordinated speed values. Signed Release build passed and binary compatibility inspection passed. Installed on the iPhone; automatic launch was blocked because the phone was locked. No new network or sampling behavior was introduced by the colour change.
|
||||
|
||||
## Accumulated iOS fixes — 5 November 2026
|
||||
|
||||
- Retained session-owned, deduplicated Settings loading and root-owned dashboard polling. Tightened cancellation reporting: retired sessions and explicit Swift task cancellation stay silent; URLError.cancelled is silent only when its task is cancelled. Unexpected cancellation, timeout, HTTP and decoding failures remain visible.
|
||||
- Timestamped upload/download history now uses an atomic Codable archive in Application Support, scoped to the configured server and username. Restored during model initialization and connection; rolling 24-hour pruning, bounded one-second sampling, and segment breaks after missing measurements. Failed refreshes never fabricate data. Forget credentials removes the local archive. Persistence failures are visible on Home/Library. Default chart window is 24 hours.
|
||||
- Completed/seeding torrents use green progress in the shared Library/detail row; completed files also use green bars. Home retains its original downloading-only state filter.
|
||||
- Detail action controls use ViewThatFits to wrap vertically on narrow layouts or large text. Existing advanced actions remain in More. Native bordered buttons give pressed feedback; per-torrent pending state prevents duplicate actions and shows progress, success and failure. Inapplicable pause/resume and completed download-priority actions are disabled. Torrent deletion and tracker removal require confirmation. Mutation success is returned directly instead of inferred from an unrelated global alert.
|
||||
- Explicit unit metadata formats known server/detail statistics and preference summaries as readable durations, sizes and speeds. Editors preserve raw values and state the input units. Unknown fields remain raw rather than guessing from their names. Seeding limits use minutes; slow-torrent inactivity uses seconds; refresh interval uses milliseconds; cache uses MiB. Checked against qBittorrent API documentation and AppController source.
|
||||
- Added opt-in local completion notifications in Settings, requesting system permission and presenting foreground banners/sound. Only an observed incomplete-to-complete transition alerts; initial existing completions do not flood notifications. No background polling entitlement or server push was added: suspended apps detect completion on their next foreground refresh; killed-app completions are not guaranteed notifications. Real device notification delivery remains to be verified.
|
||||
- Credentials remain in the existing Keychain service; HTTPS transport, private cookies, server configuration and existing qBittorrent endpoints are preserved.
|
||||
- Temporary build/test files and logs are under ~/Developer/Scratch/Tarnax per user instruction. Unrelated website changes were left untouched.
|
||||
|
||||
Device acceptance still required: narrow iPhone/iPad widths and largest Dynamic Type, live server actions, Settings navigation under poor connectivity, background/relaunch graph restoration, notification permission denial and successful completion delivery. No signed deployment performed for this update.
|
||||
|
||||
Final verification: unsigned generic iOS device Debug build **BUILD SUCCEEDED**; **91 executable model/transport/persistence/formatting contract checks passed**, including Settings view cancellation and real-error reporting; three provisioning-profile tests passed; project/Info.plist validation and diff whitespace checks passed. Logs: ~/Developer/Scratch/Tarnax/build-verified.log and tests-verified.log. Physical-device and live-server verification remain outstanding.
|
||||
|
||||
Reference in New Issue
Block a user