100 Commits
Author SHA1 Message Date
Leency 647f35ea10 XDPascal: smart linking (#646)
Build system / Build (es_ES) (push) Successful in 2m28s
Build system / Build (en_US) (push) Successful in 2m32s
Build system / Build (ru_RU) (push) Successful in 2m39s
Build system / Publish Images (push) Successful in 2m35s
XDPascal для Колибри и Винды. С примерами.

Компиляторы убирают из бинарника недостижимые процедуры: два прохода,
на первом строится граф вызовов, на втором код мёртвых процедур не пишется.
Бинарники меньше в 1.5-5 раз. Ключ -nosmart отключает, вывод при этом
побайтово совпадает со старым компилятором.

Также снимаются кавычки с аргументов командной строки: без этого
make.bat не работал со сборкой не через Delphi.

xdpw_2020 - прежний компилятор, xdpw_2026 - новый.

Assisted-by: Claude Opus 5 <noreply@anthropic.com>
Reviewed-on: #646
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: leency <lipatov.kiril@gmail.com>
2026-08-13 11:54:35 +00:00
LeencyandBurer 944d74f013 drivers/hdaudio: add ring buffer for unsolicited events (#455)
Build system / Build (es_ES) (push) Successful in 2m15s
Build system / Build (ru_RU) (push) Successful in 2m19s
Build system / Build (en_US) (push) Successful in 2m23s
Build system / Publish Images (push) Successful in 1m46s
I had an issue with 100% cpu load caused by this commit be847c5e1f
This PC is HP dc5800. Its audio card is PCI\VEN_8086&DEV_293E&REV_02 (ICH9 - 82801I) with build-in speaker.

So I Gemini wrote some code for me:

> This code implements a circular buffer to temporarily store unsolicited events, allowing the interrupt handler to quickly save data and immediately release the CPU. Now, instead of placing a direct load on the system, a background timer periodically "picks up" the accumulated events from this buffer and processes them safely.

Now it fixed on my PC. Also I've tested it on two machines and it also works well. Please take a look.

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #455
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Reviewed-by: hidnplayr <hidnplayr@gmail.com>
Co-authored-by: leency <lipatov.kiril@gmail.com>
2026-08-08 15:46:02 +00:00
LeencyandBurer 2bebbcbdc3 kernel/fs: narrow the UTF16to8 input to ax (#633)
Build system / Build (es_ES) (push) Successful in 2m9s
Build system / Build (ru_RU) (push) Successful in 2m13s
Build system / Build (en_US) (push) Successful in 2m18s
Build system / Publish Images (push) Successful in 2m32s
Load characters with lodsw only ever set ax. Anything left in the high half - including what this routine's own three-byte branch leaves there - would then push every following character into a longer form: an ASCII name off a Joliet CD came out as overlong three-byte sequences from the second character on. Narrow the input here, so every caller is safe.

Reviewed-on: #633
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: leency <lipatov.kiril@gmail.com>
2026-08-08 15:30:25 +00:00
LeencyandClaude Opus 5 031fe62338 kernel/net: fix the TCP keepalive timer expiry handler (#621)
Build system / Build (es_ES) (push) Successful in 2m12s
Build system / Build (en_US) (push) Successful in 2m18s
Build system / Build (ru_RU) (push) Successful in 2m18s
Build system / Publish Images (push) Successful in 1m40s
Summary: the keepalive handler compared the wrong field against the TCB
state constants, and walked into freed memory when the socket it killed was
released by tcp_disconnect.

Details:
Two independent defects in the same branch of tcp_timer_640ms.

First, the state test read TCP_SOCKET.state. That field is the inherited
SOCKET.state, an SS_* bitmask, not the TCB state machine; comparing it
against TCPS_ESTABLISHED compared a bitmask against an enum and decided
nothing meaningful. The TCB state lives in t_state. The comparison is also
changed from `ja` to `jae`, so only embryonic connections -- those whose
handshake never completed within TCP_time_keep_init -- are torn down here.
A synchronized connection now always falls through to .dont_kill, where it
either gets a keepalive probe (SO_KEEPALIVE set) or simply rearms the timer,
as in BSD. Previously an idle but perfectly healthy connection could be
dropped without the application ever asking for keepalives.

Second, the kill path did

        push    eax
        call    tcp_disconnect
        pop     eax
        jmp     .loop

and .loop dereferences SOCKET.NextPtr of that socket. But tcp_disconnect
jumps straight to tcp_close for a not-yet-synchronized connection, and
tcp_close calls socket_free -- so NextPtr was read out of freed kernel heap
and the timer thread continued its walk down a dangling pointer. The
successor is now saved before the call and the loop resumes at .check_only,
which is exactly what the timed-wait branch at the end of the same loop
already does.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Reviewed-on: #621
Reviewed-by: hidnplayr <hidnplayr@gmail.com>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
2026-08-03 18:28:35 +00:00
LeencyandClaude Opus 5 8766bfc546 kernel/net: free TCP sockets closed before the handshake completes (#620)
Build system / Build (en_US) (push) Successful in 3m21s
Build system / Build (es_ES) (push) Successful in 3m23s
Build system / Build (ru_RU) (push) Successful in 1m37s
Build system / Publish Images (push) Successful in 2m16s
Summary: socket_close() skipped both tcp_disconnect and socket_free for any
TCP socket that was not yet in the SS_ISCONNECTED state, leaking the socket
structure and leaving it on the net_sockets list forever.

Details:
The SS_ISCONNECTED gate in socket_close covered only fully established
connections. A socket closed while in SYN_SENT, SYN_RECEIVED or LISTEN, or
one that never connected at all, fell through to a bare `ret`: it was
neither disconnected nor freed. The 4 KiB socket structure and its two ring
buffers stayed allocated, the socket kept its place on net_sockets, its
timers kept being decremented by tcp_timer_640ms, and SOCKET.TID kept
pointing at a thread that was about to exit. A browser or any other
application that opens connections which fail to establish (refused,
filtered, or simply cancelled by the user) leaked one socket per attempt.

The gate is not needed: tcp_disconnect dispatches on the TCB state itself
and jumps straight to tcp_close -- which calls socket_free -- whenever
t_state is below TCPS_ESTABLISHED. Dropping the test therefore routes the
not-yet-synchronized cases to exactly the cleanup they were missing, and
leaves the established path untouched. The SS_ISDISCONNECTING test is kept,
so a second close() on a socket already shutting down is still a no-op.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Reviewed-on: #620
Reviewed-by: hidnplayr <hidnplayr@gmail.com>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
2026-08-03 18:08:29 +00:00
35f35b39e7 kernel/net: scale the window before clamping it in tcp_respond
Check kernel codestyle / Check kernel codestyle (pull_request) Successful in 20s
Test PR / Build (en_US) (pull_request) Successful in 1m51s
Test PR / Build (es_ES) (pull_request) Successful in 1m56s
Test PR / Build (ru_RU) (pull_request) Successful in 2m0s
Build system / Build (en_US) (push) Successful in 2m7s
Build system / Build (es_ES) (push) Successful in 2m13s
Build system / Build (ru_RU) (push) Successful in 2m21s
Build system / Publish Images (push) Successful in 1m46s
Summary: tcp_respond clamped the free receive space to 65535 and only then
applied RCV_SCALE, so scaled ACKs and keepalives advertised a window far
smaller than the one actually available.

Подробно:
The window field of a TCP header is 16 bits wide and, when window scaling is
in effect, carries the free space shifted right by RCV_SCALE. The two
operations therefore have to happen in that order: shift first, then clamp
the result to TCP_max_win.

tcp_respond did the opposite. With a receive buffer larger than 64 KiB and
RCV_SCALE = 2, free space of 128 KiB was first cut down to 65535 and then
shifted to 16383, announcing 64 KiB instead of the full 128 KiB. The larger
the buffer and the scale factor, the worse the under-advertisement -- the
window only ever shrank, so the effect was lost throughput rather than
corruption, but it silently defeated window scaling on exactly the responses
that carry the window most often.

tcp_output already gets this right (it compares against TCP_max_win shl
RCV_SCALE before writing the field); tcp_respond now agrees with it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 17:45:52 +00:00
LeencyandDoczom a020a2c434 kernel/net: fix wild write in tcp_set_persist
Check kernel codestyle / Check kernel codestyle (pull_request) Successful in 18s
Test PR / Build (es_ES) (pull_request) Successful in 2m27s
Test PR / Build (ru_RU) (pull_request) Successful in 2m31s
Test PR / Build (en_US) (pull_request) Successful in 2m34s
Build system / Build (en_US) (push) Successful in 2m10s
Build system / Build (es_ES) (push) Successful in 2m14s
Build system / Build (ru_RU) (push) Successful in 2m20s
Build system / Publish Images (push) Successful in 1m45s
tcp_set_persist takes the socket pointer in eax and uses ebx as a
scratch register to compute the RTO:

        mov     ebx, [eax + TCP_SOCKET.t_srtt]
        shr     ebx, 2
        add     ebx, [eax + TCP_SOCKET.t_rttvar]
        shr     ebx, 1
        mov     cl, [eax + TCP_SOCKET.t_rxtshift]
        shl     ebx, cl

By the time the persist timer is armed ebx therefore holds the timeout
value, not the socket. The flag store nevertheless went through ebx, so
it wrote to the linear address <RTO> + TCP_SOCKET.timer_flags -- an
unmapped low address -- instead of setting timer_flag_persist on the
socket.

Any TCP connection whose peer advertises a zero window takes this path
from tcp_output.enter_persist and faults the kernel:

        K : Page fault
        K : EBX : 0000000A
        K : EIP : 80037DF3   (tcp_set_persist, the flag store)
        K : Process - forced terminate PID: 00000005

Observed with NetSurf on a HTTP/2 connection to www.redhat.com, where
twelve multiplexed streams closed the receive window. Store the flag
through eax, which tcpt_rangeset leaves untouched.

Assisted-by: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 17:32:55 +00:00
Leency 77d600c663 open: finally fix file association (#594)
Build system / Build (en_US) (push) Successful in 2m10s
Build system / Build (es_ES) (push) Successful in 2m21s
Build system / Build (ru_RU) (push) Successful in 2m21s
Build system / Publish Images (push) Successful in 3m16s
htm association with Netfurf never worked normally before!

Reviewed-on: #594
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: leency <lipatov.kiril@gmail.com>
2026-07-30 02:34:26 +00:00
LeencyandClaude Opus 5 f7dd4033ba kernel/net: honour the window scale factor advertised by the peer (#619)
Build system / Build (es_ES) (push) Successful in 2m21s
Build system / Build (en_US) (push) Successful in 2m24s
Build system / Build (ru_RU) (push) Successful in 2m28s
Build system / Publish Images (push) Successful in 3m24s
Summary: the received window scale option was stored into SND_SCALE, which
the connection setup code then immediately overwrote with zero, so every
peer window was interpreted unscaled.

Details:
RFC 1323 negotiation is completed in two places -- the SYN_RECEIVED branch
and the active-open branch of tcp_input. Both do

        mov     ax, word[ebx + TCP_SOCKET.requested_s_scale]
        mov     word[ebx + TCP_SOCKET.SND_SCALE], ax

relying on the declared order of the four adjacent bytes SND_SCALE,
RCV_SCALE, requested_s_scale, request_r_scale to move both factors at once.
requested_s_scale, however, was never filled in: the option parser wrote the
peer's shift count into SND_SCALE directly, and that value was then clobbered
by the word move with the zero left in requested_s_scale by socket_alloc.

The result was that SND_SCALE ended up 0 on every connection while
TF_RCVD_SCALE was set, so a peer advertising, say, 64 KiB with a shift of 7
was read as advertising 512 bytes. Sending to any modern host was throttled
to a fraction of the real window.

The parser now stores into requested_s_scale, where the setup code expects
it, and clamps the value to TCP_max_winshift (14) as required by RFC 1323 --
a peer sending a larger shift must not be allowed to make our SND_WND
computation shift out of range.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Reviewed-on: #619
Reviewed-by: hidnplayr <hidnplayr@gmail.com>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: leency <lipatov.kiril@gmail.com>
2026-07-30 02:26:39 +00:00
Leency 041029b406 kernel/AHCI: use IRQ instead of delay (#597)
Build system / Build (ru_RU) (push) Successful in 2m16s
Build system / Build (en_US) (push) Successful in 2m21s
Build system / Build (es_ES) (push) Successful in 2m24s
Build system / Publish Images (push) Successful in 1m53s
This change was proceeded by request of Rhimad, author of original AHCI driver.
Tested on real hardware.Reviewed-on: #597
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Reviewed-by: rgimad <3+rgimad@noreply.localhost>
2026-07-23 19:28:52 +00:00
LeencyandBurer 7c4d3f57e6 apps/bbench - CPU, graphics, memory and disk benchmark for KolibriOS (#561)
Build system / Build (en_US) (push) Successful in 2m19s
Build system / Build (es_ES) (push) Successful in 2m22s
Build system / Build (ru_RU) (push) Successful in 2m30s
Build system / Publish Images (push) Successful in 2m32s
- Add `bbench` to IMG and System Panel
  - Universal benchmark with 17 tests for CPU, graphics, memory and disk
  - Tests can be toggled and configured
  - Generates derailed reports in HTML
- Remove `MGB` and `FSPEED` from System Panel, move them from IMG to ISO

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #561
Reviewed-by: bad_Dr3dd0x <1702+bad_dr3dd0x@noreply.localhost>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: leency <lipatov.kiril@gmail.com>
2026-07-23 13:51:18 +00:00
LeencyandBurer 00fb7afe33 libs/libimg: fix progressive jpeg 4:2:0 shear when width mod 16 = 8 (#590)
Build system / Build (en_US) (push) Successful in 3m5s
Build system / Build (es_ES) (push) Successful in 3m5s
Build system / Build (ru_RU) (push) Successful in 3m8s
Build system / Publish Images (push) Successful in 2m3s
Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #590
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: IgorA <22+igora@noreply.localhost>
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Co-authored-by: leency <lipatov.kiril@gmail.com>
2026-07-22 08:09:55 +00:00
LeencyandBurer db846b5eee AddDevice: class EF subclass 04 protocol 01
Test PR / Build (en_US) (pull_request) Successful in 1m54s
Test PR / Build (es_ES) (pull_request) Successful in 1m59s
Test PR / Build (ru_RU) (pull_request) Successful in 2m7s
Build system / Build (es_ES) (push) Successful in 2m6s
Build system / Build (ru_RU) (push) Successful in 2m15s
Build system / Build (en_US) (push) Successful in 2m20s
Build system / Publish Images (push) Successful in 2m32s
2026-07-21 17:51:53 +00:00
LeencyandBurer 686f18772a final update 2026-07-21 17:51:53 +00:00
LeencyandBurer 9b7292f3e7 update 2 2026-07-21 17:51:53 +00:00
LeencyandBurer e41362fb04 full support Huawei E3372h-153 modem 2026-07-21 17:51:53 +00:00
LeencyandBurer bbc0f1262c usbnet: upload drivers usbcdc and usbrndis 2026-07-21 17:51:53 +00:00
LeencyandBurer 5fb16b1d81 data/common: stl=/sys/3d/view3ds (#591)
Build system / Build (en_US) (push) Successful in 2m15s
Build system / Build (ru_RU) (push) Successful in 2m18s
Build system / Build (es_ES) (push) Successful in 2m22s
Build system / Publish Images (push) Successful in 2m22s
Reviewed-on: #591
Reviewed-by: hidnplayr <hidnplayr@gmail.com>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: leency <lipatov.kiril@gmail.com>
2026-07-21 16:34:17 +00:00
LeencyandBurer 8a48f089d8 libs/http.obj: fix content_received overcount on chunked transfers (#569)
Build system / Build (en_US) (push) Successful in 2m25s
Build system / Build (ru_RU) (push) Successful in 2m27s
Build system / Build (es_ES) (push) Successful in 2m30s
Build system / Publish Images (push) Successful in 2m46s
For chunked responses HTTP_receive added the whole buffer tail to
content_received every time it consumed a chunkline. When several
chunks arrived in one TCP segment, the same bytes were counted once
per chunkline (observed: content_received = 42 MB for an 83 KB page);
the value only became exact at got_all_data. A client trusting the
counter mid-transfer read far past the buffer and page-faulted.
In plain buffered mode recompute the exact value from the pointers
instead: min(chunk_ptr, write_ptr) - content_ptr, the same formula
.got_all_data_chunked uses. Data below chunk_ptr is decoded and
contiguous; bytes in [chunk_ptr, write_ptr) are still raw (unconsumed
chunkline + partial chunk). Stream/ring modes keep the running add:
there data is consumed as it arrives, so the incremental count is
correct.

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #569
Reviewed-by: hidnplayr <hidnplayr@gmail.com>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: leency <lipatov.kiril@gmail.com>
2026-07-21 10:02:50 +00:00
LeencyandBurer 3b854ef2c6 kernel: fix extended_primary_loader build (undefined low_memory_error)
Check kernel codestyle / Check kernel codestyle (pull_request) Successful in 36s
Test PR / Build (en_US) (pull_request) Successful in 3m8s
Test PR / Build (es_ES) (pull_request) Successful in 2m47s
Test PR / Build (ru_RU) (pull_request) Successful in 1m28s
Build system / Build (es_ES) (push) Successful in 2m23s
Build system / Build (en_US) (push) Successful in 2m27s
Build system / Build (ru_RU) (push) Successful in 2m33s
Build system / Publish Images (push) Successful in 2m21s
2026-07-21 07:39:19 +00:00
LeencyandBurer 2c5f6bc39a fixes 2026-07-21 07:39:19 +00:00
LeencyandBurer 09af6357d4 kernel: refine boot screen options, show message that <=8 MB memory is not enough 2026-07-21 07:39:19 +00:00
Leency 4b4bd9bdde tinygl lib: fix black-color artifacts
Test PR / Build (es_ES) (pull_request) Successful in 3m38s
Test PR / Build (en_US) (pull_request) Successful in 3m43s
Test PR / Build (ru_RU) (pull_request) Successful in 1m33s
Build system / Build (en_US) (push) Successful in 2m50s
Build system / Build (es_ES) (push) Successful in 2m55s
Build system / Build (ru_RU) (push) Successful in 2m57s
Build system / Publish Images (push) Successful in 2m25s
2026-07-19 19:28:52 +00:00
LeencyandBurer 8c48f1d18b apps/fplay: major player updates, performance, usability and UI improvements, bugfixes (#560)
Build system / Build (en_US) (push) Successful in 2m55s
Build system / Build (es_ES) (push) Successful in 3m1s
Build system / Build (ru_RU) (push) Successful in 3m8s
Build system / Publish Images (push) Successful in 1m50s
Very briefly:
- feat: add playback timer and MP3 album art support
- feat: async file reading with adaptive cache for smoother playback
- feat: smart frame skipping (preserves sync, prevents lags on slow drives)
- feat: add OSD volume and Tab info overlay
- feat: mouse wheel volume control, and basic hotkeys
- feat: support >2GB files, automatic HW acceleration check
- fix: crash/memory corruption on videos without audio or with unknown duration
- fix: freeze issues and audio-video desync after seeking
- fix: correct playback speed for silent videos and playback of files with corrupted timestamps
- fix: auto-hide volume slider in narrow windows and restore window controls layout

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #560
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: leency <lipatov.kiril@gmail.com>
2026-07-19 06:32:00 +00:00
LeencyandBurer bb58df2d87 apps/pcidev: calculate window height based on device count (#562)
Build system / Build (en_US) (push) Successful in 3m35s
Build system / Build (es_ES) (push) Successful in 3m50s
Build system / Build (ru_RU) (push) Successful in 3m53s
Build system / Publish Images (push) Successful in 3m30s
Currently: pcidev gets all screen height
After fix: pcidev pre-calculate window height based on device count

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #562
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: leency <lipatov.kiril@gmail.com>
2026-07-19 06:18:32 +00:00
LeencyandBurer 3922240df3 libimg/png: fix page fault when unpacked image data ends at page boundary (#568)
Build system / Build (es_ES) (push) Successful in 3m35s
Build system / Build (ru_RU) (push) Successful in 3m42s
Build system / Build (en_US) (push) Successful in 3m48s
Build system / Publish Images (push) Successful in 2m13s
Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #568
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: IgorA <22+igora@noreply.localhost>
Co-authored-by: leency <lipatov.kiril@gmail.com>
2026-07-18 10:54:25 +00:00
LeencyandBurer 91be820f96 apps/updf: update 2.1 (#559)
Build system / Build (ru_RU) (push) Successful in 2m9s
Build system / Build (en_US) (push) Successful in 2m14s
Build system / Build (es_ES) (push) Successful in 2m16s
Build system / Publish Images (push) Successful in 3m9s
- Supersampling for crisp text, with automatic disabling on low-end CPUs (<1 GHz via fn 18.5)
- snap to a clear 100% (±7%)
- Zoom field in the toolbar with manual percentage input
- UI tweaks/bug fixes

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #559
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: leency <lipatov.kiril@gmail.com>
2026-07-17 04:06:39 +00:00
LeencyandBurer 7cf136e214 apps/view3ds: add STL support based on convert_stl_3ds.inc by IgorA (#566)
Build system / Build (en_US) (push) Successful in 2m39s
Build system / Build (ru_RU) (push) Successful in 2m45s
Build system / Build (es_ES) (push) Successful in 2m47s
Build system / Publish Images (push) Successful in 1m49s
Reviewed-on: #566
Reviewed-by: IgorA <22+igora@noreply.localhost>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-07-14 04:59:27 +00:00
LeencyandBurer e641f6c400 drivers/audio: add es1371, fix hang in infinity (#571)
Build system / Build (en_US) (push) Successful in 3m51s
Build system / Build (es_ES) (push) Successful in 4m6s
Build system / Build (ru_RU) (push) Successful in 4m16s
Build system / Publish Images (push) Successful in 2m59s
- add es1371 sound driver
- fix hang in infinity
- remove garbage ensoniq.asm
- add "Multimedia audio controller detected with PciId=VEN:DEV", same as vidintel does

Tested with 3 cards.

Reviewed-on: #571
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-07-14 04:53:19 +00:00
LeencyandBurer d9b207867c data/icons.ini: transform format to icon2ext.ini (fix #226) (#534)
Build system / Build (en_US) (push) Successful in 2m37s
Build system / Build (ru_RU) (push) Successful in 2m38s
Build system / Publish Images (push) Successful in 2m19s
Build system / Build (es_ES) (push) Successful in 2m41s
Before:
```ini
doc=3
docx=3
exc=3
inf=3
log=3
ob07=3
ob7=3
odt=3
rtf=3
txt=3
wtx=3
```
Now:
```ini
3=doc,docx,exc,inf,log,ob07,odt,rtf,txt,wtx
```

Reviewed-on: #534
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Reviewed-by: bad_Dr3dd0x <1702+bad_dr3dd0x@noreply.localhost>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-07-12 06:00:32 +00:00
LeencyandBurer 50d0d2e347 kernel/taskman: free leaked handle-table objects on process exit (#567)
Build system / Build (es_ES) (push) Successful in 2m9s
Build system / Build (en_US) (push) Successful in 2m13s
Build system / Build (ru_RU) (push) Successful in 2m16s
Build system / Publish Images (push) Successful in 1m45s
I wrote an autotest for Netsurf. After 130 test run the system could not
create any new process anymore. Now this is fixed. Result:
916 OK, 0 CRASH, 0 HANG

Futexes (sysfn 77) live in the per-process handle table (PROC.htab)
and are allocated from the kernel's small-object heap via
create_object. The only code path that ever frees one is
destroy_object, which runs solely on an explicit FUTEX_DESTROY call --
and real programs never make it: newlib-based applications create a
dozen or so futexes at startup for their internal locks (malloc,
stdio) and simply exit, expecting the kernel to clean up. Nothing
does: destroy_process tears down HDLLs and page tables but never
walks the handle table.

Each leaked futex pins 48 bytes of the kernel malloc arena, and that
arena is a single fixed 128 KB block (init_malloc has no grow path).
After roughly two thousand leaked handles -- a few hundred to a few
thousand application launches within one uptime -- kernel malloc()
starts failing system-wide. The first visible casualty is
load_library: it can no longer allocate a DLLDESCR, so every dll.obj
load in every new process fails from that point on ("cannot load
library"), which is easy to mistake for a userland problem.

Reproduced by repeatedly launching a newlib application: the arena
filled with ~1750 48-byte chunks carrying the 'FUTX' magic (confirmed
by dumping the live arena; mst.topsize had dropped to 32 bytes with
free physical memory and kernel heap space still abundant), and dll
loading died after ~130 launches.

Fix: in destroy_process, after destroy_all_hdlls, walk the process's
handle table and free every live object. Free slots hold small
free-list indices and the reserved stdin/stdout/stderr handles hold
small values, so a bounds check against OS_BASE skips them; live
slots hold kernel pointers and are additionally verified by the
'FUTX' magic. If other object kinds are ever added to the handle
table, they will need their own destructors here -- the magic check
makes this walk skip them safely rather than crash.

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #567
Reviewed-by: hidnplayr <hidnplayr@gmail.com>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-07-11 18:44:32 +00:00
LeencyandBurer c6b6615f84 data/icons18.png: reduce number of colors without visible degradation (#565)
Build system / Build (es_ES) (push) Successful in 2m7s
Build system / Publish Images (push) Successful in 2m3s
Build system / Build (en_US) (push) Successful in 2m14s
Build system / Build (ru_RU) (push) Successful in 2m17s
Colors count 1285 > 1045
Thanks Burer for creating decolor.htm tool

Reviewed-on: #565
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: bad_Dr3dd0x <1702+bad_dr3dd0x@noreply.localhost>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-07-11 16:36:27 +00:00
LeencyandBurer c8d95df883 kernel/timers: fix priority-inversion livelock in timer_hs/cancel_timer_hs (#564)
Build system / Build (es_ES) (push) Successful in 2m4s
Build system / Build (en_US) (push) Successful in 2m7s
Build system / Build (ru_RU) (push) Successful in 2m14s
Build system / Publish Images (push) Successful in 2m20s
I wrote an autotest that runs Netsurf a lot of times. While running this
test I always faced the hang issue. First thought was about network
and sockets but QEMU debug through telnet revealed the issue in timers.
Now there is no hang after this fix.

timer_hs and cancel_timer_hs hold the global timer-list lock
(lock_timer_list/unlock_timer_list) across a short critical section
of plain list-pointer stores, without disabling interrupts. If the
owning thread is preempted inside that window, it can never be
scheduled again while a higher-priority thread is runnable: the
scheduler is strictly priority-based and osloop's check_timers (top
priority) busy-waits for the same lock via change_task, which never
descends to a lower-priority ring while its own ring has a runnable
thread. The result is a permanent, whole-system livelock -- not a
one-off race, but a deterministic outcome whenever the preemption
lands inside the section.

Reproduced by driving thousands of blocking TCP connects (each one
calls timer_hs for its connect timeout) through a browser under QEMU,
where interrupts tend to land on translation-block boundaries right
after the lock's cmpxchg. Confirmed via the QEMU monitor: osloop
spinning forever in lock_timer_list while the lock owner sat, fully
preempted, one instruction into timer_hs's critical section.

Fix: wrap the lock/insert-or-remove/unlock sequence in
timer_hs and cancel_timer_hs with pushfd/cli ... popfd, making it
atomic with respect to preemption. The wait loop inside
lock_timer_list is unaffected -- change_task manages IF on its own,
so spinning there with interrupts off cannot itself hang anything.

Reviewed-on: #564
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Reviewed-by: hidnplayr <hidnplayr@gmail.com>
Co-authored-by: Kiril Lipatov <lipatov.kiril@gmail.com>
Co-committed-by: Kiril Lipatov <lipatov.kiril@gmail.com>
2026-07-11 14:33:15 +00:00
LeencyandBurer 1ef640de56 apps/updf: update 2.0 based on mupdf 1.19.0 (#552)
Build system / Build (en_US) (push) Successful in 2m14s
Build system / Build (es_ES) (push) Successful in 2m20s
Build system / Build (ru_RU) (push) Successful in 2m24s
Build system / Publish Images (push) Successful in 1m50s
- continuous scrolling through pages
- add scroll-bar
- drag page by holding right mouse button
- colored icons
- select and copy text in UTF-8
- much faster and more capable
- ui improvements

Reviewed-on: #552
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Reviewed-by: bad_Dr3dd0x <1702+bad_dr3dd0x@noreply.localhost>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-07-06 06:25:26 +00:00
LeencyandBurer adc9753e1f drivers/audio: add C-Media CMI8738/CMI8338 audio driver (#550)
Build system / Build (es_ES) (push) Successful in 2m46s
Build system / Build (ru_RU) (push) Successful in 2m49s
Build system / Build (en_US) (push) Successful in 2m52s
Build system / Publish Images (push) Successful in 2m31s
Probably the most popular sound CARD in the world.
Driver is tested on real sound cards on my side and by Jeffrey hidnplayr.

Reviewed-on: #550
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-07-05 16:58:36 +00:00
LeencyandBurer 8f6cabd4db data/syspanel: general update (#531)
Build system / Build (en_US) (push) Successful in 2m4s
Build system / Build (es_ES) (push) Successful in 2m13s
Build system / Build (ru_RU) (push) Successful in 2m15s
Build system / Publish Images (push) Successful in 2m19s
- `kbd` moved to **[Configuration]** section
- `test` and `clipview` removed from syspanel, still available in IMG
- `dbgboard` added
- Section rename **[Testing]** => **[Diagnostics]**
- **Autorun** editor switched from `tinypad` to `cedit`
- Entries regrouped by category in every section
- Restored **EN** <=> **RU** parity - identical entries, order, and target programs
- Cleaner **EN** labels (**Video Mode**, **Network Devices**, **System Settings**, **PCI Devices**, ...)
- **ES** localization added

<img alt="image.png" src="attachments/4299f082-3cc3-4f45-a03c-dfdd85f57b9c">

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #531
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-07-02 07:49:30 +00:00
LeencyandBurer f5fa7aae30 apps/tmpdisk: version 0.80 (#516)
Build system / Build (es_ES) (push) Successful in 2m40s
Build system / Build (en_US) (push) Successful in 2m44s
Build system / Build (ru_RU) (push) Successful in 2m48s
Build system / Publish Images (push) Successful in 2m2s
cmm/libs/string:
- fix printing "%i"/"%d" instead of "0"

cmm/libs/gui:
- proper centering of text on button

tmpdisk:
- updated UI (thanks @Burer)
- mem size decreased from 800 Kb to 190 Kb
- app size decreased by 2 IMG sectors
- fix editbox incorrect data in come cases, fix other minor issues
- code refactoring
- spanish localization

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #516
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: bad_Dr3dd0x <1702+bad_dr3dd0x@noreply.localhost>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-06-30 20:07:35 +00:00
LeencyandBurer 15511124f7 kernel/bootcode: return control on floppy error (#530)
Build system / Build (en_US) (push) Successful in 2m1s
Build system / Build (es_ES) (push) Successful in 2m4s
Build system / Build (ru_RU) (push) Successful in 2m9s
Build system / Publish Images (push) Successful in 1m50s
The issue:

1. Put kolibri.img on Flash
2. Load Kolibri from Flash
3. On Blue screen set [e] Floppy image: 1. floppy
4. Press Enter to boot

**Old result:** error, system hang ("jmp $" is infinite cycle)
**New result:** error, you can change options (set [e] = "3. preloaded image" in current case) and continue boot

I often have this issue after testing Kolibri in QEMU and then coping image on Flash to run it on real hardware.
If I forgret to change [e] option ffrom 1 to 3 I had to reboot.

Reviewed-on: #530
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-06-28 06:16:14 +00:00
LeencyandBurer ade1e846f3 apps/palitra: version 0.8 (#510)
Build system / Build (en_US) (push) Successful in 2m3s
Build system / Build (es_ES) (push) Successful in 2m6s
Build system / Build (ru_RU) (push) Successful in 2m12s
Build system / Publish Images (push) Successful in 2m30s
- UI elements have been enlarged
- Proper response to slider ends
- System icons
- Трохи констант бо це пздц х_х
- Сheckers and Silk fill styles
- Color selection with any mouse button

Vaicheslav97, Leency, Burer

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #510
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-06-27 08:38:33 +00:00
Leency 3b47df76ec unimg: support long names (#517)
Build system / Build (es_ES) (push) Successful in 2m5s
Build system / Build (ru_RU) (push) Successful in 2m9s
Build system / Build (en_US) (push) Successful in 2m12s
Build system / Publish Images (push) Successful in 1m54s
When extract kolibri.img

Was: File man~
Now: File managers
Reviewed-on: #517
Reviewed-by: bad_Dr3dd0x <1702+bad_dr3dd0x@noreply.localhost>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-06-26 15:46:57 +00:00
LeencyandBurer 566ce799fe apps/kterm: add to autobuilds via submodules (#477)
Build system / Build (es_ES) (push) Successful in 2m6s
Build system / Build (en_US) (push) Successful in 2m9s
Build system / Build (ru_RU) (push) Successful in 2m15s
Build system / Publish Images (push) Successful in 2m13s
Author was okay to upload it to main repo, so I did ths. Also added to ISO.

https://board.kolibrios.org/viewtopic.php?p=80620#p80620
https://git.kolibrios.org/b00bl1k/kterm

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #477
Reviewed-by: bad_Dr3dd0x <1702+bad_dr3dd0x@noreply.localhost>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-06-25 11:48:39 +00:00
LeencyandBurer 9866a788e5 barscfg: fix docky icon when it is turned off (#521)
Build system / Build (en_US) (push) Successful in 2m1s
Build system / Build (ru_RU) (push) Successful in 2m5s
Build system / Build (es_ES) (push) Successful in 2m11s
Build system / Publish Images (push) Successful in 1m51s
Reviewed-on: #521
Reviewed-by: bad_Dr3dd0x <1702+bad_dr3dd0x@noreply.localhost>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-06-24 08:22:34 +00:00
Leency 53aa0cce73 apps/eolite: update 5.34: virtual disk "/vd" detection, taller icons, code refactoring (#512)
Build system / Build (en_US) (push) Successful in 2m52s
Build system / Build (es_ES) (push) Successful in 2m56s
Build system / Build (ru_RU) (push) Successful in 2m59s
Build system / Publish Images (push) Successful in 1m52s
Reviewed-on: #512
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-06-24 07:51:05 +00:00
Leency 5fc9829b3c icons: update (#520)
Build system / Build (es_ES) (push) Successful in 2m7s
Build system / Build (en_US) (push) Successful in 2m11s
Build system / Build (ru_RU) (push) Successful in 2m15s
Build system / Publish Images (push) Successful in 2m23s
icons32.png by Burer:
- new icon 30 for "voxel" files
- new icon 78 for "3d" files
- new icon 130 for "blocks" files

icons18.png by Leency:
- update 007 "melody": better visibility
- update 063 "bin": better contrast
- new icons 70-74 for KIV, virtual disk, voxels/blocks...

 ![image.png](/attachments/26e07dc6-b30d-4599-ac27-6f096cd11c39)

![image.png](/attachments/a06ad4a5-329c-4c8f-a15b-cc85931e9c2d)

Reviewed-on: #520
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: bad_Dr3dd0x <1702+bad_dr3dd0x@noreply.localhost>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-06-23 19:43:03 +00:00
LeencyandBurer db8dae1327 Update data/ru_RU/welcome.htm (#518)
Build system / Build (ru_RU) (push) Successful in 2m5s
Build system / Build (en_US) (push) Successful in 2m8s
Build system / Build (es_ES) (push) Successful in 2m10s
Build system / Publish Images (push) Successful in 2m20s
Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #518
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: bad_Dr3dd0x <1702+bad_dr3dd0x@noreply.localhost>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-06-23 14:37:30 +00:00
LeencyandBurer ff34330fb0 virtdisk: add to img 2026-06-21 17:04:00 +00:00
LeencyandBurer a566cef4c1 data/img: regroup 3D file entries, use SRC_PROGS for blocks 2026-06-21 17:04:00 +00:00
LeencyandBurer bbf35c3c83 data/icons: update icons (#493)
ICONS18:
- FB2 icon changed to Database
- Trash icon updated
- NDN icon redrawn
- Refresh, Cancel and Warning icons added

ICONS32:
- WebView icon redrawn
- VoxelEditor icon redrawn
- Floppy icon updated
- Drawer icon updated

Other:
- Fix wrong icon for .ob7 files in icons.ini

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #493
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: bad_Dr3dd0x <1702+bad_dr3dd0x@noreply.localhost>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-06-21 11:47:02 +00:00
LeencyandBurer a9ae0dbc73 apps/ac97snd: add to img as a binary instead of not-working msvc autobuild (#494)
Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #494
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-06-12 15:39:07 +00:00
LeencyandBurer 4cd1bfda63 apps/unimg: rewrite to c--, support any image type (#486)
- original version by boppan (magomed kostoev) is rewritten to c--
- cleaned up code
- now handle any image and sector size, not just kolibri.img
- fits into 2 kb (old version was 3.6 kb)
- support all system languages

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #486
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-06-10 15:53:35 +00:00
LeencyandBurer 893bc8a636 apps/ndn: update to v3.00.0012 (#456)
new version from here http://old-dos.ru/index.php?page=files&mode=files&do=show&id=2277

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #456
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-06-08 13:11:44 +00:00
LeencyandBurer 6e5f7642db data/menu: fix welcome.htm path + localize welcome.htm to all system languages (#466)
- "Welcome" menu item now uses absolute path `/sys/welcome.htm` (relative path failed to open when other tab was already open).
- Add full RU and ES translations of welcome.htm, keeping the original tone, plus per-language build rules
- Fix typos/grammar, names and trailing whitespace in EN welcome.htm
- Add <head> tag with proper <meta charset="..."> to all three language versions

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #466
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Reviewed-by: Andrew <15+ace-dent@noreply.localhost>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-06-07 16:11:24 +00:00
17f5260023 apps/mousepos: rework and add to autobuild (#463)
Ships `mousepos` in the autobuild and modernizes it.

Changes:
- Borderless static window => skinned draggable window
- Removed exit on `Escape`, added exit on window button and `Alt+F4`
- Localized labels (EN/RU/ES) via `encoding.inc`.
- Rendering split into static `draw_labels` / dynamic `draw_data`
- Refubrished UI: bold numbers, rows grouped by separators.
- Layout driven by named constants/RECT (`CHAR_W`, `PAD`, `BORD`, `GAP`).

<img width="373" alt="image.png" src="attachments/9ec6c143-e87f-45f7-a5e3-0a584d8eda95">

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #463
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Reviewed-by: Gleb Zaharov <risdeveau@lair.moe>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-06-07 15:08:41 +00:00
LeencyandBurer d464b7e770 apps/webview: update to 3.98 (#474)
- proper fix of line break
- new refresh / stop icons
- more comfortable debug mode
- remove old comments from code
- fix very old issue with text overlapping
-  line break on '-'

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #474
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-06-06 12:38:59 +00:00
LeencyandBurer 9b450ff4aa apps/downloader: rename to httpget to fit into 8.3 (author accepted the change), unify web programs names in menu (#465)
Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #465
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-06-04 11:48:09 +00:00
LeencyandBurer 0e186843d4 apps/koldbg: add grey color theme and theme switch on F12 key (#457)
Reviewed-on: #457
Reviewed-by: Burer <burer@kolibrios.org>
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-06-04 09:56:55 +00:00
LeencyandBurer 1a3c1e7173 apps/ftpc: update kolibrios ftp server address, make files browser higher (#464)
Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #464
Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-06-04 08:38:46 +00:00
LeencyandBurer 1b83f4fc4c mousecfg: fix mouse clicks were not shown (#462)
Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #462
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-06-02 11:56:29 +00:00
LeencyandBurer 53e1345728 apps/app_plus: fix opening opendial, better warning window (#460)
## app_plus: fix calling opendial and rework floppy-mode warning window

- Fix: bump MEMSIZE 40K => 60K so the Open file dialog starts.
- UI: drop the fake dir-listing mockup for a single icon + clearer text; remove unused SCRX/SCRY/kolibrios_dirs.
- UI: reposition header/description/buttons to the new CONX/CONY layout.
- Text: rewrite RU+EN warning - explain floppy mode and how to mount /kolibrios.
- Review: fix CONY comment + English grammar.

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #460
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-06-02 08:57:26 +00:00
LeencyandBurer 6e8c9103e0 apps/webview: update test.htm, various bugfixes and improvements (#459)
## WebView 3.97

- Fix: closing `</font>` pops `text_colors` by its own count, not `bg_colors` — no more dropping the default text color (`set_style.h`).
- Fix: `_cache::clear()` also resets `current_type` and `current_charset` (`cache.h`).
- Feature: `<li>` inside `<nav>` is rendered inline, separated by a single space (`set_style.h`).
- Cleanup: remove dead `src = …` assignments in View Source; `<font>` counting reads `src_orig` directly, behavior unchanged (`show_src.h`).
- Chore: bump version to `WebView 3.97` (`const.h`).
- Content: update test/home pages, add a hidden Easter-egg link to the test page (`res/test.htm`, `res/homepage_*.htm`).

---------

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #459
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-06-01 16:59:57 +00:00
LeencyandBurer f76cb1f9b6 sysmon: fix checkbox state while using Tab key (#448)
Press Tab. Now you'll see how checkbox state is changing.

Reviewed-on: #448
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-05-29 18:35:43 +00:00
LeencyandBurer d70d88845a add floppy-bird to game centre (#449)
thanks to the reporter https://board.kolibrios.org/viewtopic.php?p=80442#p80442

Reviewed-on: #449
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-05-29 18:31:49 +00:00
LeencyandBurer 23a502d761 dl: fix text overlap (#450)
fixed overlapping text "Save to:"

Reviewed-on: #450
Reviewed-by: Ivan B <1+dunkaist@noreply.localhost>
Reviewed-by: Burer <burer@kolibrios.org>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2026-05-29 18:14:36 +00:00
Leencyandmxlgv 16a0ef9543 WebView 3.91 (#230)
- fix crash at the end of the page https://menuetos.net/docs.htm;
- improve position of the line under text (and related code)
  for a various font sizes;
- handle params width= and size= of <hr>;
- update acid_0.1.htm page.

Reviewed-on: #230
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2025-05-05 19:04:52 +02:00
e4cd8a4d74 Calc+ v1.0 (#189)
Build system / Check kernel codestyle (pull_request) Successful in 26s
Build system / Build (pull_request) Successful in 7m1s
- Bigger fonts
- System colors
- Code refactoring to make UI flexible and more readable
- Move from ISO to IMG
- Add to main menu, add to desktop instead of Calc, remove from App+
- Localization to all system languages
- Source code file is now UTF-8

Co-authored-by: Burer <burer@kolibrios.org>
Reviewed-on: #189
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: Kiril Lipatov <lipatov.kiril@gmail.com>
Co-committed-by: Kiril Lipatov <lipatov.kiril@gmail.com>
2025-04-14 19:46:57 +02:00
Leencyandmxlgv fcb9f49785 flood-it: Fixed buttons position (#193)
Reviewed-on: #193
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2025-04-03 12:32:18 +02:00
Leencyandmxlgv d6c44c6570 WebView 3.9
Build system / Check kernel codestyle (pull_request) Successful in 31s
Build system / Build (pull_request) Successful in 6m27s
- new homepages
- fix clash on a wrong <kosicon> number
- set proper internal page sizes
2025-04-03 10:50:04 +02:00
Leencyandmxlgv 00c2cfbcfc Period: Moved from IMG to ISO
Build system / Check kernel codestyle (pull_request) Successful in 32s
Build system / Build (pull_request) Successful in 6m27s
2025-04-03 10:00:33 +02:00
Leencyandmxlgv c398a2bbf4 Unz: Fixed bug #27 (#190)
Reviewed-on: #190
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2025-04-03 09:39:02 +02:00
Leencyandmxlgv 8da45bab3e Eolite 5.32: Search fix (#191)
- LMB to open file, RMB to show in folder
- fix: correctly open folders
- fix UI: better list alignment
- Eolite: optimize OpenDir
- SelectList_ProcessMouse() better react on click

Reviewed-on: #191
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2025-04-02 21:26:12 +02:00
Leencyandmxlgv ff625706c0 Eolite 5.31: (#187)
- fix: editbox edit text
- fix: remove unnecessary editbox form delete popin
- add: "Copy path" menu item
- add: "Search" to a burger menu

Reviewed-on: #187
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Reviewed-by: rgimad <rgimad@noreply.localhost>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2025-03-31 22:40:54 +02:00
Leencyandmxlgv 81dafb3025 Floot-It v3.0 (#181)
- adopt window size to screen size
- bigger fonts
- proper colored 'S' and 'L' buttons
- fix issue: after won the game clicks count always increased to max
- code refactoring, translate comments to English
- help updated

Reviewed-on: #181
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2025-03-31 08:15:28 +02:00
Leencyandmxlgv 02b2395ef1 Eolite 5.30: Added file search (#175)
Co-authored-by: Max Logaev <maxlogaev@proton.me>
Reviewed-on: #175
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2025-03-28 19:48:39 +01:00
Leencyandmxlgv 5cf6c3baf9 Mine game v0.62 (#172)
- proper window rolling up fix;
- bigger cells and fonts;
- add icon to a new game button;
- better alignment of ui elements in header.

Reviewed-on: #172
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2025-03-22 09:40:04 +01:00
Leencyandmxlgv 92f9d76f14 welcome.htm and related stuff (fix #20)
Build system / Check kernel codestyle (pull_request) Successful in 33s
Build system / Build (pull_request) Successful in 6m43s
- welcome.htm (ENG) uploaded
- signs.png uploaded and added to ISO
- rotate Kolibri in all icons to look forward
2025-03-18 16:21:01 +01:00
Leencyandmxlgv 4e903ce12b kiv: show image bpp in win header
Build system / Check kernel codestyle (pull_request) Successful in 34s
Build system / Build (pull_request) Successful in 6m20s
2025-03-17 22:24:04 +01:00
Leencyandmxlgv 4d30fd7a2b Eolite 5.29: Fixed bug in "Apply to all files?" dialog
Build system / Check kernel codestyle (pull_request) Successful in 47s
Build system / Build (pull_request) Successful in 5m43s
- line height can no longer be smaller than icon size;
- fixed bug with edit box activation under "Apply to all files?" dialog;
- updated dates;
- fixed kfont initialization.
2025-03-17 18:22:15 +03:00
Leencyandmxlgv 292bd1d739 webview 3.85: fix a specific case when col width was calculated wrong
Build system / Check kernel codestyle (pull_request) Successful in 27s
Build system / Build (pull_request) Successful in 5m16s
2025-03-17 11:50:17 +01:00
Leencyandmxlgv 1a756358f5 webview 3.84
- tagicon support
- draw_buf => BufIsInvalid() add check
2025-03-17 11:50:17 +01:00
Leencyandmxlgv 009c0d0519 webview-3.83
- fixed collection.h that caused webview crash
- fix rolled-up bug
- add special symbol from builds.kolibrios.org/status.html
2025-03-17 11:50:17 +01:00
Leencyandmxlgv 72196f42de Palitra(branch): UI and code refactoring. Fix a lot of issues (#154)
- Fixed the ID of the buttons, made the window always on top;
- Removed the visible rectangle when clicking on the palette;
- Fixed the position of the picker and palette buttons.

Reviewed-on: #154
Reviewed-by: Max Logaev <maxlogaev@proton.me>
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2025-03-17 10:54:19 +01:00
Leencyandmxlgv 714cc0a65c cmm menu: fix marker
Build system / Check kernel codestyle (pull_request) Successful in 23s
Build system / Build (pull_request) Successful in 5m0s
2025-03-15 23:28:13 +01:00
Leencyandmxlgv 784b02b4a4 3dcube: get rid of unnecessary files, refined build.bat and tupfile
Build system / Check kernel codestyle (pull_request) Successful in 32s
Build system / Build (pull_request) Successful in 5m36s
2025-03-15 14:54:46 +01:00
Leencyandmxlgv 4f1a8ef9a1 kf_font_viewer gets to be a part of syspanel
Build system / Check kernel codestyle (pull_request) Successful in 21s
Build system / Build (pull_request) Successful in 5m28s
Syspanel gets bigger in less than 1 sector and we still have kf viewer in the IMG
2025-03-14 21:31:22 +01:00
Leencyandmxlgv 93f12c7673 allow applications to work nicely without .kf files
Build system / Check kernel codestyle (pull_request) Successful in 37s
Build system / Build (pull_request) Successful in 7m45s
2025-03-14 21:10:49 +01:00
Leencyandmxlgv 36ce6f0b74 Eolite 5.28
Build system / Check kernel codestyle (pull_request) Successful in 40s
Build system / Build (pull_request) Successful in 5m34s
- deny renaming folder '..'
- 'show status bar' option removed
- add option 'bold font'
- Quark view changed to HEX View
2025-03-12 12:27:18 +01:00
LeencymxlgvMax Logaev <maxlogaev@proton.me
81b15607dc Apps/barcfg: Added bars_8b.raw
Build system / Check kernel codestyle (pull_request) Successful in 45s
Build system / Build (pull_request) Successful in 5m41s
Co-authored-by: Max Logaev <maxlogaev@proton.me
2025-03-10 23:11:33 +01:00
LeencymxlgvMax Logaev <maxlogaev@proton.me
30d8d45326 Data: Move kf_font_viewer to ISO
- Added testcon2_eng to IMG;
- use_mb was removed from IMG because it was not used.

Co-authored-by: Max Logaev <maxlogaev@proton.me
2025-03-10 23:11:33 +01:00
LeencymxlgvMax Logaev <maxlogaev@proton.me
9a23c001e1 Data: Added hotkeys for change sound volume and mute/unmute sound
- Added Ctrl + Alt + Left / Right - change sound volume;
- Added Ctrl + Alt + Up / Down - mute and unmute sound;
- Corrected description.

Co-authored-by: Max Logaev <maxlogaev@proton.me
2025-03-10 23:11:33 +01:00
Leencyandmxlgv 64b7372624 Apps/eolite: Version 5.27
Build system / Check kernel codestyle (pull_request) Successful in 31s
Build system / Build (pull_request) Successful in 4m53s
- Choose first file on ctrl selection.
- Set static position for maximized window:
  https://github.com/KolibriOS/kolibrios/issues/9
2025-03-10 22:28:44 +01:00
Leencyandmxlgv 5a852ebdfb Apps/webview: Version 3.82. Fixed text rendering, speedup (#130)
Build system / Check kernel codestyle (push) Successful in 28s
Build system / Build (push) Successful in 8m2s
Co-authored-by: leency <lipatov.kiril@gmail.com>
Co-committed-by: leency <lipatov.kiril@gmail.com>
2025-03-10 20:28:52 +01:00
Leencyandmxlgv 38fdd13e0c Added charset_checker app to IMG instead of asciivju and keyascii 2025-03-07 23:25:14 +03:00
Leencyandmxlgv 1df7b2fd4c Apps/webview: Version 3.8. Fixed <p>, new h3 style
Build system / Check kernel codestyle (push) Successful in 29s
Build system / Build (push) Has been cancelled
- `cmm/lib/collection.h`: fixed memory leak, more safe, optimizations;
- webview: mostly fix <p>, new h3 style, some other updates.

Reviewed-on: #115
2025-03-07 03:00:49 +03:00
Leencyandmxlgv 8c9a971e2c Libs/cmm: Fixed return type for GetProcessInfo() 2025-03-02 12:10:08 +01:00
Leencyandmxlgv 5aa17d5823 Apps/webview: Fixed parse tag param and use Bing search
- Fixed parse case of tag param like "attr = value";
- Use the default Bing search as it only supports HTTP.
2025-03-02 12:10:08 +01:00
Leencyandmxlgv 4d6ef342e1 Apps/webview: Fixed issue #100 2025-03-02 12:10:08 +01:00
Leencyandmxlgv 8e5b315fd4 Apps: Fix webview and downloader issue #22
- Fix #22 in both webview and downloader;
- Get rid of app mode in webview;
- Fix update link for webview.
2025-03-02 12:10:08 +01:00
1525cb7e37 Apps/cedit: Improved tab visuals
- Improved tab visuals;
- Fixed scroll.ob07 file name;
- Updated binary (27-feb-2025).

Co-authored-by: Max Logaev <maxlogaev@proton.me>
2025-02-28 14:27:08 +01:00
Leencyandmxlgv bad1a3c3ca Data: Replace Testris icon from NintendoDS by a taldariner's 2025-02-27 01:31:53 +01:00
Leencyandmxlgv b1d8436000 Data: By default use CodeEdit instead of Tinypad 2025-02-27 01:31:53 +01:00