Commit graph

167 commits

Author SHA1 Message Date
f2b063ba85 minor changes
- adjust `main` log levels
- lower default upload chunk size to utilize common cache sizes
2025-06-25 22:52:46 +00:00
465c857126 implement better hashing
- move hashing back into `cachefile` to correctly handle the `rebuild_share` case
- add `-n` / `--no-hash` CLI switch to explicitly skip hashing
2025-06-25 22:47:55 +00:00
1f9c247439 Merge branch 'develop' into feature/hashing
- with "clippy fix" and "cargo fmt"
2025-06-25 21:07:24 +00:00
e391821fe5 adjust crate structure
- move `sharry::client::ClientError` to `error::Error`
2025-06-25 16:48:00 +00:00
9000c8a46b clippy fix 2025-06-25 16:34:32 +00:00
d1d7b55585 adjust crate structure 2025-06-25 16:34:22 +00:00
78fb04403c main adjust log levels 2025-06-25 16:12:52 +00:00
0b8bebad6e implement better hashing
- actually, calling `file::Checked::hash` in `AppState::from_args` was correct: If `AppState::rebuild_share` is called, hashes are in a known state.
- call `check_hash` in `AppState::try_resume`
- minor renamings
2025-06-25 10:44:36 +00:00
11a5106473 implement better hashing
- call `file::Checked::hash` in `CacheFile::from_args` instead
2025-06-24 22:25:22 +00:00
ea5ef1fa10 implement better hashing
- call `file::Checked::hash` in `AppState::from_args`
2025-06-24 19:34:11 +00:00
2bcbc0d71c implement better hashing
- use `blake2b_simd` crate and optimize
2025-06-24 19:27:13 +00:00
97e9e41117 error 404 defaults to "bad URI" 2025-06-24 16:31:31 +00:00
6e553cc185 implement better hashing
- use Blake2b128 for the CLI arguments hash
2025-06-24 16:29:38 +00:00
ece742a1e3 ureq error message parsing 2025-06-24 02:08:35 +00:00
1e05155cc1 minor refactoring 2025-06-24 02:05:27 +00:00
005c5f7cfa move AppState::is_done into AppState::upload_chunk 2025-06-24 01:53:27 +00:00
14e1bed708 unwrap AppState::progress RefCell 2025-06-24 01:35:21 +00:00
72e9a5d40f styling/doc 2025-06-24 01:28:09 +00:00
a8ff354a51 fix some progressbar issues 2025-06-24 01:11:36 +00:00
5b403ea129 Merge branch 'develop' into feature/rebuild_share 2025-06-24 00:23:09 +00:00
c734355ebb file names from args, not from appstate
- remove `AppState::file_names`, `CacheFile::file_names`, `FileState::file_name`
- add `Cli::file_names`
- clippy fix
2025-06-24 00:18:26 +00:00
393feec125 [wip] implement handling "missing share"
- rework `CacheFile` API
- fix `AppState` using new `CacheFile`
- fix `main` using new `AppState`
- logging enhancement
2025-06-24 00:11:24 +00:00
df055fc4e9 [wip] implement handling "missing share"
- rework `CacheFile` API
- fix `AppState::{next_chunk, is_done}`
2025-06-19 10:34:28 +00:00
865566ad0c [wip] implement handling "missing share"
- rework `CacheFile` API
2025-06-18 23:40:27 +00:00
3b46d228f4 impl AppState::requeue_file 2025-06-18 20:03:26 +00:00
79bc8e67a7 "verbose" CLI param 2025-06-18 18:58:49 +00:00
4eb0627a5f "retry-limit" CLI param 2025-06-18 18:44:24 +00:00
a4bef827d1 fix clippy lint without drop 2025-06-18 18:14:39 +00:00
a633f4e228 move most printing/styling into own file 2025-06-18 18:14:09 +00:00
01bcf92d9c clippy fix 2025-06-18 14:49:30 +00:00
783346c888 major refactoring
- `sharry::Client` fn signatures
- `sharry::ClientError` rework
- `file::Uploading` saves `file_id` instead of `patch_uri`
- `impl sharry::Client for ureq::Agent` into separate file
2025-06-18 14:21:25 +00:00
de07d556a2 minor refactoring
- `use crate::` where appropriate
- cleanup CLI parsing
- `Uri::with_protocol` -> `Uri::new`
2025-06-18 13:04:04 +00:00
6ca3e6c9dd [wip] documentation
- added more notes
- minor cleanup
2025-06-15 00:56:58 +00:00
4bf18631d4 bug: don't allow chunk_size of 0 2025-06-15 00:46:02 +00:00
56223b3ae8 [wip] documentation
- added more notes
- `main.rs` logging
- clearer matching of `ClientError::ResponseStatus`
2025-06-15 00:44:28 +00:00
205af655e5 remove unnecessary Uri::endpoint call 2025-06-14 12:34:58 +00:00
10bb4feef5 logging improvements 2025-06-14 00:07:43 +00:00
e257d1cf8c CLI ergonomy 2025-06-13 23:50:42 +00:00
5b018cf84b minor cleanups 2025-06-13 23:11:40 +00:00
876869b073 Merge branch 'feature/retry_chunk' into develop 2025-06-13 23:05:16 +00:00
e2151b592c show "cargo build", program completion 2025-06-13 23:02:41 +00:00
30855ed8ff [wip] retry chunks
- `AppState::rewind` impl
- error handling in `main`
2025-06-13 23:00:36 +00:00
0a8e5cf3f0 [wip] retry chunks
- move buffer into main function again, avoiding `unsafe` code
- partially revert `Chunk` changes, removing `unsafe` parts
2025-06-13 22:32:41 +00:00
f05e112040 [wip] retry chunks
- make `Chunk` lifetime agnostic by using a raw pointer
- add `fn Uploading::rewind`
- add `fn AppState::{next_chunk, is_done}`
2025-06-13 17:03:25 +00:00
5556a658f5 minor refactoring
- var names
- logging
2025-06-13 16:07:25 +00:00
09d22a0ad9 minor renamings 2025-06-12 23:43:03 +00:00
f77acc1afd cleanup some unwrap() 2025-06-12 23:28:42 +00:00
9f1e0cfc6c [wip] impl Client for ureq::Agent
- Client is now owned by `AppState`
- minor cleanups
2025-06-12 23:01:16 +00:00
b9a0e1eeb0 [wip] impl Client for ureq::Agent
- progress bar handling
- share notify timing
2025-06-12 22:29:01 +00:00
2edc690331 [wip] impl Client for ureq::Agent
- clippy fix
2025-06-12 16:25:15 +00:00
ed10f269c8 [wip] impl Client for ureq::Agent
- wip: factor out `SavedState`
2025-06-12 16:24:17 +00:00
fb06725f05 [wip] impl Client for ureq::Agent
- wip: factor out `SavedState`
2025-06-12 09:26:11 +00:00
67da081ef9 [wip] impl Client for ureq::Agent
- error handling refactoring
2025-06-12 00:54:26 +00:00
9b1f7f872c [wip] impl Client for ureq::Agent
- minor refactorings
2025-06-11 18:17:16 +00:00
592e7bf76e [wip] impl Client for ureq::Agent
- `AppState` creation
2025-06-11 00:28:23 +00:00
0993679641 [wip] impl Client for ureq::Agent
- clippy fix
2025-06-11 00:06:08 +00:00
dc2a330d58 [wip] impl Client for ureq::Agent
- Chunk implementation
2025-06-10 23:39:20 +00:00
d607380659 [wip] impl Client for ureq::Agent
- factored out `file` module
- renamed some stuff
- decoupled `sharry::client` from `file`
2025-06-10 18:20:52 +00:00
69bef4e994 [wip] impl Client for ureq::Agent
- impl `sharry_file_patch`
- completely rework chunking logic
2025-06-10 01:17:17 +00:00
c9528a9ac1 [wip] impl Client for ureq::Agent
- use `sharry_file_create` in `AppState`
2025-06-09 00:05:58 +00:00
09af480379 [wip] impl Client for ureq::Agent
- remove `sharry::alias` and `sharry::share` (reduced to IDs)
- use `sharry_share_create` in `AppState`
2025-06-08 21:31:50 +00:00
90cecd015e [wip] impl Client for ureq::Agent 2025-06-08 17:13:01 +00:00
51ecab41bb [wip] impl Client for ureq::Agent 2025-06-08 01:20:41 +00:00
5b6fa3eaf7 minor imports refactoring 2025-06-08 00:40:29 +00:00
e208df9711 move simplified SharryFile trait back into mod.rs 2025-06-06 23:48:22 +00:00
e908c09beb refactor: minimize usize usage 2025-06-06 23:42:18 +00:00
3dc39edcab minor refactoring and fixes 2025-06-06 22:25:39 +00:00
e98001f4a4 implement SharryFile trait 2025-06-06 15:21:49 +00:00
39560eeeed mark and eliminate some unwrap 2025-06-05 22:08:24 +00:00
faea74241d progress bar refactoring 2025-06-05 21:37:52 +00:00
dc7eeaddfe CLI using indicatif 2025-06-05 17:37:35 +00:00
3bf5d96e04 earlier check for stop signal 2025-06-05 12:58:09 +00:00
e86b11d058 improved control flow and error handling 2025-06-05 12:25:39 +00:00
648828ae21 main business logic almost done 2025-06-05 11:20:27 +00:00
f63f1c870e "stop" handling 2025-06-05 10:01:09 +00:00
e8709b79ce wip: main business logic 2025-06-05 02:04:36 +00:00
dea6108b8e wip: main business logic 2025-06-05 01:55:30 +00:00
e7f0fc5a38 PathBuf debug formatting 2025-06-05 01:45:25 +00:00
7e9d553ef8 wip: main business logic 2025-06-05 01:44:39 +00:00
666aae5a46 terminate gracefully 2025-06-05 01:34:12 +00:00
9208a7dfcf wip: main business logic 2025-06-05 01:15:44 +00:00
a91d9afb66 sharry::api::Uri handling (addendum) 2025-06-04 22:29:19 +00:00
f8a748ec07 sharry::api::Uri handling 2025-06-04 22:01:17 +00:00
fd79455de4 general API consolidation 2025-06-04 21:23:21 +00:00
c246de0c99 wip: main business logic 2025-06-04 21:02:35 +00:00
cf84eed717 FileUploading::new 2025-06-04 16:58:18 +00:00
9c2fdd95c6 main logging 2025-06-04 16:54:03 +00:00
7e9cc00d7c derive Ord for FileChecked 2025-06-04 16:44:24 +00:00
cb0d8a3d9a sharry::file reimplementation apparently works 2025-06-04 16:44:16 +00:00
88c6ce94de reimplementation of sharry::file submodule
- compileable
2025-06-04 13:25:00 +00:00
7edadd7ca1 bug: wrong chunk offset 2025-06-03 00:07:44 +00:00
d197c06688 struct AppState 2025-06-02 23:57:17 +00:00
fc38e51a03 mod File: absolute -> canonicalize 2025-06-02 13:32:34 +00:00
256f3ce8ba FileChunks: save offset instead of chunk index 2025-06-02 01:34:25 +00:00
b999c35965 various minor refactorings mostly targeting CLI ergonomy 2025-05-31 15:27:52 +00:00
1ee56ac3da don't save Alias in Share 2025-05-28 14:12:14 +00:00
5643ced9d1 CLI ergonomy: timeout value 2025-05-28 13:43:14 +00:00
763c8f689e CLI ergonomy 2025-05-28 12:35:35 +00:00
2dab3c9ecd CLI ergonomy 2025-05-28 00:21:14 +00:00
fdccab81fa move CLI into own module 2025-05-28 00:07:59 +00:00