summary refs log tree commit diff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Make LLM enhancements optionalVika2024-09-045-61/+143
|
* Deal with Clippy warnings and simplify the internal Smart Summary APIVika2024-09-041-26/+20
| | | | | Now the API itself is responsible for querying settings. This makes sense, as it's an internal part of the component.
* Preferences dialogVika2024-09-042-1/+103
|
* Smart Summary is now working!Vika2024-09-043-30/+179
| | | | | | | | | 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.)
* Deal with Clippy warningsVika2024-09-043-3/+2
| | | | | | | | | | | 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.
* Gettextize and add Russian translationVika2024-09-045-30/+42
| | | | | | 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.
* Mesonify buildVika2024-09-041-0/+36
| | | | | | | | 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.
* Set global CSS instead of adding a style context to every widgetVika2024-08-282-9/+4
|
* Clear tags on post submitVika2024-08-261-1/+1
|
* Proper main menu iconVika2024-08-252-0/+3
|
* Add licenseVika2024-08-251-0/+2
|
* Signing out of the app and the About dialogVika2024-08-251-4/+60
|
* Fix stuck buttonsVika2024-08-251-1/+3
|
* Use a provided SoupSession for MicropubVika2024-08-252-10/+12
|
* Style changes to work better with the default themeVika2024-08-252-20/+41
| | | | Yes, I'm stupid and I'm developing under a custom theme
* TagPill: remove the commented macro invocationVika2024-08-251-1/+0
|
* PostEditor: reset internal tracker on updatesVika2024-08-251-0/+1
|
* Simplify the main component a lotVika2024-08-252-130/+95
| | | | | Uses the macro again, tries to store only the relevant parts in enums (i.e. the Micropub client, which requires a token).
* SignIn: Provide scopes granted in the outputVika2024-08-251-5/+11
| | | | TODO: make requested scopes parametrized
* Don't use an extraneous Box for the spinnerVika2024-08-251-8/+2
|
* Properly mount loading widgetsVika2024-08-251-0/+5
| | | | Whoops
* "Better" error handling from libsecretVika2024-08-251-33/+78
| | | | | | | | 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.
* Bring child components onto the top-level and use a single SoupSessionVika2024-08-252-39/+39
| | | | | | | 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.
* Prototype for signing in with IndieAuthVika2024-08-253-36/+670
| | | | | | 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.
* Very crude mock-up for an authentication screenVika2024-08-242-76/+149
| | | | | | 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.
* Tags in postsVika2024-08-233-7/+131
|
* Comply with GNOME HIG by ensuring our window can scale to a small sizeVika2024-08-233-157/+149
|
* Factor out the post editor UI into a separate componentVika2024-08-223-369/+537
| | | | | 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).
* Use a nice icon for the post buttonVika2024-08-221-1/+3
|
* SmartSummaryButton: un-asyncify and move summarization to a commandVika2024-08-222-31/+64
| | | | | | | 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.
* SmartSummaryButton: ask parent component for textVika2024-08-222-38/+67
| | | | | On receving `smart_summary::Output::Start`, one must reply with `smart_summary::Input::Text(text)` to start the actual summarization.
* Factor out the smart summary buttonVika2024-08-222-71/+120
| | | | | | 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.
* Display toasts on submitted posts and errorsVika2024-08-221-157/+178
| | | | | Success toasts also display a button to open the post in your browser of choice.
* Don't submit empty postsVika2024-08-201-0/+4
|
* Visibility selectorVika2024-08-201-21/+84
|
* Make the TextView scrollableVika2024-08-201-12/+19
|
* Send posts made in the post composerVika2024-08-203-6/+173
|
* Make the post composer asynchronousVika2024-08-202-12/+28
| | | | | This makes it able to execute unsendable futures, and unlocks ability for us to do asynchronous initialization and updates.
* Post composer UI prototypeVika2024-08-194-0/+351
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.