l5y
|
7eb36a5a3d
|
remove duplication
|
2025-09-15 21:35:59 +02:00 |
|
l5y
|
0768b4d91a
|
Improve mobile layout (#68)
* Improve mobile layout
* styling tweaks
|
2025-09-15 21:32:56 +02:00 |
|
l5y
|
be1306c9c0
|
Normalize message sender IDs using node numbers (#67)
|
2025-09-15 21:04:29 +02:00 |
|
l5y
|
7904717597
|
style: simplify node table (#65)
|
2025-09-15 18:16:36 +02:00 |
|
l5y
|
e2c19e1611
|
Add debug logging for missing from_id (#64)
|
2025-09-15 18:15:46 +02:00 |
|
l5y
|
31727e35bb
|
add placeholder for default frequency
|
2025-09-15 14:48:12 +02:00 |
|
l5y
|
580a588df7
|
Run schema initialization only when database or tables are missing (#61)
|
2025-09-15 14:05:01 +02:00 |
|
l5y
|
b39b83fb51
|
Send mesh data to Potatomesh API (#60)
* feat: post mesh data to API
* Serialize node objects before posting
* don't put raw json in api/db
|
2025-09-15 14:00:48 +02:00 |
|
l5y
|
6d948603c9
|
Convert boolean flags to integers for SQLite (#59)
|
2025-09-15 13:37:30 +02:00 |
|
l5y
|
648bcc9b92
|
Use packet id as message primary key (#58)
* Use packet id as message primary key
* fix query
* fix query
|
2025-09-15 13:34:59 +02:00 |
|
l5y
|
4dc1227be7
|
Add POST /api/messages and enforce API token (#56)
|
2025-09-15 13:13:47 +02:00 |
|
l5y
|
da2e5fbde1
|
feat: parameterize community info (#55)
* feat: parameterize community info
* chore: restore test data and document env defaults
* also make default channel configurable
|
2025-09-15 12:15:51 +02:00 |
|
l5y
|
003db7c36a
|
feat: add dark mode toggle (#54)
* feat: add dark mode toggle
* fix chat colors in dark mode
|
2025-09-15 11:53:49 +02:00 |
|
l5y
|
29dba74038
|
run linter
|
2025-09-15 08:04:07 +02:00 |
|
l5y
|
aa6a53a1a4
|
remove monthly stats
|
2025-09-15 07:45:34 +02:00 |
|
l5y
|
a3e625565e
|
Show daily node count in title and header (#49)
|
2025-09-15 07:03:54 +02:00 |
|
l5y
|
96a7b936f1
|
Add daily date separators to chat log (#47)
* Add daily divider to chat log
* improve date and time stamps
|
2025-09-14 23:59:30 +02:00 |
|
l5y
|
737d2016e6
|
feat: make frontend responsive for mobile (#46)
|
2025-09-14 23:50:42 +02:00 |
|
l5y
|
547518a105
|
Harden mesh utilities (#45)
|
2025-09-14 22:02:06 +02:00 |
|
l5y
|
7773bfc331
|
minor style tweaks
|
2025-09-14 21:30:11 +02:00 |
|
l5y
|
9dbca51118
|
filter map nodes beyond Berlin radius (#43)
|
2025-09-14 21:24:25 +02:00 |
|
l5y
|
6c454e860e
|
Show active node counts in refresh info (#44)
|
2025-09-14 21:23:36 +02:00 |
|
l5y
|
27d4ed39db
|
Limit chat log and highlight short names by role (#42)
* Limit chat log size and style short names
* Escape short names in HTML rendering
|
2025-09-14 21:22:19 +02:00 |
|
l5y
|
7008804ae2
|
Cast SQLite timestamps to integers (#40)
|
2025-09-14 21:07:17 +02:00 |
|
l5y
|
b9c5d88cb9
|
Escape chat message and node entries (#39)
|
2025-09-14 20:23:38 +02:00 |
|
l5y
|
66c0d74776
|
Sort chat entries by timestamp (#38)
* Sort chat entries by timestamp
* Add nodes only when rendered to avoid skipping on message fetch errors
|
2025-09-14 20:23:21 +02:00 |
|
l5y
|
3d8c1582bd
|
feat: append messages to chat log (#36)
* feat: append messages to chat
* append some chat styling
|
2025-09-14 19:54:19 +02:00 |
|
l5y
|
6c6e040e21
|
Validate future times for nodes (#35)
|
2025-09-14 19:38:52 +02:00 |
|
l5y
|
334e21d674
|
Optimize web frontend and Ruby app (#32)
* Optimize web app and cleanup
* Refine node rendering and front-end timing
|
2025-09-14 19:31:28 +02:00 |
|
l5y
|
a1cabec150
|
Add messages API endpoint with node details (#33)
* Add messages API endpoint with node details
* Preserve message SNR when joining nodes
|
2025-09-14 19:29:44 +02:00 |
|
l5y
|
6094609a86
|
Ensure last_heard never precedes position time (#31)
|
2025-09-14 17:53:37 +02:00 |
|
l5y
|
72a0150006
|
data: enable serial collection of messages on channel 0 (#25)
* data: enable serial collection of messages on channel 0
* remove tests
|
2025-09-14 11:37:56 +02:00 |
|
l5y
|
bcaa9dc1a9
|
sort chat nodes by first seen field in database
|
2025-09-14 09:20:38 +02:00 |
|
l5y
|
a09197b398
|
update map info
|
2025-09-14 09:16:14 +02:00 |
|
l5y
|
62b096c601
|
Add first_heard timestamp (#23)
|
2025-09-14 09:12:57 +02:00 |
|
l5y
|
c67b18c657
|
web: extend the table view to display more records
|
2025-09-14 09:00:14 +02:00 |
|
l5y
|
625357f136
|
leftpad short names in chat window
|
2025-09-13 19:13:45 +02:00 |
|
l5y
|
f9cf90e210
|
Add persistent footer with contact information (#22)
* Add persistent footer with contact information
* add github link
|
2025-09-13 18:49:29 +02:00 |
|
l5y
|
52d3430edb
|
Sort initial chat entries by last-heard (#20)
|
2025-09-13 18:02:47 +02:00 |
|
l5y
|
1118804873
|
some css and chat formatting
|
2025-09-13 17:25:51 +02:00 |
|
l5y
|
6e5ca3cf26
|
move nodes to index
|
2025-09-13 17:03:57 +02:00 |
|
l5y
|
cdfc4c9610
|
Display position time in relative 'time ago' format (#19)
|
2025-09-13 16:49:40 +02:00 |
|
l5y
|
1dbd677f96
|
Adjust map marker sizing and tile opacity (#18)
|
2025-09-13 15:27:23 +02:00 |
|
l5y
|
77ded7624b
|
Add chat box for new node notifications (#17)
|
2025-09-13 15:04:40 +02:00 |
|
l5y
|
f7582d062d
|
Color markers by role with grayscale map (#16)
* Color markers by device role and grayscale map
* add working background tile layer
|
2025-09-13 14:56:23 +02:00 |
|
l5y
|
da1296b320
|
Default missing node role to client (#15)
|
2025-09-13 14:44:50 +02:00 |
|
l5y
|
6d302b69b3
|
Show live node count in nodes page titles (#14)
* Display live node count in titles
* change website title
|
2025-09-13 14:33:43 +02:00 |
|
l5y
|
847167d614
|
Filter old nodes and add live search (#13)
|
2025-09-13 14:25:42 +02:00 |
|
l5y
|
94171b779c
|
Remove raw node json column (#12)
|
2025-09-13 14:21:31 +02:00 |
|
l5y
|
aeaa2eb1a7
|
Add authenticated POST endpoint for node updates (#11)
|
2025-09-13 14:13:52 +02:00 |
|