Jeremy Bícha pushed to branch debian-unstable at X Strike Force / lib / libei
Commits: 5d6d8e65 by Peter Hutterer at 2025-02-12T13:05:24+10:00 libei 1.4.0 Signed-off-by: Peter Hutterer <[email protected]> - - - - - eda5b907 by Corentin Noël at 2025-03-26T15:33:34+01:00 meson.build: Use the correct name for the libraries overrides The libraries are actually suffixed with the API number, use the same value as their pkgconfig basenames. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/326> - - - - - fa21d765 by Ian Douglas Scott at 2025-03-31T09:11:56+10:00 proto: Fix `version` for `ei_touchscreen` Fixes: b1c1c5d579dc ("Add the ei_touchscreen.cancel event and ei_touch_cancel()") Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/327> - - - - - b0deafc6 by Peter Hutterer at 2025-03-31T10:00:05+10:00 scanner: convert the 'version' and 'since' arguments to int Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/328> - - - - - 962863cb by Peter Hutterer at 2025-03-31T10:00:19+10:00 scanner: ensure 'since' doesn't exceed the interface version See https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/327 Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/328> - - - - - 9e0413cb by Peter Hutterer at 2025-04-01T13:52:48+10:00 libei 1.4.1 Signed-off-by: Peter Hutterer <[email protected]> - - - - - e147d431 by Eric Long at 2025-04-11T15:32:20+08:00 test: increase protocol-test-valgrind timeout Currently libei's valgrind test setup has 100x timeout (3000s), but the standalone protocol-test-valgrind still has 30s timeout, which is not enough for RISC-V hardware. On Milk-V Pioneer (SG2042) it takes ~70s to complete. In addition, `kill_gently` sends SIGKILL before the process terminates and fails the test. Bump protocol-test-valgrind timeout to 300s and increase timeout between kill signals to 3s to solve the issue. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/329> - - - - - 247a3d49 by Peter Hutterer at 2025-05-02T05:39:52+00:00 ei: print the sequence number on error for a start_emulating event This may help debugging which sequence triggered an error. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/330> - - - - - daf0b246 by Peter Hutterer at 2025-05-02T15:40:47+10:00 test: add a test for multiple start/stop emulating events Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/331> - - - - - daba46a2 by Peter Hutterer at 2025-05-02T15:40:47+10:00 eis: if a client is slow, queue up messages for future delivery If a receiver client stops calling ei_dispatch for a while eventually we fill up the send buffer, causing messages to be quietly dropped. When the client resumes the message stream resumes with whatever we send next but that can leave the client in an inconsistent state. deskflow hit this in the server-side where our event sequence of pointer motion+frames eventually filled up the buffer, causing eis_device_stop_emulating() to be silently dropped. On the next InputCapture sequence eis_device_start_emulating() was sent to an already emulating client (as seen by the client). This patch adds a secondary queue, if we fail to send a message with EAGAIN queue it up and flush that queue whenever the next message is sent. Meanwhile any newly added messages go straight into that queue. The caveat here: a nonresponding client will eventually trigger OOM, there is no upper limit on the messages yet This is the libeis version of commit 69e973e6b30b ("ei: queue unsent messages for later delivery if our buffer is full") Closes: #79 Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/331> - - - - - b2484c00 by Peter Hutterer at 2025-05-19T16:11:49+10:00 CI: bump to Fedora 42 and latest ci-templates Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/333> - - - - - 2556ad38 by Peter Hutterer at 2025-05-19T11:34:54+00:00 tools: handle EI_EVENT_SYNC in the demo client Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/332> - - - - - 851f935f by Peter Hutterer at 2025-05-19T11:34:54+00:00 tools: print missing event types in the demo client Instead of aborting, print something useful Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/332> - - - - - ee27dd5c by Jonas Ådahl at 2025-05-22T22:43:35+02:00 ei-device: Don't leak fd when receiving the keymap The ei_keymap dups the file descriptor, so lets close the one we received from the demarshaller. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/334> - - - - - 6c5b4863 by Jason Gerecke at 2025-05-29T14:35:19-07:00 scanner: Avoid trailing full stops in regex search for protocol names Continue to find nested ei_foo.bar.baz but avoid including a trailing full stop, if it exists. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/336> - - - - - 50ff529a by Jason Gerecke at 2025-05-29T23:07:48+00:00 Fix MIT license header text Corrects an issue where a wild search-and-replace mangled the license texts on protocol implementations. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/335> - - - - - efdc58e0 by Peter Hutterer at 2025-06-13T16:49:03+10:00 test: remove an unused function Obsolete since 479bda259a79 ("Purge libreis from the repo") Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/338> - - - - - dbeff9a9 by Peter Hutterer at 2025-06-16T11:20:21+10:00 test: add a bunch of strv helpers Taken from libinput Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/337> - - - - - 98e445eb by Peter Hutterer at 2025-06-16T11:20:21+10:00 test: add ability to capture logs Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/337> - - - - - 8cd2b01b by Peter Hutterer at 2025-06-16T11:20:21+10:00 test: expose the ei socket fd to tests Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/337> - - - - - edc8ea04 by Peter Hutterer at 2025-06-16T11:20:21+10:00 eis: don't warn about EPIPE, just debug-log it While it's not the friendliest way of a client to exit, we do need to expect clients to disconnect any time and that shouldn't trigger warnings, it's somewhat expected behavior. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/337> - - - - - 1b11d10f by Kacper Piwiński at 2025-06-29T07:43:34+00:00 util: use already computed strlen Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/342> - - - - - 54e71e6d by Kacper Piwiński at 2025-06-29T07:48:45+00:00 util: don't call function in macro argument Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/342> - - - - - 70cfc6ee by David Redondo at 2025-07-01T08:50:48+02:00 Make it possible to fetch the pid of a client in socket mode This is useful to get some more info about clients that try to connect. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/339> - - - - - ac9b92bb by Jason Gerecke at 2025-07-02T14:03:33-07:00 proto: Correct spelling issues in the protocol documentation Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/343> - - - - - 6aa4dc0c by Jason Gerecke at 2025-07-02T14:03:34-07:00 doc: Correct spelling errors in the code documentation Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/343> - - - - - 883a60d4 by Jason Gerecke at 2025-07-02T14:03:34-07:00 oeffis: Correct spelling errors in log messages Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/343> - - - - - 5567524e by Peter Hutterer at 2025-07-11T00:59:06+00:00 Swap accidental trailing comma for a semicolon Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/347> - - - - - 6194880a by Jonas Ådahl at 2025-07-16T13:42:13+10:00 libeis: remove leftover debug log Fixes: 73e0e8d339da ("eis: add EI_EVENT_SYNC as opaque event to correctly schedule callbacks") Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/348> - - - - - 12237f19 by Peter Hutterer at 2025-07-18T13:26:01+10:00 ei: don't use the connection until we have one If we're in EI_STATE_BACKEND ei->connection is NULL, causing a segfault if in this state we unref our ei context. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/350> - - - - - 55335b90 by Peter Hutterer at 2025-07-24T00:54:06+00:00 libei: fix the docs for the various _unref functions Copy/paste from ei_unref but none of the others will disconnect the context. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/349> - - - - - 0488b4b4 by Peter Hutterer at 2025-07-24T11:07:32+10:00 test: expand peck_new() to take varargs This enables us to pass various configuration into the peck context in the future without having to update every single test that doesn't need that particular configuration. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/351> - - - - - 0831303a by Peter Hutterer at 2025-07-24T11:07:32+10:00 test: change peck_new_context to take varargs This makes peck_new_context() take variable arguments in the style key, v1, v2... where each value is defined by the free-form key. What we need right now is the mode of the context, so let's add that. In the future we will add more configurable bits here. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/351> - - - - - 297f95ef by Peter Hutterer at 2025-07-24T11:07:32+10:00 utils: add the etrace macro Same as the existing trace but prints to stderr. And #include stdio so we can use this file as-is instead of needing extra includes. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/351> - - - - - 45c526bc by Peter Hutterer at 2025-07-24T11:07:32+10:00 ei: indentation fix Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/351> - - - - - 500ad051 by Ian Douglas Scott at 2025-07-31T19:33:26-07:00 test: Advertise scroll/button interfaces in `test_connect_receive_seat` This test was checking for the capabilities for `EI_SCROLL` and `EI_BUTTON`, but not advertising those interfaces initially. Presumably this was unintentional, given there's no comment that it's intentionally advertising some protocols but not others. Also, should the test have failed to find the capabilities when it didn't advertise the protocol to to start with? This change just fixes the test, anyway. This was causing the test to fail for `reis` CI in a proposed change in https://github.com/ids1024/reis/pull/11. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/352> - - - - - e3e143ea by Axel Karjalainen at 2025-08-05T02:02:38+03:00 test: fix false fail by actually looking for unbound capability mask The previous implementation of `test_seat_bind_invalid_caps_expect_disconnection` didn't follow the protocol specification and assumed that `0x1` was invalid. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/354> - - - - - 1faaacda by Peter Hutterer at 2025-08-05T07:02:57+00:00 eis: send the interface version for the scroll interface Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/353> - - - - - 7347aeac by Peter Hutterer at 2025-08-05T07:02:57+00:00 eis: only send interface versions that the client announced Do not reply with interfaces that the client never requested. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/353> - - - - - 3b98946b by Peter Hutterer at 2025-08-05T07:02:57+00:00 eis: only send scroll/button capabilities if the client supports them Commit a902d5dbd859 ("protocol: replace the capabilities enum with an interface list") added automatic handling for button/scroll interfaces on the protocol because the libeis C API didn't have those as separate interfaces yet. Any EIS implementation with POINTER/POINTER_ABSOLUTE would always announce BUTTON/SCROLL capabilities. Later in commit e6954b76d3b4 ("eis: change the API to match the protocol interfaces closer") the required C APIs were added but this handling was never removed so an EIS implementation always replied with button/scroll capabilities even where not set. Fix this by removing this automatic announcement. Fixes: e6954b76d3b4 ("eis: change the API to match the protocol interfaces closer") Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/353> - - - - - f3f69e3a by Axel Karjalainen at 2025-08-14T00:07:08+00:00 doc: Correct meaning of ei_connection.disconnected Closes https://gitlab.freedesktop.org/libinput/libei/-/issues/85 Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/344> - - - - - 4d999849 by Axel Karjalainen at 2025-08-14T00:07:09+00:00 docs: Make the description of context types more generic The protocol should be separate from any specific implementation's own terms. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/344> - - - - - 70c3348d by Axel Karjalainen at 2025-08-14T00:07:09+00:00 docs: Extend summaries Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/344> - - - - - 525d55a5 by Axel Karjalainen at 2025-08-14T00:07:09+00:00 docs: Fix issues and make some language clearer Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/344> - - - - - 1010cdff by Jonas Ådahl at 2025-08-21T17:03:27+02:00 eis: Send sync done event on last event unref This allows the application to hold the sync event for a while longer, e.g. to ensure previous events from EIS have passed through relevant plumbing and reached their internally intended targets, which might happen synchronously between each processed EIS event. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/340> - - - - - 8d86ada1 by Jonas Ådahl at 2025-08-21T17:08:53+02:00 ei: Send sync done event on last event unref This allows the application to hold the sync event for a while longer, e.g. to ensure previous events from ei have passed through relevant plumbing and reached their internally intended targets, which might happen synchronously between each processed ei event. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/340> - - - - - 42b9a893 by Jonas Ådahl at 2025-08-21T17:08:53+02:00 eis: Expose eis_event_ref() This makes handling prolonged synchronization sequences easier, as one doesn't have to work around only being allowed to hold one reference. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/340> - - - - - 5e57b1ed by Jonas Ådahl at 2025-08-21T17:08:53+02:00 ei: Expose ei_event_ref() As with eis, expose ei_event_ref() as well, for consistency. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/340> - - - - - 7667d1fc by Peter Hutterer at 2025-08-25T12:45:11+10:00 test: make some behavior enabling more expressive Remove the non-obvious +1/-1 and use the enum values instead. Then group the two together better and remove an unnecessary separate handling of the flag setting. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/340> - - - - - 6c50e2f8 by Peter Hutterer at 2025-08-25T13:40:49+10:00 test: add support for disabling behaviors on the ei/eis context Historically the preference for testing was to enable a bunch of specific behaviors and then leave that as-is for the test. This can be painful for some events, in particular sync/ping that are used internally by libei's implementation. Testing those events requires us to match the implementation-defined internal setup which is a pain. Much easier to add a function to allow disabling a specific behavior at some point during the test Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/340> - - - - - cae398c1 by Peter Hutterer at 2025-08-25T13:36:18+02:00 test: add a test for delaying the ping/sync For both the tests send two pings, with a keyboard event in between. Where the ping is processed, fetch all the events first up front, and process them one by one in the right order. Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/340> - - - - - 19b64535 by Peter Hutterer at 2025-08-26T11:25:18+10:00 libei 1.5.0 Signed-off-by: Peter Hutterer <[email protected]> - - - - - 36e3c605 by Jeremy Bícha at 2025-09-04T18:03:36-04:00 New upstream version 1.5.0 - - - - - 74a0c065 by Jeremy Bícha at 2025-09-04T18:03:38-04:00 Update upstream source from tag 'upstream/1.5.0' Update to upstream version '1.5.0' with Debian dir 519fce93f105f78cb99de75e881a666af18a5171 - - - - - f30106d0 by Jeremy Bícha at 2025-09-04T18:04:07-04:00 New upstream release - - - - - d1ebb1f7 by Jeremy Bícha at 2025-09-04T18:04:32-04:00 Bump Standards Version to 4.7.2 - - - - - 680a490a by Jeremy Bícha at 2025-09-04T18:04:45-04:00 Remove obsolete Rules-Requires-Root: no default since trixie - - - - - b50c77e1 by Jeremy Bícha at 2025-09-04T18:06:23-04:00 debian/libeis1.symbols: Add new symbols - - - - - ae124be8 by Jeremy Bícha at 2025-09-04T18:16:44-04:00 debian/tests/control: update pkg-config binary package name - - - - - 32aefc74 by Jeremy Bícha at 2025-09-04T18:16:59-04:00 releasing package libei version 1.5.0-1 - - - - - 94 changed files: - .gitlab-ci.yml - .gitlab-ci/ci.template - .gitlab-ci/config.yml - .pre-commit-config.yaml - README.md - debian/changelog - debian/control - debian/libeis1.symbols - debian/tests/control - meson.build - meson_options.txt - proto/ei-scanner - proto/meson.build - proto/protocol.xml - + ruff.toml - src/brei-shared.h - src/libei-button.c - src/libei-button.h - src/libei-callback.c - src/libei-callback.h - src/libei-connection.c - src/libei-connection.h - src/libei-device.c - src/libei-event.c - src/libei-event.h - src/libei-handshake.c - src/libei-keyboard.c - src/libei-keyboard.h - + src/libei-ping.c - src/libei-pointer-absolute.c - src/libei-pointer-absolute.h - src/libei-pointer.c - src/libei-pointer.h - src/libei-private.h - src/libei-scroll.c - src/libei-scroll.h - src/libei-seat.c - src/libei-touchscreen.c - src/libei-touchscreen.h - src/libei.c - src/libei.h - src/libeis-button.c - src/libeis-button.h - src/libeis-callback.c - src/libeis-callback.h - src/libeis-client.c - src/libeis-client.h - src/libeis-connection.c - src/libeis-connection.h - src/libeis-device.c - src/libeis-event.c - src/libeis-event.h - src/libeis-handshake.c - src/libeis-keyboard.c - src/libeis-keyboard.h - + src/libeis-ping.c - src/libeis-pointer-absolute.c - src/libeis-pointer-absolute.h - src/libeis-pointer.c - src/libeis-pointer.h - src/libeis-private.h - src/libeis-scroll.c - src/libeis-scroll.h - src/libeis-seat.c - src/libeis-socket.c - src/libeis-touchscreen.c - src/libeis-touchscreen.h - src/libeis.c - src/libeis.h - src/liboeffis.c - src/meson.build - src/util-io.c - src/util-io.h - src/util-macros.h - src/util-mem.h - src/util-sources.c - src/util-strings.c - src/util-strings.h - test/buildtest.cc - test/eierpecken.c - test/eierpecken.h - test/eiproto.py.tmpl - test/meson.build - test/test-ei-device.c - test/test-ei-seat.c - test/test-ei.c - test/test-eis.c - test/test_oeffis.py - test/test_protocol.py - test/test_scanner.py - tools/ei-debug-events.c - tools/ei-demo-client.c - tools/eis-demo-server.c - tools/meson.build The diff was not included because it is too large. View it on GitLab: https://salsa.debian.org/xorg-team/lib/libei/-/compare/bf799e300131cd98e497c7ceb1956540e1a5a95c...32aefc74e86ff861d48ec1b74f765eb474b48eb7 -- View it on GitLab: https://salsa.debian.org/xorg-team/lib/libei/-/compare/bf799e300131cd98e497c7ceb1956540e1a5a95c...32aefc74e86ff861d48ec1b74f765eb474b48eb7 You're receiving this email because of your account on salsa.debian.org.

