Commit Graph

  • 203bd623bd Add Apache license headers to source files (#77) l5y 2025-09-16 09:39:28 +02:00
  • 2b6b44a31d Add integration specs for node and message APIs (#76) l5y 2025-09-16 09:29:31 +02:00
  • 0059a6aab3 docs: update for 0.2.0 release (#75) l5y 2025-09-16 09:23:11 +02:00
  • fc30a080ff create ruby workflow (#74) l5y 2025-09-16 08:52:33 +02:00
  • 7399c02be9 Add RSpec tests for app boot and database setup (#73) l5y 2025-09-16 08:25:13 +02:00
  • 02e985d2a8 Align refresh controls with status text (#72) l5y 2025-09-16 08:21:15 +02:00
  • 954352809f spec: update testdata l5y 2025-09-16 08:11:11 +02:00
  • 7eb36a5a3d remove duplication l5y 2025-09-15 21:35:59 +02:00
  • 0768b4d91a Improve mobile layout (#68) l5y 2025-09-15 21:32:56 +02:00
  • be1306c9c0 Normalize message sender IDs using node numbers (#67) l5y 2025-09-15 21:04:29 +02:00
  • 7904717597 style: simplify node table (#65) l5y 2025-09-15 18:16:36 +02:00
  • e2c19e1611 Add debug logging for missing from_id (#64) l5y 2025-09-15 18:15:46 +02:00
  • b230e79ab0 Handle nested dataclasses in node snapshots (#63) l5y 2025-09-15 14:59:23 +02:00
  • 31727e35bb add placeholder for default frequency l5y 2025-09-15 14:48:12 +02:00
  • 22127bbfb4 ignore log files l5y 2025-09-15 14:44:32 +02:00
  • 413278544a Log node object on snapshot update failure (#62) l5y 2025-09-15 14:34:56 +02:00
  • 580a588df7 Run schema initialization only when database or tables are missing (#61) l5y 2025-09-15 14:05:01 +02:00
  • b39b83fb51 Send mesh data to Potatomesh API (#60) l5y 2025-09-15 14:00:48 +02:00
  • 6d948603c9 Convert boolean flags to integers for SQLite (#59) l5y 2025-09-15 13:37:30 +02:00
  • 648bcc9b92 Use packet id as message primary key (#58) l5y 2025-09-15 13:34:59 +02:00
  • 4dc1227be7 Add POST /api/messages and enforce API token (#56) l5y 2025-09-15 13:13:47 +02:00
  • 3b097feaae Update README.md l5y 2025-09-15 12:17:45 +02:00
  • da2e5fbde1 feat: parameterize community info (#55) l5y 2025-09-15 12:15:51 +02:00
  • 003db7c36a feat: add dark mode toggle (#54) l5y 2025-09-15 11:53:49 +02:00
  • 9aa640338d Update README.md l5y 2025-09-15 11:44:44 +02:00
  • 3c24b71f16 ignore copies l5y 2025-09-15 11:42:27 +02:00
  • eee6738a9c add changelog l5y 2025-09-15 08:49:12 +02:00
  • 47a162be3e add test database v0.1.0 l5y 2025-09-15 08:41:18 +02:00
  • de6dcad9b4 add messages test data l5y 2025-09-15 08:39:13 +02:00
  • 57816908c8 update readme l5y 2025-09-15 08:32:55 +02:00
  • 46a1105f29 update readme l5y 2025-09-15 08:28:55 +02:00
  • 29dba74038 run linter l5y 2025-09-15 07:58:20 +02:00
  • e3999e2b3b Create dependabot.yml l5y 2025-09-15 08:03:28 +02:00
  • aa6a53a1a4 remove monthly stats l5y 2025-09-15 07:45:34 +02:00
  • a3e625565e Show daily node count in title and header (#49) l5y 2025-09-15 07:03:54 +02:00
  • 96a7b936f1 Add daily date separators to chat log (#47) l5y 2025-09-14 23:59:30 +02:00
  • 737d2016e6 feat: make frontend responsive for mobile (#46) l5y 2025-09-14 23:50:42 +02:00
  • 547518a105 Harden mesh utilities (#45) l5y 2025-09-14 22:02:06 +02:00
  • 7773bfc331 minor style tweaks l5y 2025-09-14 21:30:11 +02:00
  • 9dbca51118 filter map nodes beyond Berlin radius (#43) l5y 2025-09-14 21:24:25 +02:00
  • 6c454e860e Show active node counts in refresh info (#44) l5y 2025-09-14 21:23:36 +02:00
  • 27d4ed39db Limit chat log and highlight short names by role (#42) l5y 2025-09-14 21:22:19 +02:00
  • 7008804ae2 Cast SQLite timestamps to integers (#40) l5y 2025-09-14 21:07:17 +02:00
  • b9c5d88cb9 Escape chat message and node entries (#39) l5y 2025-09-14 20:23:38 +02:00
  • 66c0d74776 Sort chat entries by timestamp (#38) l5y 2025-09-14 20:23:21 +02:00
  • 3d8c1582bd feat: append messages to chat log (#36) l5y 2025-09-14 19:54:19 +02:00
  • 6c6e040e21 Validate future times for nodes (#35) l5y 2025-09-14 19:38:52 +02:00
  • 334e21d674 Optimize web frontend and Ruby app (#32) l5y 2025-09-14 19:31:28 +02:00
  • a1cabec150 Add messages API endpoint with node details (#33) l5y 2025-09-14 19:29:44 +02:00
  • 6094609a86 Ensure last_heard never precedes position time (#31) l5y 2025-09-14 17:53:37 +02:00
  • 2ca87eb847 refactor: replace deprecated utcfromtimestamp (#30) l5y 2025-09-14 17:52:54 +02:00
  • 63e8891d97 Add optional debug logging for node and message operations (#29) l5y 2025-09-14 13:43:37 +02:00
  • c52b917f84 switch to pubsub for message parsing l5y 2025-09-14 13:35:58 +02:00
  • 72a0150006 data: enable serial collection of messages on channel 0 (#25) l5y 2025-09-14 11:37:56 +02:00
  • a22b103a28 add backups to gitignore l5y 2025-09-14 11:18:02 +02:00
  • bcaa9dc1a9 sort chat nodes by first seen field in database l5y 2025-09-14 09:20:38 +02:00
  • b4600a26af run db migratoin l5y 2025-09-14 09:17:01 +02:00
  • a09197b398 update map info l5y 2025-09-14 09:16:14 +02:00
  • 62b096c601 Add first_heard timestamp (#23) l5y 2025-09-14 09:12:57 +02:00
  • c67b18c657 web: extend the table view to display more records l5y 2025-09-14 09:00:14 +02:00
  • 625357f136 leftpad short names in chat window l5y 2025-09-13 19:13:45 +02:00
  • f9cf90e210 Add persistent footer with contact information (#22) l5y 2025-09-13 18:49:29 +02:00
  • 52d3430edb Sort initial chat entries by last-heard (#20) l5y 2025-09-13 18:02:47 +02:00
  • 1118804873 some css and chat formatting l5y 2025-09-13 17:25:51 +02:00
  • 6e5ca3cf26 move nodes to index l5y 2025-09-13 17:03:57 +02:00
  • cdfc4c9610 Display position time in relative 'time ago' format (#19) l5y 2025-09-13 16:49:40 +02:00
  • 1dbd677f96 Adjust map marker sizing and tile opacity (#18) l5y 2025-09-13 15:27:23 +02:00
  • 77ded7624b Add chat box for new node notifications (#17) l5y 2025-09-13 15:04:40 +02:00
  • f7582d062d Color markers by role with grayscale map (#16) l5y 2025-09-13 14:56:23 +02:00
  • da1296b320 Default missing node role to client (#15) l5y 2025-09-13 14:44:50 +02:00
  • 6d302b69b3 Show live node count in nodes page titles (#14) l5y 2025-09-13 14:33:43 +02:00
  • 847167d614 Filter old nodes and add live search (#13) l5y 2025-09-13 14:25:42 +02:00
  • 94171b779c Remove raw node json column (#12) l5y 2025-09-13 14:21:31 +02:00
  • aeaa2eb1a7 Add authenticated POST endpoint for node updates (#11) l5y 2025-09-13 14:13:52 +02:00
  • fda224547c data: fix database update issue l5y 2025-09-13 12:09:16 +02:00
  • f1f0075b65 ci: update workflow for python l5y 2025-09-13 11:34:18 +02:00
  • 987e166d54 run rufo on ruby l5y 2025-09-13 11:24:50 +02:00
  • 51cace3a52 Create python-app.yml l5y 2025-09-13 11:18:57 +02:00
  • 54a8eb64e7 Create codeql.yml l5y 2025-09-13 11:17:45 +02:00
  • cf2d799812 Ignore Python __pycache__ directories (#10) l5y 2025-09-13 11:15:35 +02:00
  • 79de69e501 feat: load nodes from json for tests (#8) l5y 2025-09-13 11:12:00 +02:00
  • bac9fb9309 test: cover Position serialization in node snapshot (#6) l5y 2025-09-13 11:01:47 +02:00
  • 61de37336a web: add simple index page (#4) l5y 2025-09-13 10:56:17 +02:00
  • 3594568c4c add test data for nodes l5y 2025-09-13 10:06:55 +02:00
  • e67a96d3d1 data: fix typo in nodes schema to fix #1 l5y 2025-09-13 09:14:14 +02:00
  • f94beeda47 web: fix typo l5y 2025-09-13 08:58:19 +02:00
  • 344c310d2a web: add web app that displays the node data on a map l5y 2025-09-13 08:49:16 +02:00
  • aaf77988e9 data: add mesh node data ingestor python daemon l5y 2025-09-13 08:39:00 +02:00
  • 1d1bbb1a12 Initial commit l5y 2025-09-13 08:09:07 +02:00