diff --git a/README.md b/README.md index 8af7f314..a0903790 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,34 @@ This repository is an unofficial Linux implementation of Google Nearby, forked from the official Nearby codebase. It focuses on Linux platform support for Nearby Connections, Nearby Sharing, and Nearby Presence. +Status: This is still a work in progress, and there are known bugs and issues that need to be sorted out. + +Motivation: Google has multiple Linux implementation PRs open, but they have not been merged into the official repo. I am tired of begging maintainers, so I am maintaining this Linux-focused fork. + +If you spot bugs, help identifying them is appreciated. Filing issues is always welcome. If you want to contribute, please start a discussion about the guidance you need. + +Bazel is a terrible build system when it does not work and a pretty good one when it does. There is no in-between. The source code is unwieldy and it took me months to understand what everything does and where things go. It does not help that this is how I decided I am going to learn C++. Blessed be my naive soul. + +## Testing status + +I have tested with various setups: + +- Android walkie-talkie example app detects and connects over Bluetooth Classic and Wi-Fi LAN and can share data. Medium upgrade is untested or unclear. +- Linux to Linux sharing is tested extensively so I can control the advertising and discovery environment. +- I do not have access to the Android implementation details. +- If you enable Quick Share visibility to Everyone on Android and run `sharing/linux` in advertising mode, it appears as a target in the Quick Share menu (promising, but not a full end-to-end validation). + +What is tested: + +- Linux to Linux sharing: advertising, discovery, and data work over Wi-Fi Direct, Wi-Fi Hotspot, Wi-Fi LAN, and Bluetooth Classic. +- BLE advertising and discovery work, but without a data medium. +- GATT advertising and discovery work. +- Android to Linux Nearby Connections work for the same mediums as Linux to Linux above (Bluetooth Classic, Wi-Fi LAN, Wi-Fi Hotspot, Wi-Fi Direct). + +What is not tested or unknown: + +- Android to Linux Nearby Sharing with Quick Share end-to-end. + This is not an officially supported Google product. ## What is included @@ -48,10 +76,10 @@ The Linux platform implementation provides abstraction layers over local network | Mediums | Advertising | Scanning | Data | | :---------------- | :--------------------: | :--------------------: | :--------------------: | -| Bluetooth Classic | | |