249 Commits

Author SHA1 Message Date
Gustavo Carvalho
81d91098ad feat: enhance scrollbar styles 2025-12-27 03:46:53 -03:00
Gustavo Carvalho
baba9b920d refactor: remove frontend duplicated code (#69)
* refactor: frontend codebase duplicated code

* refactor: move SearchBar component to common directory

* refactor: update import paths for SearchBar

* fix: use correct import

* refactor: remove unnecessary comments

* refactor: add .gitattributes for file type handling
2025-12-27 03:22:13 -03:00
Gustavo Carvalho
b216e5c251 feat: add website status badge 2025-12-26 23:24:28 -03:00
Gustavo Carvalho
d870cdd35b chore: bump version to 0.4.17 v0.4.17 2025-12-26 20:07:15 -03:00
Gustavo Carvalho
80d52366ab feat: history limit (#68)
* feat: improve pinning logic in clipboard history

* feat: sort clipboard history items with pinned items first

* feat: add configurable maximum clipboard history size

* chore: remove zero check

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: expose DEFAULT_MAX_HISTORY_SIZE

* feat: set default maximum history size from clipboard manager

* chore: make sort by key stable

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* chore: improve sort by consistense

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: ensure history is persisted only when trimmed items exceed configured limit

* feat: minimum and maximum history size constants

* fix: enforcey history limit already truncate history

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: enforce history limit considering pinned items

* feat: improve clipboard history synchronization

* feat: add logging for checking limits

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: enhance clipboard history updates with delta handling

* feat: improve max history size input handling to prevent accidental data loss

* fix: ajust typo

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* chore: improve comment

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* chore: improve history change detection

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-26 20:05:50 -03:00
freshCoder21313
0211ab7d9e feat: smart actions (#67)
* feat: extract Kaomoji and Symbols feature

* style(lint & format): Improve code formatting and adjust whitespace
- Modified whitespace, blank lines, and prop alignment across ClipboardApp, KaomojiPicker, and user_settings.rs.
- Categorized as 'style' for cosmetic changes that enhance readability without altering any logic or functionality.
- Decision made to standardize prop indentation and remove unnecessary blank lines for consistent code style.

* chore: apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* chore: apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat(merge | expand-feature): add smart actions and setup wizard

* refactor: reorganize components and add minor features

* refactor: address review feedback and fix rich text rendering

- Enable rendering of `RichText` content in history items.
- Simplify `#[serde(default)]` usage in user settings.
- Improve regex error handling in clipboard search.
- Clean up imports, indentation, and redundant code in components.
- Enhance smart action regex and error logging.

* feat(clipboard): add history persistence and fixed related error (restart duplication)

- Implement JSON-based persistence for clipboard history
- Replace randomized DefaultHasher with deterministic FnvHasher to ensure stable hashing across restarts
- Initialize duplication checks from loaded history to prevent duplicate entries on startup

* feat(search): support RichText content
- Updated search logic in src/components/ClipboardTab.tsx.
- Categorized as 'feat' for adding new content type support to existing search capabilities.
- Introduced a `searchableText` variable to unify content extraction for filtering.

* refactor: centralize `BooleanSettingKey` type and enhance smart action URL detection and execution.

* refactor: restore the ability to execute smart actions using switch statements, handle errors, and log undefined actions of smartActions.

---------

Co-authored-by: Gustavo Carvalho <gustaavoribeeiro@hotmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-26 16:59:55 -03:00
Gustavo Carvalho
af8d00adde chore: bump version to 0.4.16 v0.4.16 2025-12-26 01:53:19 -03:00
Gustavo Carvalho
a3da3eacb5 feat: rich text support (#65)
* feat: add support for rich text content in clipboard history

* fix: change get_current_html method to be non-mutating
2025-12-26 01:50:30 -03:00
Gustavo Carvalho
21bd1fea25 feat: only open search on clipboard with ctrl + f 2025-12-26 01:41:18 -03:00
Gustavo Carvalho
7fa205b7ae style: fix lint 2025-12-26 01:33:52 -03:00
Gustavo Carvalho
8fe1851a0c fix: emoji picker don't load 2025-12-26 01:28:37 -03:00
Gustavo Carvalho
c4dd3147e2 fix: remove duplicate symbols 2025-12-26 01:24:56 -03:00
Gustavo Carvalho
6a0105570e fix: scroll glitching 2025-12-26 01:23:04 -03:00
Gustavo Carvalho
22ac7f1193 fix: ajust paste text consistency 2025-12-26 01:18:43 -03:00
freshCoder21313
fc249d5f99 feat: extract Kaomoji and Symbols feature (#66)
* feat: extract Kaomoji and Symbols feature

* style(lint & format): Improve code formatting and adjust whitespace
- Modified whitespace, blank lines, and prop alignment across ClipboardApp, KaomojiPicker, and user_settings.rs.
- Categorized as 'style' for cosmetic changes that enhance readability without altering any logic or functionality.
- Decision made to standardize prop indentation and remove unnecessary blank lines for consistent code style.

* chore: apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* chore: apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Gustavo Carvalho <gustaavoribeeiro@hotmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-26 00:43:07 -03:00
Gustavo Carvalho
198ec50bd8 chore: bump version to 0.4.15 v0.4.15 2025-12-25 07:18:44 -03:00
Gustavo Carvalho
1307b5e35c feat: ensure background startup (#63)
* feat: ensure background startup with improved autostart handling

* chore: increase startup delay for background

* doc: remove old behavior comment

* refactor: rename INITIAL_SHOW_BLOCKED

* fix: correct Exec command syntax

* fix: change memory ordering
2025-12-25 07:18:15 -03:00
Gustavo Carvalho
c3fc4ac35b chore: bump version to 0.4.14 v0.4.14 2025-12-25 05:09:47 -03:00
Gustavo Carvalho
3effc18c58 feat: clean up environment variables in wrapper 2025-12-25 05:09:25 -03:00
Gustavo Carvalho
73418fec81 chore: bump version to 0.4.13 v0.4.13 2025-12-25 04:40:34 -03:00
Gustavo Carvalho
c740fbbc7d feat: auto-migrate old autostart entries to use the wrapper script 2025-12-25 04:38:40 -03:00
Gustavo Carvalho
d66a5d18b6 chore: bump version to 0.4.12 v0.4.12 2025-12-25 04:08:06 -03:00
Gustavo Carvalho
a6dc442fd2 feat: implement custom autostart manager (#62)
* feat: implement custom autostart manager for Linux

* fix: correct Exec path format and enhance autostart file handling
2025-12-25 04:07:12 -03:00
Gustavo Carvalho
1004174435 feat: add cleanup function for previous AppImage installations (#61)
* feat: add cleanup function for previous AppImage installations

* fix: typo on package manager

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: improve cleanup function to remove all icon sizes

* feat: improve sleep time for terminating

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: refine cleanup function to target only running AppImage instances

* fix: simplify wrapper script for AppImage execution

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-25 03:19:49 -03:00
Gustavo Carvalho
290042adb0 chore: bump version to 0.4.11 v0.4.11 2025-12-25 02:40:45 -03:00
Gustavo Carvalho
f1bff0d565 refactor: simplify environment variable handling in wrapper script 2025-12-25 02:40:20 -03:00
Gustavo Carvalho
f8c89be015 chore: bump version to 0.4.10 v0.4.10 2025-12-24 13:39:45 -03:00
Gustavo Carvalho
1e9a54f5ab chore: starting fixes (#60)
* feat: add temporary directory for tray icon to avoid permission issues

* fix: enhance uninstall process to remove all installation traces

* chore: prevents user overriding tray backend

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
2025-12-24 13:39:11 -03:00
Gustavo Carvalho
67c8cd4244 chore: bump version to 0.4.9 v0.4.9 2025-12-24 08:00:18 -03:00
Gustavo Carvalho
0609211bba chore: rollback ppa namespace 2025-12-24 08:00:11 -03:00
Gustavo Carvalho
6d0a1ad43c chore: bump version to 0.4.8 v0.4.8 2025-12-24 07:40:38 -03:00
Gustavo Carvalho
d3f6a0b5d5 fix: clipboard icon duplicated to two in the top bar (#59)
* fix: duplicated icons

* fix: streamline dependency installation in install.sh

* fix: update appindicator dependencies to ayatana version
2025-12-24 07:40:17 -03:00
Gustavo Carvalho
f5f1a1b08c chore: bump version to 0.4.7 v0.4.7 2025-12-24 07:23:55 -03:00
Gustavo Carvalho
d8ebefe73d fix: temp use another workspace on cloudsmith 2025-12-24 07:23:42 -03:00
Gustavo Carvalho
10991b63b9 chore: bump version to 0.4.6 v0.4.6 2025-12-24 07:00:20 -03:00
Gustavo Carvalho
35faf3b147 fix: use correct cloudsmith env prefix 2025-12-24 07:00:07 -03:00
Gustavo Carvalho
0bbe01b3e1 chore: bump version to 0.4.5 v0.4.5 2025-12-24 06:34:29 -03:00
Gustavo Carvalho
0532f4ea52 feat: replace conflicting hotkey & reset settings (#58)
* feat: implement shortcut conflict detection

* feat: add reset_first_run command to clear setup configuration

* feat: add support for i3, sway, and hyprland

* feat: add shortcut conflict detection

* feat: implement shortcut conflict detection

* feat: enhance setup wizard to detect and resolve shortcut conflicts

* feat: update modify_file_atomic to return modification status and improve conflict detection test

* feat: ensure successful modification and reload for shortcut handlers

* feat: simplify WizardButton usage by creating a local Button wrapper

* fix: ajust lint

* feat: add word boundary check for mod+v bindings

* chore: remove close window after reseting defaults

* feat: improve auto-resolve logic to check for actual conflicts
2025-12-24 06:33:55 -03:00
Gustavo Carvalho
5d2eead7a6 chore: update README.md 2025-12-23 02:26:23 -03:00
dependabot[bot]
9ce78c9cce chore(deps): bump the dev-dependencies group across 1 directory with 4 updates (#55)
Bumps the dev-dependencies group with 4 updates in the / directory: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin), [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser), [eslint-plugin-react-refresh](https://github.com/ArnaudBarre/eslint-plugin-react-refresh) and [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint).


Updates `@typescript-eslint/eslint-plugin` from 8.50.0 to 8.50.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.50.1/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.50.0 to 8.50.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.50.1/packages/parser)

Updates `eslint-plugin-react-refresh` from 0.4.25 to 0.4.26
- [Release notes](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/releases)
- [Changelog](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ArnaudBarre/eslint-plugin-react-refresh/compare/v0.4.25...v0.4.26)

Updates `typescript-eslint` from 8.50.0 to 8.50.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.50.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.50.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.50.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: eslint-plugin-react-refresh
  dependency-version: 0.4.26
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
- dependency-name: typescript-eslint
  dependency-version: 8.50.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-23 00:55:56 -03:00
dependabot[bot]
3659ce2e40 chore(deps): bump lucide-react in the production-dependencies group (#51)
Bumps the production-dependencies group with 1 update: [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react).


Updates `lucide-react` from 0.561.0 to 0.562.0
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/0.562.0/packages/lucide-react)

---
updated-dependencies:
- dependency-name: lucide-react
  dependency-version: 0.562.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-23 00:49:48 -03:00
dependabot[bot]
7b7a16dbb6 chore(ci): bump actions/cache from 4 to 5 (#49)
Bumps [actions/cache](https://github.com/actions/cache) from 4 to 5.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-23 00:47:44 -03:00
dependabot[bot]
5b677e647f chore(ci): bump actions/checkout from 4 to 6 (#48)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-23 00:46:23 -03:00
Gustavo Carvalho
785074b480 chore: bump version to 0.4.4 v0.4.4 2025-12-23 00:15:25 -03:00
Gustavo Carvalho
362483d490 feat: pre release and stable 2025-12-23 00:14:56 -03:00
Gustavo Carvalho
352a5fc2a1 chore: bump version to 0.4.3 v0.4.3 2025-12-23 00:05:58 -03:00
Gustavo Carvalho
f4bdb1eb17 feat: release script 2025-12-23 00:05:06 -03:00
Gustavo Carvalho
15c02cd714 feat: update version to 0.4.2 v0.4.2 2025-12-22 23:33:22 -03:00
Gustavo Carvalho
b715f2403f fix: ajust correct branch name v0.4.1 2025-12-22 23:18:57 -03:00
Gustavo Carvalho
18ed605943 refactor: multi distro overhaul (#52)
* feat: enhance capabilities and permissions for autostart and global shortcuts

* feat: implement desktop environment detection and global shortcut registration

* feat: add permission checker module for uinput access verification and configuration

* feat: add autostart and global shortcut plugins; integrate permission checker functions

* feat: add LXQt and LXDE support for global shortcuts

* feat: add permission_checker and shortcut_setup modules to the library

* feat: implement SetupWizard for first-run setup and autostart configuration

* feat: overhaul install script for improved distribution detection and installation methods

* feat: add autostart and global shortcut plugins to dependencies

* feat: enhance Makefile with improved installation and cleanup processes

* feat: enhance release workflow with version syncing and installation instructions

* docs: update contributing guidelines to include required dependencies

* docs: update README with Rust version, installation instructions, and new features

* feat: improve installation process for uinput module and udev rules

* feat: add support for AlmaLinux and improve WebKitGTK compatibility handling

* feat: enhance post-removal script to handle multiple module configuration filenames

* feat: add XDG_SESSION_CLASS to environment variables in wrapper script

* fix: improve error handling for MATE keybinding slots

* chore: remove xml formatting

* feat: ensure input group exists and add user only on live system during installation

* feat: add architecture detection for DEB and RPM packages

* fix: correct logic for uinput module configuration in post-installation script

* fix: improve error message for missing win11-clipboard-history binary

* feat: enhance permission fixing by checking for required commands

* fix: improve shortcut registration by ensuring thread completion

* style: shortcut registration formatting

* feat: add support for CachyOS

* feat: enhance distribution detection and installation process

* chore: update version to 0.4.0 in package.json, Cargo.toml, and tauri.conf.json

* chore: update version to 0.4.0 in package-lock.json

* fix: update Cloudsmith repository name to clipboard-manager

* feat: add PKGBUILD and installation script for win11-clipboard-history-bin

* chore: remove VERSION variable from Makefile

* fix: improve error message for binary not found in wrapper script

* feat: enhance installation process with Cloudsmith repository support
v0.4.0
2025-12-22 23:03:19 -03:00