b9e553f112
use base64 crate instead of base64ct, no constant time necessary
2025-07-03 14:20:30 +00:00
ea453da433
[wip] unit tests for sharry module
...
- doc + testing for `uri` module
2025-07-03 13:10:19 +00:00
b01eb69e95
Merge branch 'develop' into feature/unit_tests
2025-07-03 13:07:20 +00:00
fada53044d
sharry::ids formatting
2025-07-03 13:07:09 +00:00
67b048f9ac
use to_string instead of to_owned where applicable
2025-07-03 13:05:56 +00:00
a7cddf3205
Merge branch 'develop' into feature/unit_tests
2025-07-03 13:05:09 +00:00
46913e93b9
use to_string instead of to_owned where applicable
2025-07-03 13:02:13 +00:00
470ebc4305
uri::Uri creation
2025-07-03 12:58:53 +00:00
f4e0bc5be4
[wip] unit tests for sharry module
...
- doc + testing for `uri` module
2025-07-03 11:07:32 +00:00
abf76c9df7
move check_trait to crate root
2025-07-03 10:32:46 +00:00
2cc13f24e7
minor refactoring
...
- untangle `CacheFile::{rewind_chunk, abort_upload}`
- change `file::Uploading::rewind` signature to a more "builder"esque pattern
2025-07-02 12:01:07 +00:00
ad1854dfb8
[wip] unit tests for sharry module
...
- makeover for `json` module
2025-07-02 11:39:49 +00:00
d891e6d1c4
[wip] unit tests for sharry module
...
- `ids` done
2025-07-01 19:12:48 +00:00
91085a9eec
Merge branch 'develop' into feature/unit_tests
2025-07-01 18:56:33 +00:00
d55684096f
remove unneeded macro param in error::impl_error_from
2025-07-01 18:51:49 +00:00
de208a20d5
clippy fix
2025-07-01 15:24:26 +00:00
3bfdf87277
Merge branch 'develop' into feature/unit_tests
2025-07-01 15:20:18 +00:00
0d68d139d5
improved error handling
2025-07-01 15:20:07 +00:00
2eb651f919
[wip] doc for sharry module
2025-06-28 09:24:46 +00:00
903fbc3480
[wip] unit tests for sharry module
2025-06-27 16:59:31 +00:00
bc4c15d17c
consolidate sharry module
2025-06-27 08:34:13 +00:00
3f00e08422
consolidate sharry::api module
2025-06-27 08:29:57 +00:00
357f455ec0
import strategy for error module (cont.)
2025-06-27 02:03:49 +00:00
e3fc06b019
Merge branch 'develop' into feature/api_structs
2025-06-27 02:02:36 +00:00
2315c9cd2e
import strategy for error module
2025-06-27 01:55:43 +00:00
c7b24b1250
add id::{AliasID, ShareID}
2025-06-27 01:47:38 +00:00
d8c48b74ca
remove unnecessary impl AsRef<str> for FileID
2025-06-26 10:15:54 +00:00
d37797d2ec
clippy fix
2025-06-26 10:13:23 +00:00
e0c5b5517f
better unit testing for FileID
2025-06-26 10:06:43 +00:00
087cef5d6f
Merge branch 'develop' into feature/api_structs
2025-06-26 09:59:59 +00:00
b17f239801
create Error::Mismatch variant
2025-06-26 09:56:29 +00:00
5adbf8cb38
ProgressBar handling simplification
2025-06-26 00:08:18 +00:00
3258b8fb74
prompt user before rebuilding share
2025-06-25 23:52:16 +00:00
c9c21aa128
split api.rs into modules
...
- `id` for multiple "ID" types
- `json` for types directly interacting with the Sharry API
- `uri` for the `Uri` type
- activate testing
2025-06-25 23:43:57 +00:00
f1c6eb5d75
create struct sharry::api::FileID
2025-06-25 23:20:57 +00:00
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