This change fixes#13171 where we failed to output after the first keypress
because the keyman system service had to be started. This change introduces
a new method `Ping` that we call to force keyman-system-service to be
started.
Fixes: #13171
The setup for the integration tests is still wrong, so ignoring them
allows us to start the users tests and move forward. The integration
tests will be fixed in a follow-up commit.
This change allows to press F24 as ordered output sentinel from
keyman-system-service.
This is part of implementing serialized output with keyman-system-service
instead of requiring a patched ibus.
The problem both approaches try to solve is that with non-compliant apps
it is not possible to directly delete characters from the context. Instead
we have to emit a backspace key before we can commit the new
characters. However, the backspace key press goes through a different
code path in ibus and so it can happen that the commit gets processed
before the backspace which then deletes from the characters we just
added instead of from the old content.
The previous implementation solved this by forwarding a F24 ordered output
sentinel key to ibus and relying on the patched ibus to send that back to
us. When we received the F24 key we committed the characters that we
queued when we forwarded the F24 key (implemented in #7079).
The new approach implemented in this change instead sends the F24 ordered
output sentinel key through keyman-system-service and so follows the
regular key processing without requiring a patched ibus to send the key
back to us. The rest of the algorithm stays mostly the same: when we receive
the F24 key we commit the characters previously queued. The difference to
the previous implementation is that we now also queue the backspace keys
that we generate.
Part-of: #10799
This change copies the log files that get created during a test run to
the `build/docker-linux/tmp` directory. Also fixes a bug when not
running in docker. Also create log file for test server.
PR #12642 tried to fix creating the source tarball so that it didn't
ignore files we need. However, that now included way to many files.
This change fixes this and results in a smaller tarball again.
Fixes: #13010
This changes the test script: when running in Docker it doesn't make
sense to restart ibus when exiting the tests. This works around a
problem where the `ibus start` command would hang.
This change removes lines that sneaked in through a previous merge that
caused conflicts. The `changelog` on `master` should be idential to the
one in the stable branch.
This fixes the `upload-to-debian.sh` script if the `chore/linux/changelog`
branch was created a while back while the base branch moved in the
meantime. In this case we have to use `--force` instead of
`--force-with-lease` otherwise `git` gets confused. This is save to do
since the intention is that we replace the previous commit and we know
that there is (should be) only one commit on the `chore/linux/changelog`
branch.
We only use a C API, so we can safely ignore all C++ symbols that show up
in the symbols file. Those come from std template instantiations.
Fixes: #12051