Commit Graph

72 Commits

Author SHA1 Message Date
lklynet b9bd5c9294 Merge PR #43 and resolve conflicts 2026-01-06 19:19:04 -05:00
lklynet c5d4bada21 docs(docker-compose): update environment variables with comments
Add commented-out configuration options to document available settings
2026-01-06 19:02:41 -05:00
lklynet 8b2c4e0b12 docs: updated default configuration values in README 2026-01-06 18:46:13 -05:00
lklynet 6beeeb0383 Merge PR #42 into main, resolving conflicts by preserving optimizations 2026-01-06 18:40:50 -05:00
LKLY 3ba0799619 Merge pull request #44 from lklynet/resource-refinement
refactor: optimize resources with gossip subsampling, memory leak fixes, and tuned constants
2026-01-06 18:34:23 -05:00
lklynet f9050a4448 refactor: optimize resources with gossip subsampling, memory leak fixes, and tuned constants 2026-01-06 16:05:23 -05:00
LKLY 32399602de Update FUNDING.yml with funding details
Added funding options for GitHub Sponsors and Buy Me a Coffee.
2026-01-05 22:51:15 -05:00
lklynet 0b1481bbec chore: update UI styles and include WIP global chat changes 2026-01-05 22:17:31 -05:00
lklynet 617a9d8c70 Enhance application with updated config, styles, and p2p messaging adjustments 2026-01-05 20:22:27 -05:00
LKLY 5d8c9073ba Merge pull request #20 from lklynet/feature/ephemeral-chat
feat: ephemeral p2p chat
2026-01-05 19:46:29 -05:00
LKLY 836b5c2fb2 Merge pull request #16 from ricardoboss/feature/pow-upgrade
feat: allow gradual increase of POW
2026-01-05 19:30:16 -05:00
Ricardo Boss b1046df7d6 feat: allow gradual increase of POW 2026-01-03 19:22:32 +01:00
lklynet 6fe004d036 add your own location to map
map updates heatmap without refresh
2026-01-03 12:10:57 -05:00
lklynet 26e5c1550c feat(ui): improve styling and persist chat state
- Enhance footer and debug element styling with better visibility
- Increase map modal size and adjust marker appearance
- Persist chat collapse state in localStorage and initialize on load
2026-01-03 11:50:15 -05:00
lklynet 0ca471ab29 chat can be minimized. Added direct connections heatmap. 2026-01-03 11:29:44 -05:00
LKLY b15787abca Add Star History section to README
Added Star History section with visual representation.
2026-01-03 11:03:30 -05:00
LKLY c87e94ed14 Merge pull request #25 from pdekeulenaer/update-readme-homepage-instructions
052Minor changes to readme
2026-01-03 10:05:16 -05:00
Philip De Keulenaer e0e2c4d43c Minor changes to readme 2026-01-03 10:03:22 +01:00
Fernando Campione 884ed1b302 merge main into branch and fix conflicts 2026-01-03 07:58:10 +00:00
fccview b88de139d7 Merge pull request #17 from kiliantyler/feat/lru-cache
Merging so we can fix conflicts before the chat MR, this looks good to me and works fine
2026-01-03 07:42:08 +00:00
lklynet 5be3659b57 feat: implement ephemeral p2p chat with rate limiting and terminal UI 2026-01-03 00:24:13 -05:00
LKLY 8adac4114e Merge pull request #18 from owennewo-dev/bandwidth-measurement
fix: display bandwidth in/out in MB and GB when possible.
2026-01-02 22:08:49 -05:00
lklynet a37f282c23 feat(p2p): I added a connection rotation and limited max connections
Implement connection rotation to periodically close oldest connections when exceeding half of MAX_CONNECTIONS. Also enforce MAX_CONNECTIONS limit by rejecting new connections when limit is reached (32). This improves network stability and resource management.

I also changed max relay hops from 3 to 2.

