Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
544 commits
Select commit Hold shift + click to select a range
66a9dc5
Merge remote-tracking branch 'origin/master'
pablorevilla-meshtastic Jun 24, 2025
7d8a757
update version
pablorevilla-meshtastic Jun 24, 2025
f462889
update version
pablorevilla-meshtastic Jun 24, 2025
1729b65
update version
pablorevilla-meshtastic Jun 24, 2025
6b4b1b5
update version
pablorevilla-meshtastic Jun 24, 2025
a58aa5b
update version
pablorevilla-meshtastic Jun 25, 2025
621d347
update version
pablorevilla-meshtastic Jun 27, 2025
baf6648
update version
pablorevilla-meshtastic Jun 27, 2025
a4aa61d
update version and fix bug introuced a few days back
pablorevilla-meshtastic Jun 27, 2025
2192fa0
clean up the map.html template
pablorevilla-meshtastic Jun 27, 2025
6361961
changed the label for a node that does not report firmware from None …
pablorevilla-meshtastic Jun 30, 2025
9d918a2
added another running instance.
pablorevilla-meshtastic Jul 2, 2025
2ff89a2
added another running instance.
pablorevilla-meshtastic Jul 2, 2025
b47240f
added another running instance.
pablorevilla-meshtastic Jul 21, 2025
8c99b63
added another running instance.
pablorevilla-meshtastic Jul 22, 2025
4a70070
added another running instance.
pablorevilla-meshtastic Jul 22, 2025
d8ab614
add API code
pablorevilla-meshtastic Jul 22, 2025
f3dfdf6
add API code
pablorevilla-meshtastic Jul 22, 2025
75a2189
add API code for /api/packets
pablorevilla-meshtastic Jul 23, 2025
4b5c289
add API code for /api/packets
pablorevilla-meshtastic Jul 23, 2025
1c49529
add API code for /api/packets
pablorevilla-meshtastic Jul 23, 2025
78f2260
add API code for /api/packets
pablorevilla-meshtastic Aug 6, 2025
781ae14
add API code for /api/packets
pablorevilla-meshtastic Aug 6, 2025
cb7df2c
add API code for /api/packets
pablorevilla-meshtastic Aug 6, 2025
b2c307a
add API code for /api/packets
pablorevilla-meshtastic Aug 6, 2025
fc8e63b
add API code for /api/packets
pablorevilla-meshtastic Aug 6, 2025
5671983
add API code for /api/packets
pablorevilla-meshtastic Aug 6, 2025
a9514a0
add API code for /api/packets
pablorevilla-meshtastic Aug 6, 2025
706c71e
add API code for /api/packets
pablorevilla-meshtastic Aug 7, 2025
c77cbf7
add API code for /api/packets
pablorevilla-meshtastic Aug 7, 2025
9065616
add API code for /api/packets
pablorevilla-meshtastic Aug 7, 2025
d405524
add API code for /api/packets
pablorevilla-meshtastic Aug 7, 2025
69c819e
add API code for /api/packets
pablorevilla-meshtastic Aug 11, 2025
635cb7b
add API code for /api/packets
pablorevilla-meshtastic Aug 11, 2025
d8ceb19
add API code for /api/packets
pablorevilla-meshtastic Aug 11, 2025
edb0f7a
add API code for /api/packets
pablorevilla-meshtastic Aug 11, 2025
a8313cd
add API code for /api/packets
pablorevilla-meshtastic Aug 11, 2025
32dd6b5
add API code for /api/packets
pablorevilla-meshtastic Aug 11, 2025
573b1b1
add API code for /api/packets
pablorevilla-meshtastic Aug 11, 2025
8d0a137
add API code for /api/packets
pablorevilla-meshtastic Aug 11, 2025
b212c57
Statistic page redo
pablorevilla-meshtastic Aug 12, 2025
77f8746
Statistic page redo
pablorevilla-meshtastic Aug 12, 2025
b9e0cd1
Statistic page redo
pablorevilla-meshtastic Aug 12, 2025
b163b77
Add the Replying to link to the chat page
pablorevilla-meshtastic Aug 12, 2025
f2afd3d
Add the Replying to link to the chat page
pablorevilla-meshtastic Aug 12, 2025
ef105a0
Add the Replying to link to the chat page
pablorevilla-meshtastic Aug 12, 2025
2cc913d
Add the Replying to link to the chat page
pablorevilla-meshtastic Aug 12, 2025
ead29f1
New updates to documentation
pablorevilla-meshtastic Aug 12, 2025
59f7bc7
New updates to documentation
pablorevilla-meshtastic Aug 12, 2025
82783b3
Use error template for issues with node info page
SConaway Aug 14, 2025
e00c0a4
Show tracebacks on errors
SConaway Aug 15, 2025
c6f91b4
Update README.md
jschrempp Aug 15, 2025
9d3b2af
Merge pull request #33 from SConaway/error-page
pablorevilla-meshtastic Aug 15, 2025
fedbd10
Merge pull request #34 from jschrempp/patch-1
pablorevilla-meshtastic Aug 15, 2025
b53bcd2
New updates to documentation
pablorevilla-meshtastic Aug 18, 2025
078ace5
New updates to documentation
pablorevilla-meshtastic Aug 19, 2025
efd3742
New updates to documentation
pablorevilla-meshtastic Aug 19, 2025
0ffdc60
Update .gitmodules
pablorevilla-meshtastic Aug 19, 2025
1522bf1
Update .gitmodules
pablorevilla-meshtastic Aug 19, 2025
a88db0c
Update .gitmodules
pablorevilla-meshtastic Aug 19, 2025
da92fd8
Update .gitmodules
pablorevilla-meshtastic Aug 19, 2025
64c9d23
Update .gitmodules
pablorevilla-meshtastic Aug 19, 2025
734162f
Update .gitmodules
pablorevilla-meshtastic Aug 19, 2025
722c404
Update .gitmodules
pablorevilla-meshtastic Aug 19, 2025
6dd40be
Update .gitmodules
pablorevilla-meshtastic Aug 19, 2025
3135ad0
Update .gitmodules
pablorevilla-meshtastic Aug 19, 2025
501adc4
Update .gitmodules
pablorevilla-meshtastic Aug 19, 2025
46142dc
Update .gitmodules
pablorevilla-meshtastic Aug 19, 2025
563e239
test
pablorevilla-meshtastic Aug 19, 2025
7d3b94f
Update .gitmodules
pablorevilla-meshtastic Aug 19, 2025
9648b9a
Update .gitmodules
pablorevilla-meshtastic Aug 19, 2025
7bde05e
Update .gitmodules
pablorevilla-meshtastic Aug 19, 2025
ee2a449
Update .gitmodules
pablorevilla-meshtastic Aug 19, 2025
8b7de8d
Update .gitmodules
pablorevilla-meshtastic Aug 19, 2025
ed0c15a
Delete .idea directory
pablorevilla-meshtastic Aug 19, 2025
333d538
Update .gitmodules
pablorevilla-meshtastic Aug 19, 2025
d025255
Update .gitmodules
pablorevilla-meshtastic Aug 19, 2025
40235c9
Updating the protobuf
pablorevilla-meshtastic Aug 19, 2025
4e06b5b
Update .gitmodules
pablorevilla-meshtastic Aug 19, 2025
a3186e6
Update protobuf
pablorevilla-meshtastic Aug 19, 2025
f147360
Delete .gitmodules
pablorevilla-meshtastic Aug 19, 2025
89f3ead
re-add meshtastic/python submodule
madeofstown Aug 20, 2025
24f768f
Merge pull request #5 from madeofstown/testing
madeofstown Aug 20, 2025
9ceca0e
Update .gitmodules
madeofstown Aug 20, 2025
954d630
Update .gitignore
madeofstown Aug 20, 2025
fb70f64
Update README.md
madeofstown Aug 20, 2025
572e79c
Update .gitmodules
madeofstown Aug 20, 2025
e3f5c0f
Delete meshtastic/protobuf
madeofstown Aug 20, 2025
7e3076c
Update README.md
madeofstown Aug 20, 2025
2a55309
Changing the way we load protobuf definitions since meshtastic added …
pablorevilla-meshtastic Aug 20, 2025
2cf2c32
Changing the way we load protobuf definitions since meshtastic added …
pablorevilla-meshtastic Aug 21, 2025
4c815ec
Changing the way we load protobuf definitions since meshtastic added …
pablorevilla-meshtastic Aug 21, 2025
dee948e
Adding live-map and static pages for the apis
pablorevilla-meshtastic Aug 25, 2025
0e548d4
Adding live-map and static pages for the apis
pablorevilla-meshtastic Aug 25, 2025
0a2f7e5
Adding live-map and static pages for the apis
pablorevilla-meshtastic Aug 25, 2025
941de1c
Adding live-map and static pages for the apis
pablorevilla-meshtastic Aug 25, 2025
e796368
Adding live-map and static pages for the apis
pablorevilla-meshtastic Aug 25, 2025
94a03d7
Adding live-map and static pages for the apis
pablorevilla-meshtastic Aug 25, 2025
75eb392
Adding live-map and static pages for the apis
pablorevilla-meshtastic Aug 25, 2025
ad93483
Adding live-map and static pages for the apis
pablorevilla-meshtastic Aug 26, 2025
de50e2b
Adding live-map and static pages for the apis
pablorevilla-meshtastic Aug 26, 2025
b8647ee
Adding live-map and static pages for the apis
pablorevilla-meshtastic Aug 26, 2025
7e80e83
Adding live-map and static pages for the apis
pablorevilla-meshtastic Aug 26, 2025
34fd41c
Adding live-map and static pages for the apis
pablorevilla-meshtastic Aug 26, 2025
fdfbdd5
Fixed bug with nodegraph.html it was not able to handle some characte…
pablorevilla-meshtastic Aug 26, 2025
2176055
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 27, 2025
f72e517
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 27, 2025
93b7276
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 27, 2025
ec02d72
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 27, 2025
d38c587
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 27, 2025
e40b961
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 27, 2025
d305ea4
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 27, 2025
9eae030
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 27, 2025
eccba20
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 27, 2025
2295751
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 27, 2025
9f93602
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 27, 2025
749fc61
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 27, 2025
0629b7b
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 27, 2025
34cdb03
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 28, 2025
7b8f2e6
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 28, 2025
a022795
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 28, 2025
d0799f4
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 28, 2025
a4533c3
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 28, 2025
0500be4
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 28, 2025
1ccc3bf
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 28, 2025
c374167
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 29, 2025
396d919
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 29, 2025
6836d42
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 29, 2025
ce8717b
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Aug 29, 2025
52dc78b
added direction arrow heads to main map edges shown on node click
jschrempp Aug 31, 2025
c42173c
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Sep 3, 2025
783972e
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Sep 4, 2025
8c01a7b
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Sep 5, 2025
5bef93b
Merge pull request #40 from jschrempp/arrowheads
pablorevilla-meshtastic Sep 8, 2025
1e7fcca
Added the traceroute and neighbours to the map
pablorevilla-meshtastic Sep 8, 2025
3eca96a
feat: Fill screen with map
alecperkins Sep 10, 2025
a93f8d7
feat: Add colors and weighting to graph, condense labels
alecperkins Sep 10, 2025
868a165
Added API pages and moved chat to API/JS
pablorevilla-meshtastic Sep 11, 2025
81fe835
Added API pages and moved chat to API/JS
pablorevilla-meshtastic Sep 11, 2025
d69a795
Added API pages and moved chat to API/JS
pablorevilla-meshtastic Sep 11, 2025
9c41719
nodelist now also works with API
pablorevilla-meshtastic Sep 11, 2025
7e76424
Merge pull request #46 from alecperkins/feature/map-fill-screen
pablorevilla-meshtastic Sep 12, 2025
aea81f7
nodelist now also works with API
pablorevilla-meshtastic Sep 12, 2025
3897ce2
Merge pull request #47 from alecperkins/feature/graph-colors
pablorevilla-meshtastic Sep 12, 2025
285db92
Merge remote-tracking branch 'origin/master'
pablorevilla-meshtastic Sep 12, 2025
1687633
nodelist now also works with API
pablorevilla-meshtastic Sep 12, 2025
fd57310
nodelist now also works with API
pablorevilla-meshtastic Sep 12, 2025
bb5dba2
New charts added to stats as we have access not to nodes via API
pablorevilla-meshtastic Sep 12, 2025
93bad96
New charts added to stats as we have access not to nodes via API
pablorevilla-meshtastic Sep 12, 2025
b09ea71
Update sample.config.ini
pablorevilla-meshtastic Sep 13, 2025
8dec274
New charts added to stats as we have access not to nodes via API
pablorevilla-meshtastic Sep 13, 2025
48a4be8
New charts added to stats as we have access not to nodes via API
pablorevilla-meshtastic Sep 15, 2025
a532fb0
Merge remote-tracking branch 'origin/master'
pablorevilla-meshtastic Sep 15, 2025
77cf3df
Fixed multiple responses for active map
pablorevilla-meshtastic Sep 15, 2025
6b4a33a
Fixed multiple responses for active map
pablorevilla-meshtastic Sep 15, 2025
4201c54
Fixed multiple responses for active map
pablorevilla-meshtastic Sep 15, 2025
d5272c1
added index to API list
pablorevilla-meshtastic Sep 17, 2025
a69d1a5
Added Database cleanup feature to startdb.py
pablorevilla-meshtastic Sep 18, 2025
9d4ebc0
Added Database cleanup feature to startdb.py
pablorevilla-meshtastic Sep 18, 2025
f06fa3a
Added Database cleanup feature to startdb.py
pablorevilla-meshtastic Sep 18, 2025
61b7447
make the /api/config endpoint restrictive to what it provides. It wil…
pablorevilla-meshtastic Sep 18, 2025
6e223a0
make the /api/config endpoint restrictive to what it provides. It wil…
pablorevilla-meshtastic Sep 18, 2025
bbab5fe
make the /api/config endpoint restrictive to what it provides. It wil…
pablorevilla-meshtastic Sep 18, 2025
ddb691d
fixed spelling of variable firehouse_interval
pablorevilla-meshtastic Sep 18, 2025
2b9422e
fixed spelling of variable firehouse_interval
pablorevilla-meshtastic Sep 18, 2025
cad3051
Work on db cleanup tool
pablorevilla-meshtastic Sep 18, 2025
6eb1cdb
Work on db cleanup tool
pablorevilla-meshtastic Sep 18, 2025
4f4c18f
Work on db cleanup tool
pablorevilla-meshtastic Sep 18, 2025
7c40c64
Work on db cleanup tool
pablorevilla-meshtastic Sep 18, 2025
608fde9
Work on db cleanup tool
pablorevilla-meshtastic Sep 18, 2025
ec0dd4e
Work on status page
pablorevilla-meshtastic Sep 18, 2025
4ffd287
Work on DB cleanup tool
pablorevilla-meshtastic Sep 19, 2025
0da2ef8
Work on DB cleanup tool
pablorevilla-meshtastic Sep 19, 2025
f9a6f3d
Work on DB cleanup tool
pablorevilla-meshtastic Sep 19, 2025
02f63fc
Work on DB cleanup tool
pablorevilla-meshtastic Sep 19, 2025
e2c1e31
Update README.md
pablorevilla-meshtastic Sep 19, 2025
e6424e3
Update README.md
pablorevilla-meshtastic Sep 20, 2025
86b4fa6
Update README.md
pablorevilla-meshtastic Sep 20, 2025
03e198b
Updates stats with pie chart and report for channel
pablorevilla-meshtastic Sep 22, 2025
8d7f72a
Updates stats with pie chart and report for channel
pablorevilla-meshtastic Sep 22, 2025
a094b3e
Merge branch 'master' into master
pablorevilla-meshtastic Sep 25, 2025
85f04f4
Merge pull request #36 from madeofstown/master
pablorevilla-meshtastic Sep 25, 2025
5068f7a
Updates stats with pie chart and report for channel
pablorevilla-meshtastic Sep 25, 2025
11537fd
Merge remote-tracking branch 'origin/master'
pablorevilla-meshtastic Sep 25, 2025
3cd93c0
Updates stats with pie chart and report for channel
pablorevilla-meshtastic Sep 25, 2025
a20dafe
Updates stats with pie chart and report for channel
pablorevilla-meshtastic Sep 25, 2025
561d410
Updates stats with pie chart and report for channel
pablorevilla-meshtastic Sep 25, 2025
ee640b2
Update .gitmodules
pablorevilla-meshtastic Sep 25, 2025
238ac40
testing new integration
pablorevilla-meshtastic Sep 25, 2025
550a266
update protobuf
pablorevilla-meshtastic Sep 25, 2025
40c5d4e
update protobuf
pablorevilla-meshtastic Sep 25, 2025
0a522f9
Fix Client_BASE not showing in Mesh Graphs
Cloud-121 Sep 30, 2025
396e5cc
Minor README Tweaks and gitignore add
jkrauska Oct 1, 2025
c7f5467
Add url parameters to /map to support zoomed view
jkrauska Oct 1, 2025
81a2c0c
update protobuf
pablorevilla-meshtastic Oct 1, 2025
fc28dcc
Merge pull request #52 from jkrauska/master
pablorevilla-meshtastic Oct 1, 2025
44ddfe7
update protobuf
pablorevilla-meshtastic Oct 1, 2025
baeaf29
Merge pull request #51 from Cloud-121/master
pablorevilla-meshtastic Oct 1, 2025
db87039
Merge pull request #53 from jkrauska/jkrauska/mapzoom
pablorevilla-meshtastic Oct 1, 2025
7146f69
update protobuf
pablorevilla-meshtastic Oct 1, 2025
d2d1874
Fixed bug on edges API
pablorevilla-meshtastic Oct 1, 2025
2723022
Add structured logging and improved startup/shutdown handling
jkrauska Oct 2, 2025
f167e87
Merge pull request #57 from jkrauska/jkrauska/startupLogging
pablorevilla-meshtastic Oct 3, 2025
215817a
Cleanup the install process
pablorevilla-meshtastic Oct 3, 2025
b4fda0b
Merge remote-tracking branch 'origin/master'
pablorevilla-meshtastic Oct 3, 2025
a9b16d6
work on error where packet ids could be duplicate and crash the loop
pablorevilla-meshtastic Oct 3, 2025
aa9922e
work on error where packet ids could be duplicate and crash the loop
pablorevilla-meshtastic Oct 3, 2025
e25ff22
Add Ruff formatting and pre-commit hooks
jkrauska Oct 4, 2025
3603014
Added maps coordinates to /api/config
pablorevilla-meshtastic Oct 4, 2025
35212d4
Merge branch 'master' into jkrauska/ruffFormat
jkrauska Oct 4, 2025
ab101dd
Merge pull request #61 from jkrauska/jkrauska/ruffFormat
pablorevilla-meshtastic Oct 4, 2025
e28d248
Automate ruff in github action
jkrauska Oct 4, 2025
5d267ef
Remove unused code
pablorevilla-meshtastic Oct 4, 2025
fbd6fcb
Merge pull request #62 from jkrauska/ruffAutomation
pablorevilla-meshtastic Oct 4, 2025
e1bada8
Bump ruff version - fix open call from lang work
jkrauska Oct 4, 2025
beefb4c
Merge pull request #64 from jkrauska/ruffVersionFix
pablorevilla-meshtastic Oct 4, 2025
3e673f3
Fix for api/edges traceback
jkrauska Oct 7, 2025
adda666
Add Favorites and Remember Filters
jkrauska Oct 7, 2025
7c92b06
use ruff format
jkrauska Oct 7, 2025
9811102
Merge pull request #66 from jkrauska/apiEdges
pablorevilla-meshtastic Oct 7, 2025
30ba603
Merge pull request #67 from jkrauska/nodeListFavorites
pablorevilla-meshtastic Oct 7, 2025
23d66c0
add database indexes
jkrauska Oct 8, 2025
6013100
fix for ruff
jkrauska Oct 8, 2025
4a1737e
fix for loranet.pl
jkrauska Oct 8, 2025
d7b830e
Merge pull request #69 from jkrauska/lornet.pl
pablorevilla-meshtastic Oct 9, 2025
ae0b094
Merge pull request #68 from jkrauska/profileTop
pablorevilla-meshtastic Oct 10, 2025
d6fadd9
Start adding language support
pablorevilla-meshtastic Oct 11, 2025
712aea5
Start adding language support
pablorevilla-meshtastic Oct 11, 2025
29174a6
Start adding language support
pablorevilla-meshtastic Oct 11, 2025
87643e4
Start adding language support
pablorevilla-meshtastic Oct 11, 2025
4ac3262
Start adding language support
pablorevilla-meshtastic Oct 11, 2025
60e7389
Start adding language support
pablorevilla-meshtastic Oct 11, 2025
d561d1a
Start adding language support
pablorevilla-meshtastic Oct 11, 2025
257bf7f
Add channel filters to stats, chat, and firehose views
Oct 11, 2025
b7752bc
Map: activity time filters
Oct 12, 2025
b35acde
Add channel-aware activity filters and API-driven dashboards
Oct 15, 2025
bcd007e
Merge pull request #73 from nullrouten0/maphours-stacked
pablorevilla-meshtastic Oct 15, 2025
ea10a65
Start adding language support
pablorevilla-meshtastic Oct 15, 2025
636ab3e
Start adding language support
pablorevilla-meshtastic Oct 15, 2025
318bf83
Revert "Maphours changes stacked with filtering additions"
pablorevilla-meshtastic Oct 15, 2025
c23a650
fixed map to show only channels with locations
Oct 15, 2025
114cd98
Merge branch 'master' into 10-15-25-bugs
pablorevilla-meshtastic Oct 15, 2025
c13a851
Merge pull request #75 from nullrouten0/10-15-25-bugs
pablorevilla-meshtastic Oct 15, 2025
084647e
Start adding language support
pablorevilla-meshtastic Oct 15, 2025
155ef89
Merge remote-tracking branch 'origin/master'
pablorevilla-meshtastic Oct 15, 2025
021bc54
Start adding language support
pablorevilla-meshtastic Oct 15, 2025
454c8ff
Start adding language support
pablorevilla-meshtastic Oct 15, 2025
a002cde
Revert "fixed map to show only channels with locations"
pablorevilla-meshtastic Oct 16, 2025
5d687da
Merge pull request #76 from pablorevilla-meshtastic/revert-75-10-15-2…
pablorevilla-meshtastic Oct 16, 2025
7f94bc0
Merge branch 'master' into revert-73-maphours-stacked
pablorevilla-meshtastic Oct 16, 2025
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
39 changes: 39 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Ruff

