Skip to content

Clarify nearby sharing ownership and prepare Sync360 0.6.1 - #25

Merged
CodePandaaAI merged 1 commit into
masterfrom
quality
Oct 1, 2026
Merged

CodePandaaAI merged 1 commit into
masterfrom
quality

Conversation

@CodePandaaAI

Copy link
Copy Markdown
Owner

Summary

This update continues Sync360’s ownership-focused rebuild and prepares version 0.6.1.

It makes nearby sharing easier to understand at both the implementation and product levels:

  • discovery means finding devices to send to;
  • advertising means allowing nearby devices to find this device;
  • Send and Receive now present those responsibilities separately.

Nearby networking

  • Split the shared NetworkServices contract into explicit discovery and advertising start/stop operations.
  • Simplified NetworkServicesController while keeping HTTP and TCP listeners alive across nearby-service restarts.
  • Rebuilt the Android NSD implementation around explicit callback and listener ownership.
  • Use DiscoveryRequest and ServiceInfoCallback on Tiramisu extension 22 and newer.
  • Retain the legacy DiscoveryListener and serialized one-shot resolution path below extension 22.
  • Updated Android, Desktop, Windows, and iOS implementations for the explicit contract.
  • Preserve real FailedToStart and CleanupFailed states instead of hiding them behind generic UI errors.

UI and product clarity

  • Send now presents only device-search status and nearby devices.
  • Receive now presents only nearby visibility and receiving information.
  • Both screens reuse the same underlying Start, Stop, and Retry operations.
  • Added warning badges to the relevant navigation item when discovery or advertising needs attention.
  • Disabled misleading actions while the corresponding native operation is starting or stopping.
  • Redesigned the idle Receive screen around:
    • the advertised device name;
    • the file-transfer code;
    • nearby visibility.
  • Added advertised-name presentation for Android, Desktop, and iOS.
  • Kept Desktop hostname lookup off the UI thread.
  • Refined empty discovery and active-search presentation.

Release metadata

  • Android version code: 11
  • Android version name: 0.6.1
  • Desktop package version: 0.6.1
  • iOS build number: 11
  • iOS marketing version: 0.6.1

Validation

Previously observed manually on Android:

  • modern discovery finds, updates, and removes devices;
  • legacy discovery starts and queues resolutions;
  • advertising starts normally;
  • foreground device addition and removal work.

The final 0.6.1 APK and MSI have not yet been built or validated after the latest UI changes.

Known limitations

  • Android 17 ACCESS_LOCAL_NETWORK handling is not implemented.
  • A foreground Start arriving while Android NSD is still stopping is not automatically replayed.
  • Modern Android discovery currently reports Running before the asynchronous callback-registration success signal.
  • Legacy late-resolution and multi-network ownership edge cases remain open.
  • Windows packages are unsigned and may trigger an unknown-publisher or SmartScreen warning.

- separate device discovery on Send from visibility on Receive
- show failures and retry actions on their relevant screens
- add navigation badges for discovery and advertising failures
- redesign the Receive identity, transfer-code, and visibility UI
- show advertised device names across Android, Desktop, and iOS
- keep Desktop hostname resolution off the UI thread
- prepare Android, Desktop, and iOS packages as 0.6.1
@CodePandaaAI
CodePandaaAI merged commit bb1e745 into master Oct 1, 2026
4 checks passed
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.

1 participant