With the connection rotation I think these more conservative numbers should suffice and save on resources.
2026-01-02 22:02:27 -05:00
Kilian Tyler a2f16e0d51 docs: Update MAX_PEERS default value 2026-01-02 20:35:43 -05:00
Owen G d0c3801e37 fix(diagnostics): bandwidth display
Display bandwidth in/out in MB and GB when possible. Previously always shown in KB.
2026-01-02 18:24:42 -07:00
Kilian Tyler 66e197f77e feat(config): Increase max peer limit 2026-01-02 20:21:47 -05:00
Kilian Tyler 3df927b2d7 Merge remote-tracking branch 'lklynet/main' into feat/lru-cache 2026-01-02 20:13:24 -05:00
Kilian Tyler 629183c82e feat(peers): Implement LRU and unique peer count 2026-01-02 20:13:07 -05:00
lklynet 5613c2eafe docs: update readme with improved formatting and content
- Restructure header with centered div and h1 tag
- Add Kubernetes deployment instructions
- Expand ecosystem integrations section
- Update FAQ with more humorous answers
- Improve markdown table formatting
- Remained cool af while doing it too
2026-01-02 20:12:39 -05:00
Kilian Tyler f4bb4eeab6 Merge pull request #10 from fccview/feature/security-improvement
Ehm.. refactored a bunch.. sorry
2026-01-02 19:00:56 -05:00
Kilian Tyler e88f36412d ci: Granular workflow permissions 2026-01-02 18:59:47 -05:00
Kilian Tyler 19b13b3238 docs(readme): document environment variables 2026-01-02 18:57:37 -05:00
Kilian Tyler 78e1b82815 ci(workflows): Decouple image build & publish 2026-01-02 18:57:29 -05:00
Kilian Tyler bcd6daf6b6 ci(workflow): Integrate API readiness tests 2026-01-02 18:45:26 -05:00
Kilian Tyler e0d752a5b3 Merge remote-tracking branch 'lklynet/main' into feature/security-improvement 2026-01-02 18:34:59 -05:00
Kilian Tyler e268fbd382 Merge pull request #11 from kiliantyler/feat/arm-docker
Add multi-architecture Docker builds
2026-01-02 18:34:07 -05:00
Kilian Tyler 857055bc0c fix(docker): Include src and public directories 2026-01-02 18:32:26 -05:00
Fernando Campione 38db5374bc fix conflicts and create a class for Hyperloglog to keep with the refactored architecture 2026-01-02 20:59:11 +00:00
lklynet 9e157c71f2 build: copy additional static files to docker image 2026-01-02 15:45:28 -05:00
Kilian Tyler 96f63b8f83 feat(ci): Add multi-architecture Docker builds 2026-01-02 15:40:37 -05:00
Fernando Campione b5b646a68f Ehm.. refactor much? sorry 2026-01-02 20:35:17 +00:00
lklynet fa9259ce24 feat: add logo, favicon and license to project
style: update README header formatting
2026-01-02 15:16:34 -05:00
LKLY 5ccef3ef45 Merge pull request #5 from kiliantyler/optimizations
Performance optimizations
2026-01-02 15:01:07 -05:00
LKLY 9b5b1de5d9 Merge branch 'main' into optimizations 2026-01-02 15:00:57 -05:00
lklynet 07404e9583 refactor: remove MAX_PEERS limit and related enforcement logic 2026-01-02 14:57:57 -05:00
Kilian Tyler bfdefcd1a7 fix(peers): count and relay peers even when storage is full
Previously, when seenPeers reached MAX_PEERS, new peer messages were
completely dropped - never verified, counted, or relayed. This caused
the node to stop discovering new peers and stop propagating messages.

Now we always verify, count (HyperLogLog), and relay valid messages.
We just don't store peers in seenPeers if we're at capacity.
2026-01-02 14:39:49 -05:00
Kilian Tyler 8711a4e0fa perf(heartbeat): add adaptive rate with fast startup sync
- Fast mode (2s interval) for first 2 minutes after first connection
- Slow mode (30s interval) for steady state operation
- Timer starts on first connection, not process start
- Stale peer timeout increased to 90s to match slower heartbeat
2026-01-02 14:30:21 -05:00
Kilian Tyler 3fcf71d6e8 perf(peers): use lightweight Buffer storage instead of KeyObject
Store raw DER buffer (~100 bytes) instead of parsed KeyObject (~2-5KB)
per peer. Parse on-demand during verification only. Also reduces
MAX_PEERS from 10000 to 1000 for better memory efficiency.
2026-01-02 14:29:19 -05:00
Kilian Tyler 5d1e4f059e feat(peers): add HyperLogLog for scalable peer counting
Adds approximate unique peer counting with fixed ~1KB memory usage.
Can count millions of peers with ~2% accuracy. Separates counting
(unlimited) from storage (capped at MAX_PEERS for verification).
2026-01-02 14:28:25 -05:00
Kilian Tyler 895281e54d perf(gossip): add bloom filter for message deduplication
Prevents re-relaying messages we've already forwarded. Uses a
time-bucketed dual bloom filter that rotates every 30 seconds
to prevent fill-up while maintaining deduplication.
2026-01-02 14:26:46 -05:00