Commit graph

23 commits

Author SHA1 Message Date
mircearoata
d744884f25
feat: remove SML references (#64)
* feat: update ficsit-resolver

* feat: remove SML references

* feat: read GameVersion from uplugin

* ci: docker-compose => docker compose
2024-08-14 03:27:07 +03:00
Vilsol
c67285a76c
feat: show progress in bytes (#55)
* feat: show progress in bytes

* fix: never progress backwards
2023-12-29 23:18:01 +02:00
Vilsol
a53290b1cb
fix: fuck vsftpd 2023-12-28 03:19:42 +02:00
Vilsol
2672b17f44
feat: sftp (#51)
* feat: sftp
test: add tests for ftp and sftp

* chore: ci fixes

* chore: potential race fix

* fix: simplify existence checks

* fix: split path differently for ftp

* fix: 🤷

* chore: add debug print

* chore: lint

* chore: idk dude

* chore: ?

* chore: more logs

* chore: wipe mods before tests

* chore: logs

* chore: wat

* chore: wait?

* chore: no errors

* chore: gh actions are 💩

* fix: always sync after copy

* chore: remove some test logs

* chore: remove test progress watcher

* refactor: change progress to writer

* chore: logs

* chore: different logs

* chore: whoops

* chore: moar logs

* chore: even moar logs

* chore: what is life

* chore: why are we here

* chore: we are just bags of water floating through space

* chore: are you real?

* chore: ?

* chore: if you get a single update now I call bs

* chore: ok what if we just do one?

* chore: ok what if we do two?

* chore: this should not work

* chore: wait no, this one

* chore: fml

* chore: remove logs

* chore: what if we just wait a little

* chore: retry

* chore: move error

* chore: verbose log

* chore: remove explicit sleep

* chore: remove debug

* fix: linux pathing on windows

* fix: clean paths properly

* fix: fuck ftp

* fix: send update on vanilla

* feat: parallel ftp

* fix: remove potential credential leak
2023-12-28 02:13:09 +02:00
Vilsol
25f544b8fe
refactor: zerolog -> slog, errors.Wrap -> fmt.Error (#49)
* refactor: zerolog -> slog, errors.Wrap -> fmt.Error

* chore: lint

* fix: correctly handle errors

* fix: use parsed level

* fix: use parsed level, log json to file
2023-12-16 16:19:53 +02:00
Vilsol
4195463c60
feat: threaded download pooling (#48)
* feat: threaded download pooling
refactor: splice out resolver

* chore: remove debug
2023-12-16 13:59:58 +02:00
Vilsol
b6592fe185
feat: parallel apply view (#47)
* feat: parallel apply view

* chore: cleaner readme

* chore: lint

* chore: remove debug logging

* chore: lint
2023-12-14 01:34:01 +02:00
Vilsol
98b7c99e74
fix: various edge cases (#45)
* fix: various edge cases
test: add tea unit test

* chore: lint

* chore: 🤷

* test: fail after 1 minute

* test: print buffer

* test: fuck windows
2023-12-07 23:31:37 +02:00
mircearoata
6088d1e8eb
feat: parallel downloads (#43)
* feat: parallel downloads

* feat: mod extract progress using file size

* feat: pass mod version in install progress updates

* fix: only close update channels after finished sending

* chore: verbose ci tests

* fix: store mod in cache
chore: add progress logging to tests

* chore: lint

* test: add concurrent download limit

* fix: prevent concurrent map access

* chore: bump pubgrub
fix: fix race conditions

---------

Co-authored-by: Vilsol <me@vil.so>
2023-12-07 01:39:34 +02:00
mircearoata
e4b02a792d
feat: offline mode (#14)
* chore: move mod downloading to cli/cache

* feat: data providers, ficsit and local

* feat: keep cache in memory, load on init

* feat: log invalid cache files instead of returning error

* chore: make linter happy

* feat: fill cached mod Authors field from CreatedBy

* chore: make linter happy again

* feat: add icon and size to cached mods

* feat: cache the cached file hashes

* fix: change to new provider access style

---------

Co-authored-by: Vilsol <me@vil.so>
2023-12-06 06:47:41 +02:00
mircearoata
024b11b1e8
feat: use the pubgrub algorithm for solving versions (#40)
* refactor: separate resolving tests

* feat: use pubgrub to resolve dependencies

* feat: show friendly mod name in error message

* feat: show single version in error message when only one matches

* ci: update go version to match go.mod

* feat: format FactoryGame incompatibility and term

* chore: fetch all necessary data of the version at once

* chore: upgrade pubgrub

* chore: upgrade pubgrub

* ci: update golangci-lint version for go 1.21

* chore: lint

* chore: update go version in readme
2023-12-06 05:01:49 +02:00
SurDaft - Jack Stupple
72a6094ad3
#25: Fix long error messages clipping on apply scene (#30) 2023-07-28 14:53:29 +03:00
Vilsol
d0a807b6a4 feat: add mod upload command 2022-10-14 19:11:16 +03:00
Vilsol
ef7f8cc8e8 feat: add support for ftp 2022-06-23 01:24:35 +03:00
Vilsol
e01db90b0b add cli commands, docs, readme 2022-06-08 23:56:32 +03:00
Vilsol
9d7b5730a2 installed mods, versioning, async mods 2022-06-07 02:55:26 +03:00
Vilsol
015414c5b0 highlight installed mods, fancy new installation page, more sort options 2022-06-04 21:47:10 +03:00
Vilsol
bdcbb0b677 technically "functional", but you be the judge 2022-06-04 01:17:02 +03:00
Vilsol
0647db1620 Resolution, downloads, lockfiles 2022-05-02 23:07:15 +03:00
Vilsol
a4f77e407c Dependency resolution, installations 2022-04-14 04:27:39 +03:00
Vilsol
1b1b8c1465 Parse HTML 2021-12-04 02:21:19 +02:00
Vilsol
e329e48e9b Tooling, Mod Browser, Cleanup, CI 2021-12-02 06:00:33 +02:00
Vilsol
4fadd21214 Initial commit 2021-11-05 23:42:49 +02:00