Skip to content

Tags: reddrickdee/SideScreen

Tags

0.10.1

Toggle 0.10.1's commit message
chore: bump version to 0.10.1

0.10.0

Toggle 0.10.0's commit message
chore: bump version to 0.10.0

0.9.1

Toggle 0.9.1's commit message
0.9.1 — cursor trail hotfix

0.9.0

Toggle 0.9.0's commit message
0.9.0 — keyframe tracking + stream resilience

0.8.1

Toggle 0.8.1's commit message
fix(mac): info popover renders hint text instead of empty bar (0.8.1)

The `ⓘ` icon next to Status rows opened an empty horizontal bar — fixedSize(horizontal: false, vertical: true) was applied after frame(maxWidth: 320), so the popover computed ideal height before width and collapsed to one thin row stretched to 320 pt. Reordered modifiers to a fixed 280 pt frame with fixedSize before frame, plus explicit leading alignment.

Wireless mode and all other 0.8.0 functionality unchanged.

0.8.0

Toggle 0.8.0's commit message
fix(ci): satisfy stricter Mac Swift + Android ktlint on GitHub Actions

Mac (release.yml runner Swift toolchain is stricter than local Xcode):
- Strong-bind self before Task in three closures (handleConnectionModeChange
  observer, onWirelessClientPaired callback, refreshStatusIndicators detached
  ADB probe). Local accepted self?.foo inside Task { @mainactor in ... }, CI
  flags it as 'reference to captured var self in concurrently-executing code'
  and refuses to compile.
- Drop bogus 'await self.settings.port' (no async work happens — port is read
  synchronously before the detached Task).

Android (build-android.yml runs ktlint --strict):
- Run ktlint --format across all new wireless files (try/catch spacing,
  statement wrapping, function-signature multiline, argument-list-wrapping).
- Hand-fix four max-line-length offenders by splitting long error strings
  across continuation literals.

0.7.1

Toggle 0.7.1's commit message
fix: remove tccutil reset to stop XProtect quarantining the app (0.7.1)

The 0.7.0 stale-TCC helper added in tranvuongquocdat#8 spawned `/usr/bin/tccutil reset
ScreenCapture <bundle-id>` from inside the app. That exact call sequence
is the textbook signature of TCC-bypass malware (Atomic Stealer /
Cthulhu Stealer family) and XProtect's YARA rules match on it. With our
ad-hoc signature plus disable-library-validation /
allow-unsigned-executable-memory entitlements already in place, the
binary scored high enough to be auto-quarantined to Trash on install.

This commit removes the in-app reset path entirely:

- Drops `resetScreenRecordingPermission()` and the 1.5s post-request
  recheck / stale detection in AppDelegate.checkPermissions(), reverting
  that block to 0.6.8 behavior.
- Drops the "Permission stuck" and "Couldn't auto-reset" banners and
  the `hasGrantedBefore` / `isPermissionStale` /
  `tccResetFallbackVisible` properties from SettingsWindow.
- No literal `tccutil` / `reset ScreenCapture` strings remain in the
  binary, verified with `strings`.

Tradeoff: users who hit a stale TCC entry after a reinstall (tranvuongquocdat#8) must
remove the entry manually in System Settings instead of clicking a
button. Worth it to stop the install-time quarantine that's blocking
all 0.7.0 users.

All other 0.7.0 improvements (short-GOP encoding, instant decode
handshake, default 60 Hz, touch parsing gate, Arrange Displays
shortcut, decoder latency log) are preserved.

v0.7.0

Toggle v0.7.0's commit message
Release v0.7.0

0.6.8

Toggle 0.6.8's commit message
fix: ADB race condition on first connect + SCStream idle false-positi…

…ve restart

- setupADBReverse() is now async and awaited before server start, eliminating
  the race where the streaming server listened before the ADB tunnel was ready.
  Adds 3-attempt retry with 1s delay for first-install USB authorization delays.

- Frame flow monitor now sends a keepalive frame (last captured buffer) when
  the screen is idle instead of restarting SCStream. macOS does not deliver
  frames when content is unchanged — this is by design, not a crash.
  Real SCStream errors are still caught via the error delegate.

- Bump version to 0.6.8, update Info.plist and CHANGELOG.

0.6.5

Toggle 0.6.5's commit message
fix: use CGDisplayMode.pixelWidth/Height property (CGDisplayModeGetPi…

…xelWidth obsoleted in Swift 3)