~nixgoat/shoelace

builds: Mirror all refs over to GitHub

Not all branches would be pushed when mirroring, so this should fix
that.
build: Mirror to GitHub

Adds an automatic build job to mirror Shoelace to the GitHub mirror.
readme: Change room address

I've moved the Shoelace Matrix room to f0rest.net, since it's more
stable to work with.
meta: Bump version to v0.2.1

Now using spools v0.6.1. Fixes scraping at large after some updates from
Instagram's side.
d423f0da — Lux Aliaga 3 months ago v0.2
meta: Bump version to v0.2.0

Major release. This release focuses on expanding quite a bit from the
base established in v0.2.x. Changes include:

- RSS feeds for profiles: Users can now fetch the latest posts from
  their favorite creators using an RSS reader.
- Open Graph previews: Posts and profiles can now have embedded previews
  when being shared on other social media platforms.
- Image thumbnails: Pages now load in less time, by fetching lighter
  versions of embedded media, which is now an option in spools v0.6.
- Frontend changes: aoife added the quick jump bar found in the homepage
  to the error pages, reducing the amount of clicks needed to find
  another profile.
- API revamp: Gone are the unnecessary URL formatted headers. The API
  now parses arguments through the path specified in the URL.

It must be noted that RocksDB support has been dropped in this version.
Existing instance administrators are strongly advised to switch to
either a Redis/Redict install, or to use the internal keystore.
ef4e053d — Lux Aliaga 3 months ago
meta: Fix spools version to v0.6
5fa24cb8 — Lux Aliaga 3 months ago
meta: Submodule to repo ref for spools

Cargo has the option to fetch a dependency from a Git repository.
Instead of using a submodule and importing its path, use Cargo to
fetch spools directly from its original repository on builds.
73df6104 — Lux Aliaga 3 months ago
api: Consistency on input names

Every other endpoint uses "post" to define the shortcode, therefore
making it the de facto way of referring to that kind of input.
0c21368d — Lux Aliaga 3 months ago
src: Make all definitions crate-private

Many of these private definitions were removed due to compilation
issues on older compilers. However, in order to not leave incomplete
documentation when publishing this on crates.io, its best to sacrifice
compatibility on legacy systems.
35123423 — Lux Aliaga 3 months ago
test: Unify app data definitions

Many of the ShoelaceData structs defined for testing were exactly equal.
Declare a constant for these, so it can be reused on tests which require
it.
64662772 — Lux Aliaga 3 months ago
spools: Bump submodule commit

Considering including it into the crate's manifest instead of using
this submodule...
c14e8674 — Lux Aliaga 3 months ago
src: Format with `cargo fmt`
40e177fe — Lux Aliaga 3 months ago
src: Apply Cargo clippy suggestions

These include removing Error suffixes inside Error enum, renaming the
`to_plaintext()` to `into_plaintext()` to fit language conventions, and
merging the match arms defining `url` with the definition of the
variable itself.
316d7aac — Lux Aliaga 3 months ago
rss: Revise feed formatting

Modify item titles to display a post's context instead of its body,
add publication dates, and reformat builders to fit the rendered feed's
structure. Dates require the Chrono crate, so include it into
Cargo.toml. Finally, remove trailing newline on `api.rs`.
1bb4b449 — Lux Aliaga 3 months ago
templates/user: Add RSS subscribe button

It's located next to the verification badge (if applicable), and links
the user directly into the equivalent response in the RSS endpoint.
8104ef70 — Lux Aliaga 3 months ago
config: Implement RSS endpoint toggle

This allows for disabling user RSS feeds if the instance administrator
doesn't want them to be used. Includes edits on example configuration
file, and passes value in order to not display a button for it in the
frontend.
1c27cf58 — Lux Aliaga 3 months ago
rss: Return plaintext errors

Uses the same `error.to_plaintext()` method used in the API.
2771671c — Lux Aliaga 3 months ago
rss: Initial implementation

Adds the backend for RSS feeds. The implementation uses the `rss` crate,
which serializes the data for a user's posts into an RSS 2.0 feed. Still
is incomplete, as there's no option to disable these feeds, and error
responses are being returned as full HTML documents instead of plaintext
0bce4749 — Lux Aliaga 3 months ago
submodule: Bump commit for spools

Since quite a few changes have been applied to spools since the last
commit, it's only fair to get Shoelace working in a more recent revision
07b3a687 — Lux Aliaga 3 months ago
main: Fix request logging

Request logs would go ignored due to no adapter being provided for the
`log` crate in Tracing. Add the `tracing-log` crate and include the
adapter on the main function to get them to show up. Additionally,
clean up messy comments.
Next