michel
4775ede762
Merge branch 'refactor/lock-poison-safety'
2026-04-26 12:51:49 +02:00
michel
2722552e35
refactor: replace lock unwraps with poison-aware helpers
...
Add SoulseekRs::LockPoisoned variant and a small RwLockExt/MutexExt
helper module exposing read_safe/write_safe/lock_safe that map
PoisonError to that variant. Walk every non-test lock acquisition
across client, peer/server actors, peer registry, listener and the
thread pool: propagate via ? where the function returns Result, log
and degrade to a sensible default (return early, false, None, empty)
where it does not. Client::connect now returns Result so the CLI can
surface the failure instead of panicking.
2026-04-26 12:32:46 +02:00
michel
e1ee3ac493
fix clippy collapsible match warnings
2026-04-26 12:18:00 +02:00
michel
41d129c6bc
chore: update license date
2026-04-26 12:00:24 +02:00
Michel de Graaf
6a63703f82
Merge pull request #2 from adalessandro/wip/adalessandro/dotenv
...
soulseek-rs: main: Add support for dotenv environment
2026-04-26 11:58:29 +02:00
Michel de Graaf
dfdd60f1c8
Merge pull request #1 from adalessandro/dev
...
soulseek-rs: main_tui: Restore terminal status before exiting
2026-04-26 11:57:54 +02:00
michel
bff7ca4bd4
chore: change copyright date
2026-04-26 11:55:40 +02:00
michel
de58c8cbe2
Add TUI download pause and queued delete
2026-04-26 11:50:37 +02:00
michel
807dea5f17
Fix TUI search cursor editing
2026-04-26 11:43:44 +02:00
Michel de Graaf
dfe6f532fa
chore: formatting
2026-01-04 20:37:03 +01:00
Michel de Graaf
94b33d4bd6
chore: get rid of generated files
2026-01-04 20:12:51 +01:00
mayor
16c8a4bde9
chore: update to Rust 2024 edition
2026-01-04 20:08:16 +01:00
Michel de Graaf
f7ebcccdd3
chore: ignore beads
2026-01-04 19:50:44 +01:00
Michel de Graaf
f5b65053e2
fix: hanging TUI on queueing downloads
2025-11-19 09:13:03 +01:00
Michel de Graaf
9f174c4c5e
fix: linting
2025-11-19 08:40:41 +01:00
Michel de Graaf
bb86e50b4f
fix: queuing downloads
2025-11-19 08:27:50 +01:00
Michel de Graaf
b7a5037edb
chore: keep updating search results
2025-11-18 16:02:19 +01:00
Michel de Graaf
2ba48663e4
feat: logging to log file
2025-11-18 15:49:53 +01:00
Michel de Graaf
4c6d7c6850
chore: refactor UI to use Downloads struct
2025-11-18 14:33:33 +01:00
Michel de Graaf
79da19ed0f
chore: refactor downloads
2025-11-18 14:11:25 +01:00
Michel de Graaf
467de9cb91
chore: bump version
2025-11-13 14:13:28 +01:00
Michel de Graaf
9a4ad6c38a
feat: main TUI
2025-11-13 14:12:37 +01:00
Michel de Graaf
cafa40a09d
chore: refactor to support multi search
2025-11-13 10:28:16 +01:00
Michel de Graaf
4a34583f9c
chore: improve download selector
2025-11-13 10:08:16 +01:00
Michel de Graaf
6ca179373f
chore: bump version
2025-11-12 21:18:36 +01:00
Michel de Graaf
fff407c30d
chore: bump version
2025-11-12 15:46:50 +01:00
Michel de Graaf
f8999dccb1
chore: gif demo
2025-11-12 15:38:29 +01:00
Michel de Graaf
16394a1f60
chore: update feature todo list in readme
2025-11-12 14:57:25 +01:00
Michel de Graaf
69a044b1fa
chore: UI tweaks
2025-11-12 14:52:31 +01:00
Michel de Graaf
406def31d9
chore: rename label from files to download
2025-11-12 11:56:32 +01:00
Michel de Graaf
e87853c66a
chore: bump version
2025-11-12 02:03:17 +01:00
Michel de Graaf
5816d9b632
chore: refactor CLI app with new modules for seperation of concerns, reusable components and consistent styling
2025-11-12 02:02:35 +01:00
Michel de Graaf
5a28452c02
feat: clear filter in multi-select download screen function
2025-11-12 01:52:27 +01:00
Michel de Graaf
689e667ade
chore: bump version
2025-11-12 01:41:43 +01:00
Michel de Graaf
3f506389f0
feat: improved search screen
2025-11-12 01:37:08 +01:00
Michel de Graaf
f84d4ea41e
chore: rename the cli binary to soulseek-rs
2025-11-12 01:36:51 +01:00
Michel de Graaf
30c4fd2aad
feat: better search TUI, multi select downloads and parallel downloads
2025-11-12 00:26:03 +01:00
Michel de Graaf
98a8f53094
feat: improved cli
2025-11-11 23:38:59 +01:00
Michel de Graaf
3d6cc9f7cd
feat: client settings and defaults
2025-11-11 22:22:21 +01:00
Michel de Graaf
7bf2748e1f
feat: seperate into lib and cli packages
2025-11-11 21:55:53 +01:00
Michel de Graaf
00046f2d59
chore: rename ServerOperation to ServerMessage
2025-11-11 21:16:39 +01:00
Michel de Graaf
b7f7cf5582
fix: formatting
2025-11-11 19:41:18 +01:00
Michel de Graaf
fb1e5eac07
chore: tweak blocking peer connections
2025-11-11 19:36:50 +01:00
Michel de Graaf
bf7eb66e58
fix: broken test (thread pool & actors destroy)
2025-11-11 19:19:45 +01:00
Michel de Graaf
cb47b3f3cd
chore: change log prefixes
2025-11-11 19:10:50 +01:00
Michel de Graaf
d045647af1
Merge branch 'feat/server_actor'
2025-11-11 19:01:36 +01:00
Michel de Graaf
a4ece85eaf
chore: bump version
2025-11-11 19:01:32 +01:00
Michel de Graaf
5dc635297e
chore: refactor server as an actor
2025-11-11 19:00:38 +01:00
Michel de Graaf
7ae1919c94
chore: manual releases
2025-11-11 14:53:40 +01:00
Michel de Graaf
0e09a3feae
Merge branch 'feat/actor'
2025-11-11 14:53:40 +01:00
Michel de Graaf
9655f09b77
chore: version bump
2025-11-11 14:53:40 +01:00
Michel de Graaf
13f4783f65
chore: refactor peer connection to actor and non blocking
2025-11-11 14:53:40 +01:00
Michel de Graaf
040d53b87a
chore: add development warning to readme
2025-11-11 14:53:40 +01:00
Michel de Graaf
a1b88f58bd
chore: debug logging
2025-11-11 14:53:40 +01:00
Michel de Graaf
a4aee59e1e
chore: remove logging
2025-11-11 14:53:40 +01:00
Michel de Graaf
1ee5755ed1
feat: only for download peer spawn a thread
2025-11-11 14:53:40 +01:00
Michel de Graaf
71547aeb85
chore: remove threadpool from client
2025-11-11 14:53:40 +01:00
Michel de Graaf
f6921224c6
fix: listener
2025-11-11 14:53:40 +01:00
Michel de Graaf
2584428170
chore: linting
2025-11-11 14:53:40 +01:00
Michel de Graaf
3dc667fe30
feat: actor refactoring default peer
2025-11-11 14:53:40 +01:00
Michel de Graaf
7bae6b36da
chore: cargo.lock
2025-11-11 14:53:40 +01:00
Michel de Graaf
46ebcad98b
feat: restructure release workflow to build binaries before creating release
...
- Add check-release job to determine if a release is needed
- Build binaries in parallel for all platforms before release
- Create release and attach binaries in final step
- Start with version 0.1.0
2025-11-07 11:20:52 +01:00
Michel de Graaf
153123c567
fix: ci/cd release
2025-11-07 10:47:02 +01:00
Michel de Graaf
35accb8b9e
chore: fix broken test
2025-11-07 10:39:40 +01:00
Michel de Graaf
bbfccbccfe
chore: fix linting issues caused to update of rust/clippy to newer version
2025-11-07 10:29:55 +01:00
Michel de Graaf
5e54fa1f94
chore: ci/cd & realease automation
2025-11-07 10:19:58 +01:00
Michel de Graaf
843eff14ca
chore: clean up repository
2025-11-07 09:53:05 +01:00
Michel de Graaf
257f2876f3
chore: add readme
2025-11-07 09:51:37 +01:00
Michel de Graaf
1785da6507
chore: improve logging
2025-11-06 16:45:07 +01:00
Michel de Graaf
bcbd68257d
chore: add MIT license to project
2025-11-07 09:33:45 +01:00
Michel de Graaf
e9880ad638
chore: clean up download peer stream processor
2025-11-06 12:39:14 +01:00
Michel de Graaf
11f62dc4b8
chore: refactor download peer
2025-11-06 12:35:58 +01:00
Michel de Graaf
fe60ea67f8
chore: refactor listener
2025-11-06 12:18:28 +01:00
Michel de Graaf
297badbddf
fix: direct download
2025-11-06 10:59:57 +01:00
Michel de Graaf
c623d27e65
feat: enable listener functionality
2025-11-05 13:40:13 +01:00
Michel de Graaf
9de47892ba
chore: refactor listener and default peer
2025-11-04 20:48:23 +01:00
Michel de Graaf
d11c6782a7
chore: refactor default peer
2025-11-04 18:48:32 +01:00
Michel de Graaf
c346c56297
feat: add download feedback via channel
2025-11-03 16:37:21 +01:00
Michel de Graaf
a9d0101a58
fix: correct listening port
2025-11-02 19:57:56 +01:00
Michel de Graaf
7958fe9a29
feat: add configurable listen port
2025-11-02 11:50:39 +01:00
michel
ff30db3e29
chore: refactor to use RwLock
2025-11-01 14:57:27 +01:00
michel
4932386056
fix: download directory handling
2025-10-26 01:57:22 +02:00
michel
436bc0fe1a
chore: fix download path
2025-10-26 01:15:17 +02:00
michel
f196c86328
chore: fix linting issues
2025-10-25 18:13:45 +02:00
Michel de Graaf
27258a09f0
fix: download path handling
2025-10-13 16:01:30 +02:00
Michel de Graaf
9ccc4fa1e9
fix: set nodelay on socket
2025-10-13 10:12:04 +02:00
Michel de Graaf
cd3dca40c5
feat: rename module to soulseek-rs
2025-07-31 22:24:34 +02:00
Michel de Graaf
5aa4472510
chore: fix clippy
2025-07-31 22:01:00 +02:00
Michel de Graaf
843fb79d59
chore: format code
2025-07-31 22:00:06 +02:00
Michel de Graaf
6431630510
chore: remove all warnings
2025-07-31 20:41:05 +02:00
Michel de Graaf
4302d74847
chore: refactor module structure
2025-07-31 20:33:30 +02:00
Michel de Graaf
28ecda68a6
chore: fix all tests
2025-07-31 20:15:37 +02:00
Michel de Graaf
9553537bc6
feat: implement download peer
2025-07-31 20:06:41 +02:00
Michel de Graaf
956cb824bd
feat: add logging support
2025-07-05 23:16:05 +02:00
Michel de Graaf
57dafaf8ab
feat: remove peers
2025-07-05 22:54:28 +02:00
Michel de Graaf
d07e9ec113
chore: rename FileSearch to FileSearchResult
2025-06-30 00:06:19 +02:00
Michel de Graaf
c75bdd29c5
feat: implement client search functionality
2025-06-30 00:03:46 +02:00
Michel de Graaf
7aaec67a30
chore: improve read/write handling for default peer
2025-06-29 23:18:53 +02:00
Michel de Graaf
0d3ab4566e
feat: introduce threadpool
2025-06-29 23:09:06 +02:00
Michel de Graaf
b69be1c6f0
chore: fix clippy warnings
2025-06-29 22:16:17 +02:00