Conversation
* Fix rust-toolchain.toml toolchain version * Remove rust-toolchain.toml profile
* Bump up Github Action Ubuntu version > This is a scheduled Ubuntu 20.04 retirement. Ubuntu 20.04 LTS runner will > be removed on 2025-04-15. For more details, see > actions/runner-images#11101 * Fix ci * Use ubuntu-22.04 in release.yaml
* Fix spell-check failure * Fix test for Sebeolsik 390 On typewriters, ㅗ and ㅜ on the right side were used specifically for composing vowels. But the distinction is no longer meaningful. Modern IMEs including Windows IME, macOS IME, and ibus-hangul treat 'v' and '/' the same. Updated the test to reflect this current behavior.
Remove `kime-engine-cffi`
* Bookworm Dockerfiles ADDED * Added Dockerfile for Ubuntu 24.04 * When Docker Build, Using legacy method. Because Buildkit have Error on now.
* Add openSUSE repository * changelog --------- Co-authored-by: Riey <creeper844@gmail.com>
* Fix opensuse repo as default * Add .5.1 suffix to Qt6 input context plugin IID
* Update cargo dependency versions - strum 0.24 → 0.26 - enumset 1.0 → 1.1 - num-derive 0.3 → 0.4 - xdg 2.2 → 2.5 - ctrlc 3.1 → 3.4 - fontdb 0.11 → 0.23 - criterion 0.4 → 0.8 - pretty_assertions 1.0 → 1.4 - Normalize version format in Cargo.toml files - bitflags 1.2 → 2.10: add explicit derive macros - nix 0.26 → 0.30: migrate RawFd to BorrowedFd - strum 0.26 → 0.27 * Update unmaintained crates - kime-check: ansi_term → owo-colors - kime: daemonize → nix::unistd::daemon() * add PID file locking with Flock * EWOULDBLOCK error processing segmentation error message Co-authored-by: Riey <creeper844@gmail.com>
* Update and replace unmaintained crates with changelog Update crate versions: - x11rb 0.11 → 0.13 - xim 0.2 → 0.4 - image 0.24 → 0.25 - imageproc 0.23 → 0.26 - mio 0.7 → 1.0 - egui/eframe 0.20 → 0.33 Replace unmaintained crates: - rusttype → ab_glyph (font rendering) - mio-timerfd → timerfd-mio (mio 1.0 compatible) - unic → unicode-properties (emoji detection) API migrations: - kime-xim: Use ab_glyph FontArc/PxScale instead of rusttype - kime-wayland: Adapt to timerfd-mio API changes - TimerFd::new() instead of TimerFd::new(ClockId::Monotonic) - set_timeout_oneshot() instead of set_timeout()/disarm() - set_timeout_interval(interval, interval) signature change - kime-candidate-window: Migrate to egui 0.33 API - ctx.input(|i| ...) closure pattern - ViewportCommand::Close instead of frame.close() - ViewportBuilder for window options - Arc<FontData> wrapper requirement - kime-engine-dict: Use unicode_properties::UnicodeEmoji trait * rustfmt * Update deny.toml - Add NCSA license to allow list - Add license clarification for epaint_default_fonts * adjust egui, xim for MSRV compatibility - egui/eframe: 0.33 → 0.31 (egui 0.33 requires Rust 1.88, CI uses 1.86) - imageproc: 0.26 → 0.25 (0.26 requires Rust 1.87) - xim: 0.4 → 0.5 (0.4 has Feedback::Underline bug) * Add Unicode-3.0 license to allow list ICU crates (icu_collections, icu_normalizer, etc.) use Unicode-3.0 license which is OSI-approved and compatible with GPL-3.0. * migrate deny.toml - cargo-deny v0.16+ format * deny.toml change config * deny.toml modify * deny.toml modify 2 * deny.toml modify 3 * crates version config * crates version config 2 * fix timerfd-mio API usage for timer handling - Use disarm() directly instead of set_timeout_oneshot(Duration::ZERO) - Handle timer.read() returning 0 in non-blocking mode (spurious wakeup) - Add error logging when input_method_v2 fails before falling back to v1 * fix 2 disarm is call unwrap() so rollback to set_timeout_oneshot * Update changelog (version)
* feat(indicator): Update ksni and deny.toml * feat(ci): Uses cargo-deny-action@v2
…743) * fix kwin latest version crash 62e56540 input method commit fix * fix(wayland): handle KeyState::Repeated for KDE 6.5.5 compatibility KDE Plasma 6.5.5 upgraded wl_keyboard grab from version 1 to 10, which introduces KeyState::Repeated (value 2). Previously, kime-wayland only checked for KeyState::Pressed, causing Repeated events to be incorrectly treated as Released, leading to crashes. Changes: - Handle KeyState::Repeated same as Pressed in input_method_v1/v2 - Only clear repeat timer and state on explicit KeyState::Released - Update wayland-client/protocols 0.29 → 0.29.5 - Update xkbcommon 0.7.0 → 0.9.0 Fixes intermittent crashes on KDE Plasma 6.5.5 * fix(indicator): Use tokio async I/O for KDE tray icon update - Replace std::os::unix::net with tokio::net for async Unix socket I/O - Convert try_terminate_previous_server to async function - Use tokio::time::timeout for read/write timeouts - Add assume_sni_available(true) to handle DE initialization timing This fixes the issue where the tray icon was blank and not updating on KDE after ksni 0.2 -> 0.3.3 upgrade. The blocking I/O was preventing the async tray update signals from being processed properly. * docs CHANGELOG update * update dependencies - xkbcommon: 0.7.0 → 0.9.0 - wayland-client: 0.29 → 0.29.5 - wayland-protocols: 0.29 → 0.29.5 - itertools: 0.13 → 0.14 - imageproc: 0.25 → 0.26 (with text feature) - strum: 0.26 → 0.27 - eframe: 0.31 → 0.33 - egui: 0.31 → 0.33 - bindgen: 0.69.4 → 0.72.1 - cbindgen: 0.26.0 → 0.29.2 * docs CHANGELOG update 2 * update nix dependencies * tmp_wayland: Fix potential overflow in key repeat timing * rewrite for wayland-rs 0.31 API with Dispatch trait pattern BREAKING CHANGE: Complete rewrite of kime-wayland for wayland-rs 0.31+ Major changes: - Migrate from Filter-based to Dispatch trait pattern (wayland-client 0.31) - Update wayland-protocols to 0.32 with `unstable` feature for v1 protocol - Add wayland-protocols-misc 0.3 for zwp_input_method_v2 and zwp_virtual_keyboard_v1 - Remove zwp-virtual-keyboard crate (now included in wayland-protocols-misc) - Unify v1 and v2 input method handling in single state machine Technical fixes: - Add event_created_child! macro for ZwpInputMethodV1 opcode 0 (Activate event) - Fix fd ownership in WlKeyboard::Keymap (wayland-client 0.31 provides OwnedFd directly) - Handle KeyState::Repeated (wl_keyboard version 10+) for KDE Plasma 6.5.5 - Use Connection-based API instead of Display Other dependency updates: - xdg 2.5 -> 3.0 (API change: remove Result from BaseDirectories methods) - quick-xml 0.27 -> 0.39 (API change: decode_and_unescape_value takes decoder()) * docs CHANGELOG update 3 * update git ignore and rustfmt * Delete kime-crash.log * Update CHANGELOG to modify breaking change label Removed the BREAKING label from the kime-wayland rewrite entry.
* fix(wayland): bypass key events when input not activated When grab_activate is false, key press events were not being forwarded to the compositor, causing shortcuts and input to stop working in apps like Firefox, rofi, hyprlock, wlogout on wlroots-based compositors (Niri, Hyprland). Fixes key handling to match previous behavior: - V2: forward all keys via vk.key() when not activated - V1: forward all keys via key_v1() when not activated * add CHANGELOG * Update CHANGELOG * fix logic more simple
* Add meson build system * Remove cmake build files * Replace build scripts with meson CI scripts * Update Dockerfiles for meson, drop EOL distros * Rewrite release workflow for meson * nix: fetchCargoVendor, parameterize frontend toggles * Update README.md, README.ko.md * Update CHANGELOG.md * Set default buildtype to release * ci(release): pin frontends in build-archive to fail fast on missing deps
…#749) The qt6 immodule is version-sensitive (built against Qt private QPA API), so like qt5 it must ship as per-version artifacts from the build-qt6 matrix rather than a single build bundled in the generic archive. Disable qt6 in build-archive (mirroring qt5) so the tarball no longer carries a single-version qt6 plugin. Extend the build-qt6 matrix with Qt 6.9.3 and 6.10.3 (both installable via install-qt-action@v4 / aqtinstall) so users on those runtimes get a matching plugin. Co-authored-by: Riey <federtek866@gmail.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Ubuntu 22.04 (jammy) ships libgtk-4-dev (4.6.9) and qt6-base-dev / qt6-base-private-dev (6.2.4) in its archives, and Qt 6.2.4 already builds in the build-qt6 matrix, so the deb package can include gtk4 and qt6 immodules too. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
* fix(xim): degrade gracefully when preedit font is missing (#706) * feat(engine): add SuperL/SuperR keycodes for Right-Super binding (#640) * fix(hangul): enable ComposeJongseongSsang by default for sebeolsik-3sin-p2 (#646) * fix(latin): repair malformed dvorak.yaml so Dvorak layout parses (#626) * fix(hangul): don't consume pass keys so app shortcuts fire (#719) * style: rustfmt; chore(deps): bump bytes/imageproc/time for cargo-deny
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
…ookworm meson <1.1)
…ses nix rust (fix build-archive rust-src race)
The #719 change made the Hangul KeyValue::Pass arm return false (bypass to the app) so shortcuts on special chars could fire. But Pass is how layouts emit literal characters (the sebeolsik number/symbol layer, etc.), so every Hangul layout's pass keys leaked the raw keystroke instead of being typed. Shortcut-modified keys (Ctrl/Alt/Super) have no layout entry, so lookup_kv misses and the caller already passes them through — the special-case bypass was unnecessary. Revert to committing the pass literal. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Advance
masterto the v3.2.0 release commit (tagv3.2.0, develop @ 329e5b7). master is protected, so this PR performs the fast-forward that a direct push cannot.🤖 Generated with Claude Code
https://claude.ai/code/session_01FT8zVKCvTRgZiMLPpNw8Hs