Commit graph

54 commits

Author SHA1 Message Date
5adbf8cb38 ProgressBar handling simplification 2025-06-26 00:08:18 +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
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
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
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
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
e257d1cf8c CLI ergonomy 2025-06-13 23:50:42 +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
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
e908c09beb refactor: minimize usize usage 2025-06-06 23:42:18 +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
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
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
9208a7dfcf wip: main business logic 2025-06-05 01:15:44 +00:00