9e57cf2644
merge: sync GitLab main before release push
...
# Conflicts:
# CHANGELOG.md
# Dockerfile.test
# Makefile
# README.md
# crates/latchd-auth/tests/pam_fixture.rs
# crates/latchd-core/src/config.rs
# crates/latchd-core/src/lib.rs
# crates/latchd-core/src/preferences.rs
# crates/latchd-core/src/session.rs
# crates/latchd-tui/src/lib.rs
# docs/e2e-testing.md
# scripts/test-pam-fixture.sh
2026-10-05 21:40:43 +05:30
f2a885d621
refactor: split the TUI and refresh project docs
...
Move login state, authentication, discovery, input, rendering, and tests into focused TUI modules. Add detailed CLI error reports with recovery commands, align the build and host-check documentation, and keep the legacy Go tree outside normal builds.
Checks: make check; make integration-test; go test ./... (legacy/go).
2026-10-05 21:37:15 +05:30
de8843471b
feat: support user preview configuration and document UI
2026-10-05 19:20:55 +05:30
ee6186ed0b
feat: complete session preferences and PAM fixture gates
2026-10-05 17:50:15 +05:30
f266a992b4
feat: complete session preferences and PAM fixture gates
2026-09-26 02:44:29 +05:30
83345a1842
feat: handle PAM password policy changes
2026-09-26 01:50:27 +05:30
9492dbd7c9
feat: advance login workflow and integration gates
2026-09-26 01:18:57 +05:30
71de5bc6cd
fix(ci): expose cached cargo-audit binary
2026-09-25 22:14:57 +05:30
860108d0da
fix(ci): run Docker verification with POSIX shell
2026-09-25 22:13:31 +05:30
0617cf5472
Merge remote-tracking branch 'origin/main'
2026-09-25 21:34:20 +05:30
faf5b27328
feat: ship Rust login manager and GitLab release pipeline
...
Replace the legacy Go implementation as the production path, quarantine the reference tree, add deterministic release packaging and version metadata, and run verification through GitLab CI.
2026-09-25 21:33:46 +05:30
1723ab53b8
docs: update CHANGELOG, README keybindings, gitignore ly/
Integration Check CI / check (push) Has been cancelled
Continuous integration / Check (push) Has been cancelled
Continuous integration / Rustfmt (push) Has been cancelled
Continuous integration / Clippy (push) Has been cancelled
2026-07-19 01:54:45 +05:30
d7c9951d6b
ui: wire automata background, add clock + session specifier + form card
...
- Automata.Frame() rendered as base layer, form card overlaid via ANSI
cursor positioning with dark background for readability
- Clock widget showing datetime (Mon Jan 02 15:04:05) in top bar
- Session type label (x11/wayland) shown above switcher selection
2026-07-19 01:54:40 +05:30
a911adf284
session: parse DesktopNames for XDG_CURRENT_DESKTOP, wire utmpx, fix shell
...
- .desktop files now parse DesktopNames: first ;-entry → XDG_SESSION_DESKTOP,
full list with : separators → XDG_CURRENT_DESKTOP
- AddUtmpx/Close wired into spawnSession (logins appear in who/w/last)
- Credentials.Shell reads from /etc/passwd instead of hardcoded /bin/sh
- Added SetDesktopVars to env.go
2026-07-19 01:54:22 +05:30
006a6f592a
Add LICENSE
2026-07-18 17:45:10 +00:00
5eae08c7ba
(Feat): Minor Changes
Integration Check CI / check (push) Has been cancelled
Continuous integration / Check (push) Has been cancelled
Continuous integration / Rustfmt (push) Has been cancelled
Continuous integration / Clippy (push) Has been cancelled
2026-07-18 23:07:56 +05:30
6d7a756cd9
(Feat): Added a global key to navigate between different sessions
2026-07-18 23:07:42 +05:30
f6d3acbfbf
(Minor): Updated changelog.md
2026-07-18 22:57:50 +05:30
0050c5cf58
(Fix): Minor Fix
2026-07-18 22:57:35 +05:30
f8156f85a5
(Fix): pam_open_session failure (e.g. pam_systemd rejecting the DM process as session leader) is now logged as a warning instead of blocking the entire session spawn.
2026-07-18 22:57:05 +05:30
1eb900c27c
(Fix): spawnSession now calls SetBasicVariables, SetDisplay, SetSessionParams, SetSeatVars, SetSessionVars, and SetXDGCommonPaths before spawning the desktop. fixes setupX failing immediately with missing DISPLAY/XDG_VTNR/HOME env vars because none were set
2026-07-18 22:40:32 +05:30
c646c7a18b
(Fix): removed the non-functional automata background overlay from View() (the Frame() was never called, and the black-space placeholder caused EEEE garbage characters on some terminals)
2026-07-18 22:00:45 +05:30
eedde29e03
(Fix): fixed unsafe.Slice using &r (pointer-to-pointer) as the backing array instead of r (the calloc'd response array), which wrote password bytes into random
2026-07-18 21:42:05 +05:30
863ed82298
(Fix): replaced the broken ForkExec (which relaunched the same binary with made-up flags) with a direct session.Spawn call that drops privileges and runs the desktop in-process.
2026-07-18 21:41:27 +05:30
37a9ea0278
(Feat): renamed from lemurs to latchd
2026-07-18 21:40:10 +05:30
32f7764f2b
(Fix): updated makefile to reference the new filenames in extra
2026-07-18 21:39:46 +05:30
2c7eb421bd
(Minor): Updated Changelog.md
2026-07-18 21:29:34 +05:30
c37b3629ca
(Fix): fixed unsafe.Slice using &r (pointer-to-pointer) as the backing array instead of r (the calloc'd response array), which wrote password bytes into random stack memory.
2026-07-18 21:29:20 +05:30
e51720da14
(Minor): Updated Changelog
2026-07-18 21:19:26 +05:30
12dfb32f71
(Fix): replaced unsafe.Pointer(&h) (Go stack pointer passed to C) with storeHandle/loadHandle helpers that keep the cgo.Handle in C-heap memory.
2026-07-18 21:19:05 +05:30
89fafb892b
(Fix): Fixed extra directory not existing and populating the directory.
2026-07-18 21:05:09 +05:30
30c396ab9e
(Fix): replaced hardcoded C.__uint32_t / C.__int32_t casts with a C helper function (auth/utmpx_time.h) that lets the compiler handle type conversion.
2026-07-18 21:00:02 +05:30
f6085c342b
(Feat): Initial Commit
2026-07-18 18:16:06 +05:30