| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The libsecret-rs crate is unmaintained, so I'm vendoring it for
now. Bumping the glib version turned out to be enough.
The exact process I used was:
1. Cloning the repository
2. Making changes
3. `cargo build` to ensure it works
4. `cargo package --no-verify` (b/c it tries to build all crates
separately instead of the entire workspace as a whole)
5. `mkdir libsecret/sys -p`
6. `tar --strip-components 1 -C libsecret -xvf ../libsecret-rs/target/package/libsecret-0.6.0.crate`
7. `tar --strip-components 1 -C libsecret/sys -xvf ../libsecret-rs/target/package/libsecret-sys-0.6.0.crate`
Then `Cargo.toml` is modified to ensure the libsecret and its `-sys`
crate build out of my vendored sources.
In the future, if I gain maintainership of the `libsecret` crate, I
could just revert this commit to make it point back to the upstream.
|
| |
|
|
|
|
|
| |
Now the API itself is responsible for querying settings. This makes
sense, as it's an internal part of the component.
|
| |
|
|
|
|
|
|
|
|
|
| |
There's no preferences dialog, so you can't really adjust the prompt
or the model it uses. The default settings work well for me. You may
want to tweak them depending on your model preferences and compute
budget. (Not many can afford to run Llama3-8B at high
quantization. Conversely, you might have a better GPU than me and wish
to run a 27B model or bigger.)
|
|
|
|
|
|
|
|
|
|
|
| |
1. narrow_layout is indeed unused, `AdwBreakpoint` remembers initial
values and restores them on load
2. `TagPillWidgets` is not exactly dead code, I'm adding all the
widgets to it to emulate how Relm4 macros do it. Perhaps it'll be used
in the future.
3. We currently ignore the libsecret result on clearing the tokens
because dealing with libsecret errors is annoying and requires unsafe
code due to outdated dependencies.
|
|
|
|
|
|
| |
This is a very shitty translation, but it can be improved later. I
added it mostly as a test for translations working correctly, since I
know Russian and might as well translate the app into the language.
|
|
|
|
|
|
|
|
| |
This took a while and had me scratching my head often. But I managed
to combine the best parts of Crane and Meson together, allowing me to
have blazing fast Nix builds.
This also adds initial scaffolding for gettext and other cool things.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Yes, I'm stupid and I'm developing under a custom theme
|
| |
|
| |
|
|
|
|
|
| |
Uses the macro again, tries to store only the relevant parts in
enums (i.e. the Micropub client, which requires a token).
|
|
|
|
| |
TODO: make requested scopes parametrized
|
| |
|
|
|
|
| |
Whoops
|
|
|
|
|
|
|
|
| |
I had to commit a minor safety crime (but not an unsoundness crime) to
get libsecret's `glib::Error` to be compatible with `glib::Error` from
the newer GLib version.
This could be dropped later when libsecret updates.
|
|
|
|
|
|
|
| |
This helps unify HTTP-related settings in one place.
In Relm4 Matrix chatroom, it was said that deconstructing child
components makes little sense in terms of optimizations.
|
|
|
|
|
|
| |
The code is really janky and unpolished, the error handling is
TERRIBLE, and I think I can't publish it like this. This'll need a
refactor, but it'll come tomorrow.
|
|
|
|
|
|
| |
This saves memory by dropping unneeded components. Once the app
changes state, it can simply drop the unnecessary component, such as
the login screen, to save memory.
|
| |
|
| |
|
|
|
|
|
| |
Now it's easy to use the same UI for sending a new post or editing an
existing one (by loading it with `?q=source` and then comparing).
|
| |
|
|
|
|
|
|
|
| |
What this command should do is construct a summarization request and
return a future which would return chunks from the LLM.
Perhaps this component will be asyncified in the future.
|
|
|
|
|
| |
On receving `smart_summary::Output::Start`, one must reply with
`smart_summary::Input::Text(text)` to start the actual summarization.
|
|
|
|
|
|
| |
This is a little bit janky in my opinion, because it takes a reference
to the buffer which contents its gonna be summarizing. In a perfect
world, it would ask the parent component for the text.
|
|
|
|
|
| |
Success toasts also display a button to open the post in your browser
of choice.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This makes it able to execute unsendable futures, and unlocks ability
for us to do asynchronous initialization and updates.
|
|
Currently the UI does precisely nothing, but the ✨ Smart Summary
button prints a message stating what it's supposed to do. The Post
button currently just logs to the console, although ultimately it
should send a message to a parent component or something.
Perhaps even the composer UI itself should be a separate part that can
provide an MF2-JSON document on a command.
|