Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
163 commits
Select commit Hold shift + click to select a range
acf2b9b
android(i18n): added ukrainian translation (#245)
henmalib Nov 13, 2025
7356e57
linux: Use white text for tray icon battery percentage (#243)
xxmathias Nov 13, 2025
3696a4e
docs(linux): use GitHub warning text for warning note (#248)
t3hmrman Nov 16, 2025
4a44941
update license to GPLv3
kavishdevar Nov 16, 2025
e8e1650
docs: add dark themed star history
kavishdevar Nov 16, 2025
944195b
docs: add linux screenshots to readme
kavishdevar Nov 16, 2025
f4fbcc9
remove CoC and contributing
kavishdevar Nov 16, 2025
55d1a69
docs: fix linux app pr link
kavishdevar Nov 16, 2025
e3eab3e
docs: update root requirement
kavishdevar Nov 17, 2025
938f0d5
docs: Add Airpods Max to README (#260)
clepdn Nov 17, 2025
1dbb36a
docs: fix grammar in README (#277)
unpleased Nov 19, 2025
141f1e7
android(fix): do not require phone's MAC for service start (#253)
kavishdevar Nov 19, 2025
be362c5
docs: fixed grammar in AAP definitions (#287)
ternera Nov 19, 2025
0a608af
refactor: Add Python type annotations wherever appropriate (#269)
mikomikotaishi Nov 19, 2025
8fbdfd8
android(refactor): remove unused textColor property and related prefe…
iscle Nov 20, 2025
f12fe90
docs: clarify root requirement for oxygen/coloros
kavishdevar Nov 20, 2025
8a5d608
linux: AirPods Max battery status support (#272)
tyrone-sudeium Nov 20, 2025
0123449
docs: it's vendorid not manufacturerid
kavishdevar Nov 20, 2025
5231b12
docs: add supporters and acknowledgments to README
kavishdevar Nov 20, 2025
ecfbcd1
android: set min version to 13
kavishdevar Nov 20, 2025
aa0898a
android: remove sponsor dialog
kavishdevar Nov 21, 2025
93ac06b
linux(docs): add missing dependencies (#300)
bradloh Nov 21, 2025
36c5516
android(i18n): add tr-TR (#303)
kararliadam Nov 21, 2025
a80680f
docs: fix broken link to hearing aid gist (#304)
SubhrajyotiSen Nov 21, 2025
a06c673
android(i18n): add pt translation (#297)
oliveiragabriel1 Nov 21, 2025
de82cdd
android(fix): parse and send hearing aid data properly (#286)
kavishdevar Nov 22, 2025
e192dc1
android(i18n): add Italian translation (#307)
albanobattistella Nov 22, 2025
10bf2fe
android(i18n): add Spanish translations (#310)
sergylm Nov 22, 2025
574c193
linux: improve conversation detect logging (#302)
ozan956 Nov 22, 2025
826e395
android: use setConnectionProfile instead of (dis)connect on Bluetoot…
kavishdevar Nov 23, 2025
fa30d3c
linux: fix single-instance logic (#314)
ozan956 Nov 24, 2025
345b7b9
android(fix): set HSP/HFP policy to allow when connecting to audio (#…
kavishdevar Nov 24, 2025
8088594
android(i18n): add Vietnamese language (#322)
rudolphtran25 Nov 25, 2025
b5f0c32
android(i18n): add French translations (#342)
Falluck Dec 1, 2025
f3b1db2
docs: turn absolute links to relative links in readme (#340)
dragsbruh Dec 1, 2025
0e1f784
linux(fix): hearing aid bug (#355)
ressiwage Dec 7, 2025
a75557d
linux(i18n): add Turkish translations (#361)
muminkoykiran Dec 10, 2025
287163e
i18n: add Traditional Chinese translations (#365)
abc0922001 Dec 11, 2025
e5836c9
docs: fix low-skies URL (#373)
Ba3a-G Dec 11, 2025
dcbbb2c
linux(i18n): add Italian translations (#375)
fccapria Dec 11, 2025
b4deccf
android(i18n): complete Chinese Simplified translations (#368)
lunasaw Dec 14, 2025
e10fe21
docs: clarify +1 instructions in README (#391)
Entropy512 Dec 15, 2025
5cd7db5
android: remove unused permission from AndroidManifest (#372)
MaverickNyk Dec 17, 2025
c9dd79b
docs: add development paused note in README
kavishdevar Dec 28, 2025
339c478
docs: fix typo in README date
kavishdevar Dec 29, 2025
fd33528
fix: update radare2 download source to GitHub releases (#444)
MaizeShark Feb 3, 2026
b81e420
docs: update root requirements in README
kavishdevar Mar 30, 2026
af2622b
feat(linux): add librepods-ctl CLI tool for IPC control (#494)
fabianmoor Mar 31, 2026
8ef839d
linux: update icon
kavishdevar Mar 31, 2026
7fbbe07
docs: refactor and add alternates to README
kavishdevar Mar 31, 2026
3c714c2
docs: add discord invite and other badges
kavishdevar Apr 5, 2026
1f2d707
docs: fix spelling error in Android version requirements (#507)
SaladStik Apr 6, 2026
4f2d11a
android: Fix rename packet using wrong opcode (0x1E → 0x1A) (#511)
d4rken Apr 15, 2026
99616d6
docs: add nightly/development builds section to README (#520)
TomasULR Apr 17, 2026
2363b80
android: stability fixes and xposed api v101 (#531)
kavishdevar Apr 22, 2026
8f9a043
android: cap popup width on tablets and large screens (#521)
TomasULR Apr 22, 2026
5173951
android: fix normal builds
kavishdevar Apr 22, 2026
c84e64e
android: remove unsupported device message
kavishdevar Apr 22, 2026
d1d4856
docs: clarify root requirements
kavishdevar Apr 23, 2026
0b8bd5a
docs: fix issuetracker link in README
kavishdevar Apr 23, 2026
1804e80
docs: fix typo
kavishdevar Apr 23, 2026
ae174bc
android: add confirmation step for unsupported devices
kavishdevar Apr 22, 2026
f6d7e97
android: show price in buy button
kavishdevar Apr 22, 2026
294d733
android: add 'required xposed' text to vendorid config toggle
kavishdevar Apr 22, 2026
d0b8574
android: hide disconnect when not wearing config on play builds
kavishdevar Apr 22, 2026
c19190f
android: fix convo detect not restoring volume when in Transparency mode
kavishdevar Apr 22, 2026
ef221af
android: bump version
kavishdevar Apr 22, 2026
481d5f1
android: fix automatically pausing when media changes without vendori…
kavishdevar Apr 22, 2026
d82e4e2
android: bump version
kavishdevar Apr 22, 2026
113ee0a
android: fallback to .dynsym when .gnu_debugdata fails
kavishdevar Apr 23, 2026
6ac6700
android: format l2c_fcr_hook.cpp
kavishdevar Apr 23, 2026
6272357
android: update zh-rTW translation (#536)
abc0922001 Apr 23, 2026
904c00a
android: fix xposed module in release builds
kavishdevar Apr 23, 2026
7461f7d
android: remove debugging logs
kavishdevar Apr 23, 2026
be29a46
android: check for A16 on OP/Oppo devices
kavishdevar Apr 24, 2026
0af60cd
android: fix ATT on A16QPR3+
kavishdevar Apr 24, 2026
072b9b4
android: remove radare root module
kavishdevar Apr 24, 2026
0b578d6
android: add more compatibility information, fix FOSS billing, hide u…
kavishdevar Apr 24, 2026
67fc93b
android: add packaging task
kavishdevar Apr 24, 2026
d2dd722
android: change device bypass sharedPref key
kavishdevar Apr 24, 2026
8b24ac4
android: add scroll on compatibility check
kavishdevar Apr 24, 2026
0ee7056
android: fix versionName in builds
kavishdevar Apr 25, 2026
aabbc90
ci: release nightly builds on all changes
kavishdevar Apr 25, 2026
7016523
ci: fix ndk
kavishdevar Apr 25, 2026
bf09300
android: fix bypass_device_check.v2 being silently ignored (#543)
MergHQ Apr 25, 2026
b1b4704
ci: fix keystore and add manual trigger
kavishdevar Apr 25, 2026
bb578da
ci: upload artifacts separately
kavishdevar Apr 25, 2026
8cb2951
ci: fix typo in release bundle asset name
kavishdevar Apr 25, 2026
f5d9276
android: rename util->utils in normal flavor
kavishdevar Apr 25, 2026
469d948
android: add xposed check and email form
kavishdevar Apr 25, 2026
0d049d9
ci: use latest release tag for changelog
kavishdevar Apr 26, 2026
95cd677
android: fix bypass on pixels on older A16 version; also check Xposed…
kavishdevar Apr 26, 2026
cb246d1
android: update dialog and add app info to incompatible page
kavishdevar Apr 26, 2026
23193ce
android: load native hook from split apks when base fails
kavishdevar Apr 27, 2026
70f420d
android: fix text color in email bottom sheet
kavishdevar Apr 27, 2026
b06d780
android: fix xposed state being set true onResume
kavishdevar Apr 27, 2026
e39c1cf
android: fix ControlCommand.parseFromBytes outofbounds crash
kavishdevar Apr 28, 2026
136e3e8
android: do not log writeRaw in ATTManager if socket unavailable
kavishdevar Apr 28, 2026
3a636e3
android: increase bottom padding on all screens
kavishdevar Apr 28, 2026
37056c6
android: fix icon size in select list
kavishdevar Apr 28, 2026
b64ff1d
android: catch exceptions when closing IslandWindow
kavishdevar Apr 28, 2026
e20b0f7
android: fix adaptive audio strength slider not being flipped
kavishdevar Apr 28, 2026
4c8b0d7
android: fix crash in reading call control settings
kavishdevar Apr 28, 2026
d4ee741
android: add disconnect button
kavishdevar Apr 28, 2026
629b7b9
android: fix crash on some devices not properly closing socket
kavishdevar Apr 28, 2026
60e865f
android: call connect to audio even if BLUETOOTH_PRIVILEGED/MODIFY_PH…
kavishdevar Apr 28, 2026
9eb6010
android: connect to audio when reconnecting to last connected device
kavishdevar Apr 28, 2026
3e89d7f
android: version bump
kavishdevar Apr 28, 2026
ddcf15e
android: clear root module build dir on each run
kavishdevar Apr 28, 2026
30d16e9
docs: add some docs
kavishdevar Apr 28, 2026
7cd4dfa
remove head tracking
kavishdevar Apr 28, 2026
b88b14d
move things around
kavishdevar Apr 28, 2026
4ef3e4d
ci: post nightly release to #android-ci on discord
kavishdevar Apr 28, 2026
795bebc
android: use pressandhold settings when cycling modes
kavishdevar Apr 28, 2026
d80f227
android: remove NativeBridge calls from app settings
kavishdevar Apr 29, 2026
7b81411
android: fix media not resuming when using single AirPod
kavishdevar Apr 29, 2026
c7a5cb2
android: fix crash in listening mode widget when service is null
kavishdevar Apr 29, 2026
3321bb1
android: bump version
kavishdevar Apr 29, 2026
845f261
android: make head tracking screen scrollable
kavishdevar Apr 30, 2026
a489829
docs: update readme root requirements (#557)
nikhilmaddirala May 1, 2026
93a93cb
fix: sync magisk update json with current release URLs (#563)
thisisAcidic May 2, 2026
fb44f01
android: allow non-premium users to disable head gestures (#564)
thisisAcidic May 2, 2026
d1933c3
android: add popup toggles (#561)
thisisAcidic May 5, 2026
f08769e
android: add optmized charge limit config
kavishdevar May 5, 2026
b2ba830
android: hide reconnect when app hasn't connected once
kavishdevar May 5, 2026
b733694
android: add convo detect broadcast
kavishdevar May 5, 2026
fd3774b
android: bump version
kavishdevar May 5, 2026
216c97f
android: add CP1A.260505.005 to comptible build ids on Pixel
kavishdevar May 6, 2026
798498b
refactor: wrap device views in scrollable containers and update heigh…
debarkak May 7, 2026
044aff7
android: keep only xposed flavor
kavishdevar May 7, 2026
d1b32d5
android: add permissions file to root module
kavishdevar May 10, 2026
75a52cd
add GitHub issue templates (#565)
thisisAcidic May 11, 2026
c15e15a
update app source options in android bug report template
kavishdevar May 11, 2026
6f28df7
ci: build only unsigned debug apks on PR
kavishdevar May 11, 2026
ea2c2b8
update app source options
kavishdevar May 11, 2026
64d233d
android: use issue template
kavishdevar May 11, 2026
5bc5079
update android bug report template
kavishdevar May 11, 2026
0838408
refactor: move scrollable wrapping into view functions
debarkak May 12, 2026
362e342
ci: rename linux ci
kavishdevar May 15, 2026
154ed17
docs: update README
kavishdevar May 15, 2026
37c1837
docs: fix badge label encoding in README
kavishdevar May 15, 2026
0101428
docs: add screenshots header to android README
kavishdevar May 15, 2026
f9367f4
docs: fix root requirement link in repo README
kavishdevar May 16, 2026
3f2a7df
docs: remove installation instructions from project README
kavishdevar May 16, 2026
8c6bb40
Merge branch 'kavishdevar:linux/rust' into linux/rust
debarkak May 18, 2026
2211123
feat: collapsible device info with masked serial numbers
debarkak May 18, 2026
29a914c
docs: update 2-way audio description for Android in project README
kavishdevar May 18, 2026
91c3940
feat: redesign disconnected device state with connect button
debarkak May 19, 2026
a5818ce
feat: show friendly AirPods model name alongside raw model number
debarkak May 19, 2026
9f12f07
feat: replace listening mode dropdown with segmented icon buttons and…
debarkak May 19, 2026
5602415
docs: migrate and update README from main branch
debarkak May 19, 2026
be62ce1
fix: resolve listening mode render-loop and off mode visibility in se…
debarkak May 19, 2026
4b5ceae
fix: resolve listening mode feedback loop and unsafe from_byte fallback
debarkak May 29, 2026
d254b55
feat: add visual battery UI with model-aware device artwork
debarkak May 29, 2026
f86d7b9
android: fix PLAY_BUILD flag
kavishdevar May 17, 2026
3c3c0ed
android: add message for Play users who unlocked FOSS upgrade
kavishdevar May 17, 2026
571db0e
android: listen to UUID broadcasts
kavishdevar May 29, 2026
af42614
android: fix rework ATT connection
kavishdevar May 30, 2026
1381022
android: fix name field being empty on rename screen launch
kavishdevar May 30, 2026
0f50eab
android: move ATT code to viewmodel from screens and enable notificat…
kavishdevar May 30, 2026
c1093fb
android: fix FOSS upgraded being written false on app launch
kavishdevar Jun 1, 2026
0477674
android: set audiofocus none in popup video views (#611)
ItsJiggles Jun 1, 2026
72cb6f9
Merge branch 'kavishdevar:main' into linux-rust-enhancements
debarkak Jun 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,5 @@ indent_size = 4
trim_trailing_whitespace = false
max_line_length = off

[*.{py,java,r,R,kt,xml,kts}]
[*.{py,java,r,R,kt,xml,kts,h,hpp,cpp,qml}]
indent_size = 4
110 changes: 110 additions & 0 deletions .github/ISSUE_TEMPLATE/01-bug-report-android.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
name: Bug report (Android)
description: Report a bug in the Android app
labels: ["bug", "android"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report a bug. Please fill in as much as you can.
- type: input
id: app-version
attributes:
label: App version
description: "Find this in `Settings → About → Version` in the app, or in your phone's app info."
placeholder: "v0.2.5 (build 46)"
validations:
required: true
- type: dropdown
id: app-source
attributes:
label: App source
options:
- GitHub
- Play
- Built from source
validations:
required: true
- type: input
id: device
attributes:
label: Device
description: Manufacturer and model.
placeholder: "Google Pixel 8 Pro"
validations:
required: true
- type: input
id: android-version
attributes:
label: Android / OS version
description: Include the OEM skin if relevant.
placeholder: "Android 16, OxygenOS 16, ColorOS 16, ..."
validations:
required: true
- type: dropdown
id: root-method
attributes:
label: Root / hook method
options:
- No root (native L2CAP support)
- Magisk + Xposed
- KernelSU + Xposed
- Other (describe in additional context)
validations:
required: true
- type: dropdown
id: airpods-model
attributes:
label: AirPods model
options:
- AirPods (1st gen)
- AirPods (2nd gen)
- AirPods (3rd gen)
- AirPods (4th gen)
- AirPods (4th gen) with ANC
- AirPods Pro (1st gen)
- AirPods Pro 2 (Lightning)
- AirPods Pro 2 (USB-C)
- AirPods Pro 3
- Other / not sure
validations:
required: true
- type: input
id: firmware
attributes:
label: AirPods firmware
description: Find this under `About` in the app once connected.
placeholder: "8454768"
- type: textarea
id: description
attributes:
label: What happened
description: Describe what you observed and what you expected. Include steps to reproduce if applicable.
validations:
required: true
- type: textarea
id: logs
attributes:
label: Logs
description: |
If you are rooted, give the app root access, open the app, go to `Settings → Troubleshooting → Collect Logs`, and attach the resulting file here.

Without logs most bugs are very hard to diagnose. If you are not, follow these instructions:
(Needs access to a computer, and USB/Wireless Debugging under developer options enabled)

Commands:
- Get the uid: Linux/Mac: `adb shell dumpsys package me.kavishdevar.librepods | grep uid`
- Start logs: `adb logcat --uid=<uid>,1002 >> librepods-logs.txt` (1002 is for bluetooth)

Steps for proper logs
- force close the app
- turn off bluetooth
- start logs
- open the app
- turn on bluetooth and connect

placeholder: Paste log content or attach the file
- type: textarea
id: extra
attributes:
label: Additional context
description: Anything else that might help (screenshots, video, related issues, what you've already tried).
83 changes: 83 additions & 0 deletions .github/ISSUE_TEMPLATE/02-bug-report-linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: Bug report (Linux)
description: Report a bug in the Linux program
labels: ["bug", "linux"]
title: "[Linux] "
body:
- type: markdown
attributes:
value: |
Thanks for the report. Please fill in as much as you can.
- type: input
id: app-version
attributes:
label: App version
placeholder: "linux-v0.1.0, or linux-rust commit abc1234"
validations:
required: true
- type: dropdown
id: variant
attributes:
label: Variant
options:
- Rust rewrite (`linux-rust` branch)
- QT version (NOT MAINTAINED! issues will be closed)
validations:
required: true
- type: input
id: distro
attributes:
label: Distro and version
placeholder: "Arch Linux, Fedora 41, Ubuntu 24.04, NixOS 25.05"
validations:
required: true
- type: input
id: desktop
attributes:
label: Desktop environment / compositor
placeholder: "GNOME 47 (Wayland), KDE 6 (X11), Hyprland, ..."
validations:
required: true
- type: dropdown
id: install-method
attributes:
label: Install method (only official sources)
options:
- Built from source (`nix` or otherwise)
- Pre-built binary
- AppImage
- Other
validations:
required: true
- type: dropdown
id: airpods-model
attributes:
label: AirPods model
options:
- AirPods (1st gen)
- AirPods (2nd gen)
- AirPods (3rd gen)
- AirPods (4th gen)
- AirPods (4th gen) with ANC
- AirPods Pro (1st gen)
- AirPods Pro 2 (Lightning)
- AirPods Pro 2 (USB-C)
- AirPods Pro 3
- Other / not sure
validations:
required: true
- type: textarea
id: description
attributes:
label: What happened
description: Describe what you observed and what you expected. Include steps to reproduce if applicable.
validations:
required: true
- type: textarea
id: logs
attributes:
label: Logs and stderr
description: Run the app from a terminal with `--debug` and paste the output.
- type: textarea
id: extra
attributes:
label: Additional context
31 changes: 31 additions & 0 deletions .github/ISSUE_TEMPLATE/03-feature-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Feature request
description: Suggest a new feature or improvement
labels: ["enhancement"]
body:
- type: dropdown
id: scope
attributes:
label: Scope
options:
- Android
- Linux
- Both
- Other
validations:
required: true
- type: textarea
id: problem
attributes:
label: Problem or use case
description: What are you trying to do? What is missing or hard today?
validations:
required: true
- type: textarea
id: proposal
attributes:
label: Proposed solution
description: How might it work? UI sketches, behavior, edge cases.
- type: textarea
id: alternatives
attributes:
label: Alternatives considered
Loading