<feed xmlns='http://www.w3.org/2005/Atom'>
<title>meshbay.git/packages/meshbay-android/app/src/main/AndroidManifest.xml, branch 0.20</title>
<subtitle>MeshBay — read-only public mirror</subtitle>
<id>https://git.meshbay.org/meshbay.git/atom?h=0.20</id>
<link rel='self' href='https://git.meshbay.org/meshbay.git/atom?h=0.20'/>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/'/>
<updated>2026-10-10T13:11:52Z</updated>
<entry>
<title>feat(android): back the videos of the chosen albums up beside the photos</title>
<updated>2026-10-10T13:11:52Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-10-10T13:11:52Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=1fd7bbcd038cddf40540bae7083b9adf4c728912'/>
<id>urn:sha1:1fd7bbcd038cddf40540bae7083b9adf4c728912</id>
<content type='text'>
A 'Videos too' option, off by default, sends them into the same YYYY/YYYY-MM
folders. Files are read from the phone a ranged chunk at a time, so a large
video is never whole in the page.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(android): back the calendars up as an iCalendar file</title>
<updated>2026-10-10T12:52:57Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-10-10T12:52:57Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=3bad2b50187f55463588a2d4e74fa9df4beb35b8'/>
<id>urn:sha1:3bad2b50187f55463588a2d4e74fa9df4beb35b8</id>
<content type='text'>
A Calendar section sends every calendar the person can edit, as a dated .ics,
into &lt;folder&gt;/&lt;account&gt;-calendar once a day when it changed.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(android): back the phone's contacts up to a group of one's own</title>
<updated>2026-10-10T10:56:26Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-10-10T10:56:26Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=a0793dd37030f7213ecb07a018b11e6a8adf9238'/>
<id>urn:sha1:a0793dd37030f7213ecb07a018b11e6a8adf9238</id>
<content type='text'>
A Contacts backup section on the Android Sync page sends a dated .vcf into
&lt;folder&gt;/&lt;account&gt;-contacts once a day when the address book changed, only
to a group the account is alone in, checked again at every run.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat: back up the phone's photos to a group, once a day on Wi-Fi</title>
<updated>2026-10-09T16:23:56Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-10-09T16:23:52Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=25152ddb61a89ea3ea29d3aef5de13343429d32a'/>
<id>urn:sha1:25152ddb61a89ea3ea29d3aef5de13343429d32a</id>
<content type='text'>
The Android application sends the photos taken on the phone to one folder of
one group chosen by the member (docs/MESHBAY_DESIGN.md §9.12). The phone lists
MediaStore, keeps a ledger of what was sent and hands each photo's bytes to the
page by an opaque token on the packaged origin; the page decides when a run is
due and uploads through the existing path, one photo at a time under a slot.

- Once a day from the last finished run, on an unmetered network only;
  "Back up now" asks first on mobile data. Leaving Wi-Fi stops after the file
  in flight.
- Photos already on the phone are sent by default, newest first, under
  &lt;folder&gt;/YYYY/MM; edits are sent beside the original as -edited-&lt;date&gt;.
- Additive by construction: nothing is ever deleted, renamed or replaced on
  the node, and a photo deleted on the node is not sent again.
- A confirmation names the group, owner, members, folder and size when the
  destination or starting point changes; a lasting refusal (disk full, folder
  read-only or gone, no longer a member) is said once and retried a day later.
- No ACCESS_MEDIA_LOCATION, so the platform redacts photo locations.
- A dataSync foreground service keeps a run going with the screen off.

HEIC/HEIF photos are sent but not shown in Photos yet (§15.2).

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat: notifications on Android while closed, with nothing to install</title>
<updated>2026-10-09T10:08:31Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-10-09T10:08:31Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=6832df6177ad973ad0e1b4f0a49d7a6da06c6e04'/>
<id>urn:sha1:6832df6177ad973ad0e1b4f0a49d7a6da06c6e04</id>
<content type='text'>
The phone fetches what is new every fifteen minutes with a poll secret
(POST /v1/push/poll) that reads notification lines and nothing else. When a
UnifiedPush distributor is already installed, the hub also pushes at once,
encrypted to the phone (RFC 8291); losing the distributor falls back to
fetching.

The hub now honours "disable all notifications" itself: create_notification
creates nothing for that account, as it already did for a muted group, so
neither switch lets anything reach a phone. The interface used to be the only
reader of the account-wide switch.

Push endpoints are member-supplied URLs: a send refuses non-public
addresses, connects to the address it checked, and follows no redirect.

Android build untested here (no SDK on this machine).

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(android): the MeshBay icon</title>
<updated>2026-10-03T12:24:54Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-10-03T08:31:48Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=c6660c21cd4da352b710631363d494c56feffc8e'/>
<id>urn:sha1:c6660c21cd4da352b710631363d494c56feffc8e</id>
<content type='text'>
The desktop client's icon in the adaptive icon's safe zone, over its own edge
colour, so no launcher mask crops the M.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(android): casting through a LAN relay and the platform cast SDK</title>
<updated>2026-10-03T12:24:54Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-10-03T07:03:34Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=57758895bc7b0f7f21497194e81172f43d634852'/>
<id>urn:sha1:57758895bc7b0f7f21497194e81172f43d634852</id>
<content type='text'>
A port of cast-relay.js (backlog also bounded in bytes), discovery and control
with the default media receiver, relay calls kept in order, and a foreground
service plus a WebView kept visible so a cast survives the screen going off.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>feat(android): client shell with the interface from the package</title>
<updated>2026-10-03T12:24:54Z</updated>
<author>
<name>Christophe Besson</name>
<email>cbesson@gmail.com</email>
</author>
<published>2026-10-02T10:14:01Z</published>
<link rel='alternate' type='text/html' href='https://git.meshbay.org/meshbay.git/commit/?id=6ebfc86392a74dc0ae18f0d2703a3f91b8977d46'/>
<id>urn:sha1:6ebfc86392a74dc0ae18f0d2703a3f91b8977d46</id>
<content type='text'>
WebView over the packaged UI (copied from hub/static at build time), the
desktop CSP as a header, a bridge answering our top-level document only,
hub calls from native to the signed-in hub. Keys stay in the page for now.

Co-Authored-By: Claude Opus 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
</feed>
