diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..ead88cf
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,25 @@
+---
+name: Build
+
+on:
+ pull_request:
+ branches:
+ - main
+
+env:
+ CARGO_TERM_COLOR: always
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Install depencencies
+ run: sudo apt-get install -y libxkbcommon-dev libsqlite3-dev
+ - name: Configure rust-toolchain
+ uses: dtolnay/rust-toolchain@stable
+ with:
+ components: rustfmt
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Build
+ run: cargo build --verbose
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
new file mode 100644
index 0000000..76066d9
--- /dev/null
+++ b/.github/workflows/lint.yml
@@ -0,0 +1,35 @@
+---
+name: Lint
+
+on:
+ pull_request:
+ branches:
+ - main
+
+env:
+ CARGO_TERM_COLOR: always
+
+jobs:
+ lint:
+ runs-on: ubuntu-latest
+ permissions:
+ checks: write
+ pull-requests: write
+ steps:
+ - name: Install depencencies
+ run: sudo apt-get install -y libxkbcommon-dev libsqlite3-dev
+ - name: Configure rust-toolchain
+ uses: dtolnay/rust-toolchain@nightly
+ with:
+ components: rustfmt,clippy
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Lint using clippy
+ uses: auguwu/clippy-action@1.4.0
+ with:
+ token: ${{ secrets.GITHUB_TOKEN }}
+ - name: Format
+ uses: mbrobbel/rustfmt-check@master
+ with:
+ token: ${{ secrets.GITHUB_TOKEN }}
+ mode: review
diff --git a/README.md b/README.md
index 4ac922b..0786a37 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,3 @@
-> [!CAUTION]
-> This application is still under development, and is not deemed stable for general use.
-
@@ -30,7 +27,7 @@ Features:
- `just`
- `libxkbcommon-dev`
- `libcosmic`
-- `libsqlite3`
+- `libsqlite3-dev`
## Installation
@@ -52,29 +49,6 @@ sudo just install
## Roadmap
-### Initial Stable Release
-
-> [!NOTE]
-> This list is not complete and subject to change.
-
-In preparation for the first initial "stable" release, the following must be completed:
-
-- [x] [Application] Throw exceptions when failed to invoke REST API requests.
-- [x] [UI] Notifications/toasts.
- - [x] Account deletion.
- - [x] Updating account.
- - [x] Adding account.
- - [x] Refreshing bookmarks for account.
- - [x] Refreshing bookmarks for all accounts.
- - [x] Bookmark deletion.
- - [x] Updating bookmark.
- - [x] Adding bookmark.
-- [x] [Application] logging.
-- [x] [Application] Avoid refreshing on every change/update.
- - [x] Update memory in-place when possible.
-- [x] [Application] "Lazy" bookmark refresh (do not block).
-- [ ] CI
-
### Future
Potential improvements:
@@ -88,6 +62,7 @@ Potential improvements:
- [UI] Visual indicator for last sync status.
- [UI] Indicators for `archived`, `unread`, `shared` bookmarks.
- [Distribution] Flatpack release.
+- [Distribution] compiled binary in GitHub release.
- [UI] Sort bookmarks.
Things to consider:
diff --git a/res/screenshots/accounts.png b/res/screenshots/accounts.png
index aeed44c..a3f9976 100644
Binary files a/res/screenshots/accounts.png and b/res/screenshots/accounts.png differ
diff --git a/res/screenshots/bookmarks.png b/res/screenshots/bookmarks.png
index 2f70c8d..852d24f 100644
Binary files a/res/screenshots/bookmarks.png and b/res/screenshots/bookmarks.png differ
diff --git a/src/key_binds.rs b/src/key_binds.rs
index 314ddc2..c5c0a48 100644
--- a/src/key_binds.rs
+++ b/src/key_binds.rs
@@ -1,8 +1,8 @@
use std::collections::HashMap;
+use cosmic::iced::keyboard::Key;
use cosmic::widget::menu::key_bind::KeyBind;
use cosmic::widget::menu::key_bind::Modifier;
-use cosmic::iced::keyboard::Key;
use crate::app::MenuAction;
diff --git a/src/main.rs b/src/main.rs
index d34f972..8ca6745 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -3,15 +3,15 @@ mod config;
mod db;
mod http;
mod i18n;
+mod key_binds;
mod menu;
mod models;
mod nav;
mod pages;
-mod key_binds;
use crate::config::{Config, CONFIG_VERSION};
-use cosmic::cosmic_config::{self, CosmicConfigEntry};
use app::{Flags, APPID};
+use cosmic::cosmic_config::{self, CosmicConfigEntry};
fn main() -> cosmic::iced::Result {
let requested_languages = i18n_embed::DesktopLanguageRequester::requested_languages();
diff --git a/src/menu.rs b/src/menu.rs
index 6464a43..b6d3918 100644
--- a/src/menu.rs
+++ b/src/menu.rs
@@ -17,9 +17,7 @@ pub fn menu_bar<'a>(key_binds: &HashMap) -> Element<'a, Mes
root(fl!("file")),
items(
key_binds,
- vec![
- Item::Button(fl!("add-account"), MenuAction::AddAccount),
- ],
+ vec![Item::Button(fl!("add-account"), MenuAction::AddAccount)],
),
),
Tree::with_children(