Repository navigation
Titanium Tiiny Bot 0.1.17
Titanium Tiiny Bot now runs on Windows. 0.1.16 stopped at its first import there, on import fcntl, which is POSIX only, so a person who installed it through the launcher got a traceback instead of an app. Both file locks now go through a small shim: flock on POSIX, msvcrt on Windows, with a refused lock looking the same to every caller.
Four more things behind it would have failed next: the memory reading in Settings, the O_NOFOLLOW flag on six file opens, the lock file's permissions, and a liveness probe that on Windows would have killed the process it was asking about.
The app had never been run on Windows by anything, so this release also adds CI on Linux, macOS and Windows, which found three more:
- Text files were read with the machine's own encoding. On Windows that is cp1252, which cannot decode the seed files, so the app crashed again as soon as the lock fix let it get that far.
- Memory recall returned nothing at all on Windows, silently. Saved facts were recorded with a backslash path that the code matching on "memory/log/" could never match, so every fact fell out of the prompt while the console still listed them.
- Starting up waited on a reverse DNS lookup of the address being bound. That measured 35 seconds on one machine, against a 5 second budget, and it was never a Windows problem: a laptop on a slow network is the same machine.
Verified on GitHub's ubuntu, macOS and Windows runners: 162 tests and the offline selfcheck pass on all three. The Windows selfcheck starts in 2.1 seconds and answers a turn. Nobody has yet run this on a real Windows machine beside a real Tiiny.