Ivan
0a76247459
chore(licenses) update versions
2026-05-12 16:31:53 -05:00
Ivan
cd27f2bb7c
feat(memory) add heap monitor for frontend
2026-05-12 16:31:21 -05:00
Ivan
020fe05275
feat(backend) add memory diagnostics, limit sqlite cache statements
2026-05-11 18:24:22 -05:00
Ivan
0e86b574ed
feat(frontend) update styling
2026-05-11 18:13:56 -05:00
Ivan
b2e8e3303b
chore(codebase): format
2026-05-10 19:32:04 -05:00
Ivan
ca6e599043
feat(version, dependencies): prep v4.6.3, update LXMF
2026-05-10 11:19:55 -05:00
Ivan
3d60f7f796
fix(docker): add python3 to build-frontend stage for docs build; add i18n for map drag-drop
2026-05-10 06:22:36 -05:00
Ivan
e1de656219
feat(map): drag-and-drop GeoJSON/KML/KMZ import on map window
2026-05-10 06:22:36 -05:00
Ivan
df8974697c
fix(docker): include CHANGELOG.md, logo/, and reticulum manual in Docker images; fix markdown table styling in docs
2026-05-10 06:22:31 -05:00
Ivan
9b5574c89a
ci(docker): add hardened variant to build matrix, update Dockerfiles and docs for UV
2026-05-10 03:40:22 -05:00
Ivan
24edabb9ab
fix(nomadnet): parse relative /page/ and /file/ URLs, show full URL in link hover titles
2026-05-10 01:53:51 -05:00
Ivan
41e40dc3aa
fix(nomadnet): convert file download backtick params to var_ dict, fix cancel crash
2026-05-10 01:53:45 -05:00
Ivan
4baf577b4e
fix(nomadnet): revert parseNomadnetworkUrl change, only split backtick params for file downloads
2026-05-10 01:22:19 -05:00
Ivan
1fa5a74676
fix(nomadnet): parse backtick-separated parameters in download URLs
2026-05-10 01:18:30 -05:00
Ivan
0db5ad0c80
ui(banishment): group blocked page by identity, show all destination hashes per identity
2026-05-10 01:13:44 -05:00
Ivan
88a887df86
fix(banishment): delete contact and stamp/ticket on block for all identity destinations
2026-05-10 01:13:27 -05:00
Ivan
3b8704b4da
fix(banishment): block all identity addresses, prevent delivery callbacks, fix unbanish UI sync
2026-05-10 00:46:35 -05:00
Ivan
d64cd6baac
chore(codebase): format
2026-05-09 22:50:11 -05:00
Ivan
57d432bdbd
fix(interfaces): decouple default_bootstrap_only from Reticulum config
...
Move default_bootstrap_only from Reticulum [reticulum] section to MeshChatX
config so it only applies to manually added TCP/Backbone interfaces,
not to discovered/auto-connected ones. Scrub stale value from
Reticulum config on startup to fix existing installs.
2026-05-09 22:33:21 -05:00
Ivan
1ed042344b
fix(android): prevent RNodeInterface crash and use external storage
...
- Disable RNodeInterface/RNodeIPInterface/RNodeMultiInterface in Reticulum
config on Android before startup to prevent crashes from missing
serial/BLE support in Chaquopy
- Use Android getExternalFilesDir() as default storage on Android so
databases and config are user-accessible via file managers
- Add _get_android_external_files_dir() helper to android_push_bridge
2026-05-09 21:19:12 -05:00
Ivan
494942de07
style: apply formatting fixes across backend, frontend, and tests
2026-05-09 21:11:44 -05:00
Ivan
66d98f4d33
fix(frontend): clean up failed ping error logging in dev tools
...
Replace raw console.log(e) dumps with console.warn containing just
the human-readable message, suppressing the noisy HttpError stack trace.
2026-05-09 21:10:16 -05:00
Ivan
2397eeff20
feat(config): raise announce storage and API defaults to 2500
...
Increase announce_max_stored_* and announce_fetch_limit_* defaults from
1000/500 to 2500 so the API lists everything stored in the database by default.
Matches better with public network usage where node counts are higher.
2026-05-09 21:08:41 -05:00
Ivan
3b72902317
test(nomadnet): add tests for query-param file downloads and docs fixes
...
- Add backend tests for NomadnetFileDownloader data parameter
- Add WS order test verifying data reaches the downloader
- Add docs_manager tests for index.html generation and directory rejection
- Extend security fuzzing to cover data field in file downloads
- Add frontend tests for parseNomadnetworkUrl with query strings
- Add frontend tests for downloadNomadNetFile data payload
- Fix meshchat.py NomadnetFileDownloader kwarg name regression
2026-05-09 21:00:38 -05:00
Ivan
500818941d
feat(nomadnet): support query-parameter data in file downloads
...
Parse query strings from nomadnet URLs and forward them as request data
to link.request() for /file/ downloads, matching upstream NomadNet behavior.
2026-05-09 20:33:57 -05:00
Ivan
dc77129ecd
fix(docs_manager): generate index.html for meshchatx-docs so /meshchatx-docs/index.html resolves
2026-05-09 19:26:43 -05:00
Ivan
fee9e33562
refactor(ui): reorder sidebar with telephone below messages
2026-05-09 19:07:11 -05:00
Ivan
d1145cd1c2
fix(l10n): add missing flood protection translation keys to all locales
2026-05-09 19:01:30 -05:00
Ivan
e6762ec2b7
feat(frontend): update call page and add flood protection settings UI
2026-05-09 19:01:21 -05:00
Ivan
9671325c50
fix(identity_context): guard inbound stamp cost comparison against non-int values
2026-05-09 19:01:12 -05:00
Ivan
cdf2a21897
feat(backend): implement flood protection and improve propagation sync reliability
2026-05-09 19:01:03 -05:00
Ivan
c9f496cceb
fix(meshchat): delete conversation when blocking a destination to ensure proper cleanup
2026-05-09 02:18:53 -05:00
Ivan
434e296fa0
fix(config_manager): disable telephone announce feature by default
2026-05-09 02:14:50 -05:00
Ivan
84ff3a9bed
fix(meshchat): handle configparser errors when reading configuration files to prevent crashes
2026-05-09 01:57:11 -05:00
Ivan
b84ade45f8
fix(meshchat, health_monitor): add garbage collection calls to cleanup resources during context teardown and health checks
2026-05-09 01:03:59 -05:00
Ivan
9f04aef66a
refactor(meshchat): implement delayed hangup for rejected calls and improve contact lookup handling
2026-05-09 00:56:33 -05:00
Ivan
9a10a03734
feat(SettingsPage): implement favourites import/export functionality and handle API responses
2026-05-08 23:45:23 -05:00
Ivan
3c196e208c
feat(meshchat): add password reset functionality and bulk import for favourites
2026-05-08 23:44:52 -05:00
Ivan
e5080a7b3c
fix(TutorialModal, AddInterfacePage, InterfacesPage): update defaultBootstrapOnly to false and add stats for TX/RX to discovered interfaces.
2026-05-07 20:05:46 -05:00
Ivan
5fa79d363b
feat(conversationScroll): add scroll management functions and update E2E tests for message switching
2026-05-07 20:05:10 -05:00
Ivan
02b8695726
refactor(ConversationViewer): streamline message loading UI
2026-05-07 20:04:57 -05:00
Ivan
7867034f5d
fix(auto_propagation_manager): add router existence checks in propagation methods to prevent errors
2026-05-07 20:03:42 -05:00
Ivan
e8a6e7dc5a
feat(logging): implement console logging restoration after Reticulum initialization and add instance name corruption repair for hot reloads
2026-05-07 20:03:22 -05:00
Ivan
6407950bd4
refactor(reticulum_config): update _ensure_reticulum_config method to conditionally create config file
2026-05-06 16:55:36 -05:00
Ivan
d0cad87973
feat(micron-parser): update WASM fetching logic with ETag support and integrity checks; update integrity.json with new fields
2026-05-06 16:38:26 -05:00
Ivan
06710bcd69
feat(lxmf): update conversation previews to include image, audio, and file attachment notifications and add related tests
2026-05-06 16:32:21 -05:00
Ivan
b14c7c880a
refactor(async_utils): remove asyncio 3.13 patch and clean up related code; add regression test for HTTPS file response
2026-05-06 16:20:57 -05:00
Ivan
95f562e83e
i18n(nomadnet): add multiline_hint for all locales
2026-05-06 16:20:23 -05:00
Ivan
4d6c4a38a9
refactor(reticulum_config): replace default config text method with file writing functionality and update related tests
2026-05-06 16:19:34 -05:00
Ivan
83be395425
refactor(async_utils): adjust coroutine management limits and add logging for dropped coroutines
2026-05-06 16:19:34 -05:00