commits
this should probably be fixed in atrium's handle type but oh well
- Add --cache-memory-mb and --cache-disk-gb flags
bind options and general app configs
not likely to get reused as library code // the deprecation is more a network-user-facing thing
make clap a workspace dependency (finally, todo: more of them)
add env configs for args
add ipv6 support to slingshot's acme config
Bump rsa from 0.9.8 to 0.9.10
This belongs to the xrpc_many2many branch.
tangled.sh links give "Unable to connect error"
Now matches the existing XRPC getBacklinks endpoint naming scheme.
This should fix the white-space issue for the` try-it-macros` template as
well.
Simple conversion of the existing endpoint from REST to XRPC.
Consequtively marked the pre-existing REST endpoint as deprecated.
In addition we now ignore rocks.test
# Conflicts:
# constellation/src/storage/mod.rs
# lexicons/blue.microcosm/links/getManyToMany.json
merges https://tangled.org/microcosm.blue/microcosm-rs/pulls/6
slice the links list via Iterator::skip and ::take. i changed some of the bounds setup too. not sure if it's clearer or if i just have a better understanding of it at this specific moment.
throw an `empty` static function on some paging things for less verbose early return and tests.
make get_links_paged test a bit clearer.
https://tangled.org/microcosm.blue/microcosm-rs/pulls/6#comment-1444
many-to-many order is deterministic (could be reversed) but the order itself is arbitrary, so reversing it gives a different arbitrary order, but not a meaningfully different order.
the rocks impl also embeds assumptions about the paging rules into its join loop which might not hold
the regular /links endpoint won't get the reverse param because it's deprecated, but reversing backlinks is kept for the non-deprectated xrpc backlinks endpoint!
Bumps [rsa](https://github.com/RustCrypto/RSA) from 0.9.8 to 0.9.10.
- [Changelog](https://github.com/RustCrypto/RSA/blob/v0.9.10/CHANGELOG.md)
- [Commits](https://github.com/RustCrypto/RSA/compare/v0.9.8...v0.9.10)
---
updated-dependencies:
- dependency-name: rsa
dependency-version: 0.9.10
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
As outlined in the description of issue #4 we increase:
- the default response limit from 16 to __100__
- the maximum from 100 to __1000_
Adds a new --collect-metrics (presence) flag to make metrics collection
opt-in. The new default is to __not__ collect any metrics, i.e. neither
spawning the monitoring thread nor starting the metrics server server
that exposes these.
Refactor link query APIs to use an explicit Order enum
(OldestToNewest, NewestToOldest) instead of a boolean
reverse flag for better clarity and maintainability.
fix broken links to pdsls.dev domain
This commit fixes #49; on links to https://pdsls.dev/, the DID shall not be percent-encoded.
As outlined in the description of issue #4 we increase:
- the default response limit from 16 to __100__
- the maximum from 100 to __1000_
Adds a new --collect-metrics (presence) flag to make metrics collection
opt-in. The new default is to __not__ collect any metrics, i.e. neither
spawning the monitoring thread nor starting the metrics server server
that exposes these.
The initial implementation of the reverse ordering feature had a flaw
in how it handled pagination. When `reverse=true` was set, the code
would reverse the entire collection before applying pagination
slicing, which broke the cursor logic. Cursor positions were
calculated relative to the original ordering but applied to a reversed
set of items, causing duplicate results or skipped items across page
boundaries.
The fix restructures pagination to account for reverse ordering:
- In reverse mode, pagination starts from the beginning (oldest items)
and moves forward, with begin/end indices calculated accordingly
- In normal mode, pagination continues working backward from the end
(newest items) as before
- The result slice is reversed __only after__ pagination boundaries
are established, ensuring cursor values remain consistent
Applied to both storage backends (mem_store and rocks_store) for
consistent behavior across implementations.
Adds test coverage for the reverse parameter in get_links and
get_many_to_many_counts methods. Tests verify that reverse: true
returns results in oldest-first/descending order while reverse:
false returns newest-first/ascending order.
Before all our testing was done manually. This fixes the remaining failing automatic tests.
- Add "reverse" boolean parameter to three endpoints:
1. getManyToManyCounts (grouped counts)
2. getBacklinks (links to subject)
3. links (target links)
- Implement reverse iteration logic in both storage backends (mem_store
and rocks_store) for __reverse-chronological__ ordering
- Update HTML templates with (reverse) checkboxes
Add lexicon documents for the XRPC endpoints
pin fjall git dep to specific rev
when tungstenite said we should keep polling until ConnectionClosed, they probably didn't mean ignore all other errors.
Capitalized my favorite error messages
many-to-many counts
slice the links list via Iterator::skip and ::take. i changed some of the bounds setup too. not sure if it's clearer or if i just have a better understanding of it at this specific moment.
throw an `empty` static function on some paging things for less verbose early return and tests.
make get_links_paged test a bit clearer.
https://tangled.org/microcosm.blue/microcosm-rs/pulls/6#comment-1444
many-to-many order is deterministic (could be reversed) but the order itself is arbitrary, so reversing it gives a different arbitrary order, but not a meaningfully different order.
the rocks impl also embeds assumptions about the paging rules into its join loop which might not hold
the regular /links endpoint won't get the reverse param because it's deprecated, but reversing backlinks is kept for the non-deprectated xrpc backlinks endpoint!
Bumps [rsa](https://github.com/RustCrypto/RSA) from 0.9.8 to 0.9.10.
- [Changelog](https://github.com/RustCrypto/RSA/blob/v0.9.10/CHANGELOG.md)
- [Commits](https://github.com/RustCrypto/RSA/compare/v0.9.8...v0.9.10)
---
updated-dependencies:
- dependency-name: rsa
dependency-version: 0.9.10
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
The initial implementation of the reverse ordering feature had a flaw
in how it handled pagination. When `reverse=true` was set, the code
would reverse the entire collection before applying pagination
slicing, which broke the cursor logic. Cursor positions were
calculated relative to the original ordering but applied to a reversed
set of items, causing duplicate results or skipped items across page
boundaries.
The fix restructures pagination to account for reverse ordering:
- In reverse mode, pagination starts from the beginning (oldest items)
and moves forward, with begin/end indices calculated accordingly
- In normal mode, pagination continues working backward from the end
(newest items) as before
- The result slice is reversed __only after__ pagination boundaries
are established, ensuring cursor values remain consistent
Applied to both storage backends (mem_store and rocks_store) for
consistent behavior across implementations.
- Add "reverse" boolean parameter to three endpoints:
1. getManyToManyCounts (grouped counts)
2. getBacklinks (links to subject)
3. links (target links)
- Implement reverse iteration logic in both storage backends (mem_store
and rocks_store) for __reverse-chronological__ ordering
- Update HTML templates with (reverse) checkboxes