Arcan

Timeline
Login

Timeline

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

50 most recent check-ins

2025-04-23
09:39
(tests) added fsrv/hidden, interactive/textsurf Leaf check-in: 3f703120df user: letoram tags: master, trunk
09:25
(lua) text_surface resize backing store during inplace update check-in: ae75fa405f user: letoram tags: master, trunk
2025-04-21
08:21
(build) missing header/sprintf use warning on OBSD check-in: 2b1b7cef67 user: letoram tags: master, trunk
2025-04-19
08:38
(tui-lua) fix to utf8step for negative direction check-in: 27b211df9a user: letoram tags: master, trunk
2025-04-09
10:14
(net) expose match_keys, store_keys and get_key for config.lua check-in: 6bae821d18 user: letoram tags: master, trunk
05:04
(a12) rework of logging and tunneling This was a heavy one, first rework so that key authentication functions and others more consistently pass the a12_state around as it will be needed for attaching auxiliary keys later. Then add a tracetag member to the a12_state and add it to all a12int_trace related calls, this had some ugly macroing to be workable since it is used allover. Lastly, rework so that we can start to handle multiple tunnels. The linked directory server will need this shortly. This means that each worker that pokes the tunnels gets a thread and a signal pipe to the ioloop to notify when there is outbound data to be forwarded from a12_write_tunnel. check-in: 9572f6b818 user: letoram tags: master, trunk
2025-04-08
02:10
(shmif) resize() revoke pending buffer This should fix -net hosting a source on resize, though we likely need some invalidation of STEPFRAME events that can have been returned already so that doesn't lead to backpressure. check-in: ef1eb6171b user: letoram tags: master, trunk
2025-04-07
14:30
(net) keystore tag strstr needle/haystack switched This cause 'outbound' without a tag to not resolve in the interactive trust remember command. check-in: ed537cea8d user: letoram tags: master, trunk
2025-04-06
05:34
(doc) changelog lagging behind check-in: 5afb11ce6e user: letoram tags: master, trunk
05:28
(net) add a launch_target option for config.lua This lets the global config script launch dynamic sources without going through a controller appl. This is a step towards making tunneling local sources more robust (and track down the issues it has now) but also to force-namespace sources spawned from the controller and make it so they are only visible and sink-able by clients that have joined the related groups. check-in: cd9ae34344 user: letoram tags: master, trunk
2025-04-05
18:39
(net) dirlink request and process list Full path goes through on test setup, time to compare indexes and request responses. There seem to be a regression with dd directory sending stream completion before everything has been sent on large files that need to be looked into. check-in: ff2a9e84a8 user: letoram tags: master, trunk
15:56
(net) mark state-failures with reason, propagate on last-words Getting errors across from why a directory-link failed was annoying as the log-trace still isn't getting propagated and we needed a short message for the event handler to make key-failures more noticeable. Dynamic changes should now be enumerated from the directory link stage, only synch and .appl / .appl-controller request todo there. Then we need to be able to specify which level of synch the linked directory should have. The issue there is who is the authority on which .appl it is that should be distributed. Simply having a timestamp and sending the latest isn't viable as one might want to rollback when a deployment is broken. check-in: f06db63b9e user: letoram tags: master, trunk
01:04
(net) consolidate worker<->parent blocking request This code will be re-used with the link- worker, since it is fairly complicated it is best to share it between the two. check-in: 9f6d52a64e user: letoram tags: master, trunk
2025-04-03
21:12
(build) explicity define luajit+openal build byproducts Otherwise the build graph doesn't capture this dependency for lwa, which completely breaks ninja and causes a race condition when using make if one finishes building before the other. check-in: 7de1c636d3 user: vimpostor tags: master, trunk
2025-04-02
04:34
(net) move appl- index handling to support This (together with blocked request through parent) should be consolidated to dir_supp in order to be shared between srv_worker and srv_link. check-in: 7e633fc2bf user: letoram tags: master, trunk
02:20
(net) start exposing events into link_directory callback This provides a feedback path into config.lua so we don't have to rely on tracing at that level for initial configuration option. It will also be needed for handling netsplits and recovery. check-in: 7593356ea7 user: letoram tags: master, trunk
01:33
(shmif) expose last_words to server library check-in: 487478133a user: letoram tags: master, trunk
2025-04-01
02:22
(net) fix outbound directory link key authentication The outbound- prefix trust domain wasn't properly set leading to rejecting the key when making the outbound connection. Possibly that creating a named tag should make a probe connection and set the correct tag in accepted keystore immediately to improve tooling. check-in: 7887ec05f5 user: letoram tags: master, trunk
2025-03-31
22:10
(net) add config.lua link_directory call and hook up worker This takes a different worker.c implementation to differentiate how we deal resource access in order to fetch/synch/cache with the directory link. There is quite a lot of nuance to solve here as we are digging deeper into distributed system territory, particularly how target_message in controller runners are supposed to be handled. check-in: bb3d806624 user: letoram tags: master, trunk
2025-03-28
13:28
(core) monitor fix for system_snapshot("name", true) debug attach check-in: 099078e648 user: letoram tags: master, trunk
2025-03-27
23:26
(net) handle both \n and \0 terminated messaages, fix cmd_source check-in: dff6bba64f user: letoram tags: master, trunk
22:51
(net) monitor interface full routing, connect / reconnect Some debug data nuances to fix before cat9 can take over fully, but getting there. check-in: 2a41a3167d user: letoram tags: master, trunk
2025-03-26
05:34
(net) route a12:break command for monitor into SIGUSR1 in runner check-in: 89c443ecb1 user: void tags: master, trunk
2025-03-24
21:10
(console) check TYPE_FRAMESERVER before displayhint check-in: 7e667a6cf1 user: letoram tags: master, trunk
20:52
(console) suppress wrong key in argument check-in: 8ebcd65614 user: letoram tags: master, trunk
20:34
(net) switch appl-runner lua to alt- like calls for monitoring hook Only signalling and testing left for the server side of remote debugging. check-in: 6fb77d4bda user: letoram tags: master, trunk
20:33
(console) fix mouse_setup argument setting wrong depth check-in: a2b4ff50d7 user: letoram tags: master, trunk
2025-03-22
20:05
(net) flesh out most of dirsrv debug monitor check-in: 47924320f4 user: letoram tags: master, trunk
20:04
(core/lua) expose on-demand debug-attach through system_snapshot check-in: 442ceb8f1f user: letoram tags: master, trunk
2025-03-20
20:12
(net) monitor commands now get routed to the debug interface check-in: c45909ea60 user: letoram tags: master, trunk
2025-03-19
18:41
(net) generalise dirsupp multipart merge to handle ext + tgt check-in: 8c35acbaa1 user: letoram tags: master, trunk
17:23
(net) expose [autorun] table in config.lua for directory server The point of this is to have 'always on' controller scripts that can spawn global dynamic sources without having someone actually join the messaging group and launching on demand. We still require an appl for a corresponding controller to be present (but not the other way around), that restriction might be dropped in the future. check-in: d253bd54c9 user: letoram tags: master, trunk
2025-03-18
23:46
(net) wire in placeholder monitor interface implementation This should mainly be about wiring up the same interpretations as we already have in the main engine now. check-in: abb58603df user: letoram tags: master, trunk
2025-03-17
22:30
(net) .monitor pathway for remote debugging ctrl working The message routing now works from dir-cl to dir-lua-appl. Time to match the wire protocol from local arcan appl runner so that we can re-use the UI in cat9 to step through server-side as well and lastly attach it as another thread and step both remote and local in synch. check-in: 4dacbdac1a user: letoram tags: master, trunk
19:10
(lua) text_surface switch to intblint_checked form for 'y' check-in: 828d6531b9 user: letoram tags: master, trunk
18:47
(core) tuisync should mark its scenegraph as dirty check-in: 2651551717 user: letoram tags: master, trunk
18:36
(lua) text_surface increment cy after writing row check-in: c16486d188 user: letoram tags: master, trunk
2025-03-16
21:35
(net) use socket_ping shmif connect flag This should fix the regression to client messaging in controller appl logic caused by the shmif refactor. Left for this batch now is to revisit dynamic sources there and in _encode as well as the .monitor remote debugger parts. check-in: 20c40a1645 user: letoram tags: master, trunk
21:33
(shmif) add flag option for enqueue socket ping Normally arcan only cares about bufferhandle transfers in the direction from client to server as its forced to from xorg-dri3/wayland designs. In the way shmif is used for IPC between different compartments in the directory server we don't have a regular frameloop that would normally also flush out events, and lack any other signalling mechanism other than poll timeout. This flag makes _enqueue events send a ping packet to wake up any pollset to be complemented by corresponding changes on the directory server end. check-in: bdeea0c5f5 user: letoram tags: master, trunk
14:15
(net) unbreak joining appl-ctrl from worker This was one of (hopefully only one or two more) the breaks from switching to named primitives. Previously we sent the one socket to the new controller process and the other to the worker, then that was used to initiate a subseq like request. The problem with that is that the refactor now requires both socket and shm- descriptor in the NEWSEGMENT request. To work around this we fake connecting a primary through a socket as if it was an inherited spawn, but not setting the descriptor number for the shmpage forcing it to think it's a named connection. check-in: 5da424cacd user: letoram tags: master, trunk
10:02
(net) remove some options superceeded by -c config.lua check-in: 51b6297c4d user: letoram tags: master, trunk
00:46
(net) change admin_command arg to table, more client: commands register_unknown now passes the unknown pubk. client function :identity gives the name that the client was registered with. client function :endpoint gives the endpoint the connection came from. check-in: 7bf83a34d0 user: letoram tags: master, trunk
2025-03-14
23:03
(net) make sure the latest outfd is part of ioloop This fixes the previously mentioned issue with admin control commands being deferred until something happens on the socket. check-in: 8648e685ad user: letoram tags: master, trunk
19:21
(net) admin_command chain propagating There is a slight issue though with message delays as a12_enqueue_bstream doesn't poll-write by itself in the background, it needs to be pumped, but the worker simply forwards into the state and lets other traffic drive it. This hasn't been very noticeable for regular file-I/O but with the pipe.2 pair it means a :write from the config script won't get through until something else happens. check-in: 7172e1833f user: letoram tags: master, trunk
12:16
(shmif) fixes missing atomic load and typo in vsync and async futexes check-in: a3bf1e007e user: cipharius tags: master, trunk
12:11
(net) fixes the trace parameter on bad a12 command check-in: 619d7e34e4 user: cipharius tags: master, trunk
2025-03-13
17:32
(evdev) workaround for missing colon kernel keycode check-in: ba5f777a6a user: letoram tags: master, trunk
2025-03-12
22:15
(arcterm) add support for Alt key codes Alt key combinations are common as a prefix for tmux (e.g. Alt+F) and were previously not handled at all by arcterm. For sending such a keypress it is sufficient to set FLAG_PREPEND_ESCAPE and then send the normal ascii character, as if it was pressed in the normal on_u8 handler. We cannot use the normal unicode value here, as it does not contain the normal ascii value when pressed together with Alt. check-in: 6e16c07520 user: vimpostor tags: master, trunk
22:14
(shmif) prefer C11 alignas alignas will expand to _Alignas (from the stdalign.h header) and will ensure compatibility with C++, while a pure _Alignas will cause compiler errors for C++ files that include arcan_shmif_control. This should not affect C compatibility in any way. check-in: 714931447f user: vimpostor tags: master, trunk
22:11
(build) fix build with sdl2-compat The isalpha and toupper methods are not found with sdl2-compat, but we can just call them with the SDL_ prefix. The stdio.h include is needed for usage of the FILE type, otherwise we get the error: In file included from src/engine/../platform/platform.h:21, from src/engine/arcan_general.h:11, from src/platform/sdl2/video.c:27: src/engine/../platform/os_platform.h:237:28: error: unknown type name ‘FILE’ 237 | void arcan_log_destination(FILE* outf, int minlevel); check-in: 37db268fb6 user: vimpostor tags: master, trunk