summary refs log tree commit diff
Commit message (Collapse)AuthorAgeFilesLines
* 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-045-2/+138
|
* Smart Summary is now working!Vika2024-09-048-33/+338
| | | | | | | | | 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.)
* Run checkPhaseVika2024-09-041-0/+1
|
* 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.
* Fix categories in .desktop fileVika2024-09-041-1/+1
|
* Fix build scriptVika2024-09-041-3/+6
|
* Remove libpanel dependencyVika2024-09-043-34/+2
|
* Modify the dependencies to explicitly depend on important thingsVika2024-09-041-4/+9
| | | | | | | - glib-networking is a transient dependency for libsoup - dconf.lib is added automatically - the GTK3 dependency should be removed from the closure now - dconf.lib should be added by wrapGAppsHook4
* Add a GSettings schemaVika2024-09-043-20/+25
| | | | | Empty for now, but I am planning to include setting up the API endpoints and prompts for Smart Summary, among other things.
* Add gettext manuals to the devshellVika2024-09-041-0/+6
| | | | This is a hack.
* Gettextize and add Russian translationVika2024-09-049-31/+313
| | | | | | 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-0413-6/+310
| | | | | | | | 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
|
* Bring in gettext and related toolsVika2024-08-286-3/+778
| | | | xtr is better at extracting translatables from Rust than xgettext is.
* Clear tags on post submitVika2024-08-261-1/+1
|
* Proper main menu iconVika2024-08-256-3/+175
|
* Add licenseVika2024-08-252-0/+4
|
* 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
|
* Fix librsvg not being added to the GDK_PIXBUF_LOADERS_PATH on NixOSVika2024-08-251-2/+2
|
* 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.
* Bump kittybox-indieauthVika2024-08-251-2/+2
|
* 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).
* Add librsvgVika2024-08-221-2/+2
| | | | Apparently not having it means we won't have our icons.
* 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-206-69/+1218
|
* 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.
* Initial Nix & Cargo boilerplate for a Relm4 projectVika2024-08-197-0/+1462