on:
pull_request:
paths:
- "**/*.py"
- "pyproject.toml"
- "ruff.toml"
- ".pre-commit-config.yaml"

jobs:
ruff:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- uses: actions/setup-python@v5
with:
python-version: "3.13"

- name: Cache Ruff
uses: actions/cache@v4
with:
path: ~/.cache/ruff
key: ruff-${{ runner.os }}-${{ hashFiles('**/pyproject.toml', '**/ruff.toml') }}

- name: Install Ruff
run: pip install "ruff==0.13.3"

# Lint (with GitHub annotation format for inline PR messages)
- name: Ruff check
run: ruff check --output-format=github .

# Fail PR if formatting is needed
- name: Ruff format (check-only)
run: ruff format --check .

# TODO: Investigate only applying to changed files and possibly apply fixes
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
env/*
__pycache__/*
meshview/__pycache__/*
meshtastic/protobuf/*
packets.db
meshview-db.pid
meshview-web.pid
/table_details.py
config.ini
screenshots/*
python/nanopb
1 change: 1 addition & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

8 changes: 8 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.13.3 # pin the latest you’re comfortable with
hooks:
- id: ruff
args: [--fix, --exit-non-zero-on-fix] # fail if it had to change files
- id: ruff-format

159 changes: 159 additions & 0 deletions API Documentation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@

# API Documentation

## 1. Chat API

### GET `/api/chat`
Returns the most recent chat messages.

**Query Parameters**
- `limit` (optional, int): Maximum number of messages to return. Default: `100`.

**Response Example**
```json
{
"packets": [
{
"id": 123,
"import_time": "2025-07-22T12:45:00",
"from_node_id": 987654,
"from_node": "Alice",
"channel": "main",
"payload": "Hello, world!"
}
]
}
```

---

### GET `/api/chat/updates`
Returns chat messages imported after a given timestamp.

**Query Parameters**
- `last_time` (optional, ISO timestamp): Only messages imported after this time are returned.

**Response Example**
```json
{
"packets": [
{
"id": 124,
"import_time": "2025-07-22T12:50:00",
"from_node_id": 987654,
"from_node": "Alice",
"channel": "main",
"payload": "New message!"
}
],
"latest_import_time": "2025-07-22T12:50:00"
}
```

---

## 2. Nodes API

### GET `/api/nodes`
Returns a list of all nodes, with optional filtering by last seen.

**Query Parameters**
- `hours` (optional, int): Return nodes seen in the last N hours.
- `days` (optional, int): Return nodes seen in the last N days.
- `last_seen_after` (optional, ISO timestamp): Return nodes seen after this time.

**Response Example**
```json
{
"nodes": [
{
"node_id": 1234,
"long_name": "Alice",
"short_name": "A",
"channel": "main",
"last_seen": "2025-07-22T12:40:00",
"hardware": "T-Beam",
"firmware": "1.2.3",
"role": "client",
"last_lat": 37.7749,
"last_long": -122.4194
}
]
}
```

---

## 3. Packets API

### GET `/api/packets`
Returns a list of packets with optional filters.

**Query Parameters**
- `limit` (optional, int): Maximum number of packets to return. Default: `200`.
- `since` (optional, ISO timestamp): Only packets imported after this timestamp are returned.

**Response Example**
```json
{
"packets": [
{
"id": 123,
"from_node_id": 5678,
"to_node_id": 91011,
"portnum": 1,
"import_time": "2025-07-22T12:45:00",
"payload": "Hello, Bob!"
}
]
}
```

---

### Notes
- All timestamps (`import_time`, `last_seen`) are returned in ISO 8601 format.
- `portnum` is an integer representing the packet type.
- `payload` is always a UTF-8 decoded string.

## 4 Statistics API: GET `/api/stats`

Retrieve packet statistics aggregated by time periods, with optional filtering.

---

## Query Parameters

| Parameter | Type | Required | Default | Description |
|--------------|---------|----------|----------|-------------------------------------------------------------------------------------------------|
| `period_type` | string | No | `hour` | Time granularity of the stats. Allowed values: `hour`, `day`. |
| `length` | integer | No | 24 | Number of periods to include (hours or days). |
| `channel` | string | No | — | Filter results by channel name (case-insensitive). |
| `portnum` | integer | No | — | Filter results by port number. |
| `to_node` | integer | No | — | Filter results to packets sent **to** this node ID. |
| `from_node` | integer | No | — | Filter results to packets sent **from** this node ID. |

---

## Response

```json
{
"period_type": "hour",
"length": 24,
"channel": "LongFast",
"portnum": 1,
"to_node": 12345678,
"from_node": 87654321,
"data": [
{
"period": "2025-08-08 14:00",
"count": 10
},
{
"period": "2025-08-08 15:00",
"count": 7
}
// more entries...
]
}
Loading