Releases: BBaoVanC/bobashare
Releases · BBaoVanC/bobashare
v0.2.14
v0.2.14 - 2025-01-26
Bugfixes
- Fix crash on startup due to path matching syntax changing in axum 0.8
Internal Changes
- Rewrite
bobashare_web::str_to_duration
to not use regex- This removes regex as a dependency entirely, since that was the only place
it was used.
- This removes regex as a dependency entirely, since that was the only place
Full Changelog: v0.2.13...v0.2.14
v0.2.13
v0.2.13 - 2025-01-17
Features
- Add configurable, custom about page
- configured by setting
about_page
to the path of a markdown file to render
- configured by setting
Internal Changes
- Deduplicate the link preview meta tags in
<head>
set in template files; move
tobase.html.jinja
instead - Throw compile error if main block is not overridden in a template inheriting
base.html.jinja
- Move markdown rendering code out of
bobashare-web/src/views/display.rs
and
into main module, so it can be reused in about page rendering - Replace usage of
Arc<AppState>
with&'static AppState
which is leaked
before starting web server- This feels a bit nicer because there's no need to reference count a type
which must live for the entire program anyways.
- This feels a bit nicer because there's no need to reference count a type
- Don't potentially try to create a string with
usize::MAX
capacity when
displaying a file- Pretty sure that since all relevant (>= 32 bits) platforms can fit 1048576
in a usize, that this bug would never actually happen. But it shouldn't
exist in the code.
- Pretty sure that since all relevant (>= 32 bits) platforms can fit 1048576
Full Changelog: v0.2.12...v0.2.13
v0.2.12
v0.2.12 - 2024-11-04
Bugfixes
- Fix seconds not being a supported duration unit in
str_to_duration
(originally introduced 8eeb4db).
Internal Changes
- Entirely rewrite
TemplateState
to use references instead of cloning- Also remove askama_axum as it is easier to reimplement locally by rendering template to String manually
- Also includes a major rewrite of how ErrorResponse works
- Make
CurrentNavigation
type used inTemplateState
beCopy
since it is a simple value enum - Remove unnecessary lifetime parameter from ExpiryUnit since they are always
'static
CI Changes
- Fix cross compilation, so the attachments uploaded to releases should now be the correct architecture.
Full Changelog: v0.2.11...v0.2.12
v0.2.11
v0.2.11 - 2024-09-22
Bugfixes
- Fix uncaught error if network connection drops in failed upload
- This was also causing the popup error dialog not to be shown
API (minor, non-breaking) Changes
- Use plaintext response to invalid routes on /api
- Instead of default HTML template response, send a plaintext error message
which is easier to deal with or read, i.e. when using curl directly. - This message is not considered part of the stable API! Please do not match
it directly in API clients; read the error code (404) in the response
instead.
- Instead of default HTML template response, send a plaintext error message
Visual Tweaks
- Add extra info bar to display page to show upload ID and view raw button
(fixes #4)- Browsers do not display the URL in an unambiguous font, so it can be hard to
read the upload id by eye. Add a second bar so the id is displayed in a
monospace font in the page body. Also make the filename monospace font so it
is easy to read too. Two bars gives more space, so add a "View raw" button
which is good for copy-pasting the entire file.
- Browsers do not display the URL in an unambiguous font, so it can be hard to
- Make current navbar selection white instead of blue and add margin below top
bar on main upload page- This makes it easier to distinguish the "Upload" navbar item from the file
upload form, so users are less likely to accidentally click it when trying
to upload the current selected file.
- This makes it easier to distinguish the "Upload" navbar item from the file
- Fix filename not being vertically aligned on display page
- Set color-scheme: dark to make native elements use dark mode (partial fix for
#7)- This fixes the arrows looking light on the number input for expiry, but not
the weird-looking pseudo-skeumorphic dropdown select box for the expiry unit
on Safari.
- This fixes the arrows looking light on the number input for expiry, but not
Internal Changes
- Destructure State directly in URL handler function parameters to clean up
state.0 usage - Remove redundant struct construction in
From<Arc<AppState> for TemplateState
- Exactly identical code was used in both the
From<Arc<AppState>>
and
From<&AppState>
impl's to constructTemplateState
; instead, just call
theFrom<&AppState>
impl from theFrom<Arc<AppState>>
to remove the
redundancy.
- Exactly identical code was used in both the
- Remove obsolete leftover TemplateState::icon method
- Remove unnecessary allow(unused_variables) in
views::display::string_is_true
- Replace it with an underscore expression
Testing
- Add
cargo-public-api
test that fails if public API changes
Full Changelog: v0.2.10...v0.2.11
v0.2.10
- Upgrade dependencies
- Replace duration_str with simple regex implementation
- This means that you can no longer use sums of durations (ie.
1d 5h 20m
).
However, this feature may return in the future.
- This means that you can no longer use sums of durations (ie.
Documentation
- Fix indentation in
bobashare_web::Cli
list - Fix headline for static_routes module
Full Changelog: v0.2.9...v0.2.10
v0.2.9
- Add rustdoc via GitHub Pages
- Add basic documentation
- Upgrade dependencies
Full Changelog: v0.2.8...v0.2.9
v0.2.8
- Fix Docker image by upgrading Debian
Full Changelog: v0.2.7...v0.2.8
v0.2.7
- Upgrade dependencies
v0.2.6
- Upgrade dependencies