Age | Commit message (Collapse) | Author |
|
|
|
This should make clear that something went wrong if a test failed.
|
|
LimoX aswell as the tests should be build automatically without altering
the Makefile.
|
|
|
|
This should kick off the infrastructure for unit tests. This can still
be improved but getting started is important to make it easier to add
unit tests and thus improving the quality.
|
|
A Makefile is enough for this project because it has a very simpel
structure. The additional complexity of meson is not necessary and
furthermore I am more used to Makefiles.
|
|
This removes xmpp_connect() from the main loop and delegates the calling
to the GUI. This should be the case in the future.
|
|
This should be the long-term default and should be addressed in an early
phase of development to implement the GUI with a resizable window in
mind.
|
|
This is not by far complete DNS handling but demonstrates that name
resolution works by printing the IP address type (IPv4 or IPv6) for each
found IP address.
|
|
The now legacy version of LimoX with GTK4 and libstrophe is now not part
of the main branch anymore. There might be a legacy branch keeping this
version at the time of reading.
This cut of implemented functionality is motivated by these reasons:
- Implementing XMPP is fun, educative and gives full control.
- Low level graphics with SDL2 is portable, fast, educative an mature.
- I do not have to use GLib and a crazy event loop anymore (run and hide)
|
|
This is a good resource for network programming in C on Linux. Helps a
lot for further development.
|
|
It is mandatory to have an IP address to dial a TCP connection. FOr this
purpose the JID which is given by the user has to be converted into a
FQDN and then translated to an IP via DNS.
The function added with this commit implements this first part. The
extraction of the domain (more precisely the FQDN) from the JID.
|
|
|
|
It is currently evaluated if it is worth a trial to drop libstrophe as a
dependency and use a raw TCP connection and a XML library like expat to
implement the XMPP part. This would have the following advantages:
- fewer dependencies
- learning more about XMPP itself and less about libstrophe
- slower, but maybe easier implementation (XMPP doc is far more readable
/ extensive)
Because of these reasons the `limox_sdl2` version was switched to a
dummy XMPP implementation `xmpp.c` which acts now as a test field for
XMPP hacking.
|
|
This was for an old SDL (version 1) executable. This one is not needed
anymore because the SDL2 version now runs on X11 and Wayland.
|
|
|
|
Just `meson build` is deprecated and replaced by `meson setup build`.
|
|
|
|
|
|
SDL2 version now runs also on Wayland. No need for SDL to exist.
|
|
|
|
See this post: https://github.com/libsdl-org/SDL/issues/6074
It seems like SDL2 does not show an empty window on Wayland systems
if there is nothing drawn on this. Thus this commit adds an empty white
pixel buffer.
|
|
|
|
|
|
There seems to be a bug in SDL2. Window creation is successful under
Wayland (window pointer not NULL) but there is no window visible. Tested
with Sway and Weston. The same implementation works fine under Cinnamon
with X11.
|
|
|
|
|
|
|
|
|
|
|
|
Not really used because this is just in case you want a new connection
object (currently not the case).
|
|
|
|
|
|
It is currently not clear when the libstrophe user has to free certain
memory. Because invalid pointers are worse than memory leaks (at the
current scope) these calls were removed.
|
|
|
|
|
|
This seems to reduce these random crashes.
|
|
|
|
|
|
If you got a second roster description (e.g. after a reconnect) the
roster items were just appended. There was no distinction if a roster
item already existed or not. This lead to doubled entries.
This commit ignores already known roster items. Mind that it is still
not able to update an existing item. This is mentioned by a FIXME
comment.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Incremental improvements seem to be better.
|
|
|
|
|
|
|