9021825
      feat(ci): run tests against both sqlite and postgres
    
    
    
     Ayman Bagabas created
9021825
      feat(ci): run tests against both sqlite and postgres
    Ayman Bagabas created
b8ba37b
      test: use postgres in testscript
    Ayman Bagabas created
fa09286
      fix: postgres driver issues
    Related: https://github.com/charmbracelet/soft-serve/issues/380
Ayman Bagabas created
6a42d89
      fix(db): quote postgres keywords (#383)
    The keyword "key" is a reserved word in Postgres and must be quoted if used as a column name. Fixes: https://github.com/charmbracelet/soft-serve/issues/380
Ayman Bagabas created
5464150
      feat(deps): bump github.com/go-git/go-git/v5 from 5.8.1 to 5.9.0 (#381)
    Bumps [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) from 5.8.1 to 5.9.0. - [Release notes](https://github.com/go-git/go-git/releases) - [Commits](https://github.com/go-git/go-git/compare/v5.8.1...v5.9.0) --- updated-dependencies: - dependency-name: github.com/go-git/go-git/v5 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] and dependabot[bot] created
e47ac30
      chore(deps): bump actions/checkout from 3 to 4 (#378)
    Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] and dependabot[bot] created
3c747e4
      feat(deps): bump golang.org/x/crypto from 0.12.0 to 0.13.0 (#379)
    Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.12.0 to 0.13.0. - [Commits](https://github.com/golang/crypto/compare/v0.12.0...v0.13.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] and dependabot[bot] created
fd167be
      fix: backend update hook arguments
    Ayman Bagabas created
d1593cc
      feat(deps): bump github.com/hashicorp/golang-lru/v2 from 2.0.5 to 2.0.6 (#374)
    dependabot[bot] created
e35538c
      chore(demo): add VHS demo.tape
    Maas Lalani created
8594ecf
      fix: demo gif (#373)
    Maas Lalani created
abcb242
      Revert "docs: update soft-serve demo GIF / screencast"
    This reverts commit 0509a50c988737f23919d145c171e0bec0d853f7.
Maas Lalani created
0509a50
      docs: update soft-serve demo GIF / screencast
    Maas Lalani created
0353cf2
      docs: add sqlite foreign key note
    Ayman Bagabas created
a12b45b
      feat(deps): bump github.com/gogs/git-module from 1.8.2 to 1.8.3 (#365)
    Bumps [github.com/gogs/git-module](https://github.com/gogs/git-module) from 1.8.2 to 1.8.3. - [Release notes](https://github.com/gogs/git-module/releases) - [Commits](https://github.com/gogs/git-module/compare/v1.8.2...v1.8.3) --- updated-dependencies: - dependency-name: github.com/gogs/git-module dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
dependabot[bot] and dependabot[bot] created
104aa73
      feat(deps): bump github.com/charmbracelet/log from 0.2.3 to 0.2.4 (#371)
    dependabot[bot] created
62b9fda
      feat(deps): bump github.com/charmbracelet/lipgloss from 0.7.1 to 0.8.0 (#372)
    dependabot[bot] created
942d494
      fix: add ssh commands back (#370)
    * fix: add ssh commands back Unauthorized users would get an error message when using commands that need authorization * feat: bump charmbracelet/ssh to fix race issue
Ayman Bagabas created
09dedc4
      fix: remove extra metrics label
    Fixes: b0eebaa36b8a ("fix: panic on ssh lfs transfer")
    Ayman Bagabas created
49ec3aa
      docs: update readme (#360)
    * docs: update readme in preparation of v0.6 * docs: add database section Fixes: https://github.com/charmbracelet/soft-serve/issues/363 * docs: http auth * fix: typos
Ayman Bagabas created
b0eebaa
      fix: panic on ssh lfs transfer
    Ayman Bagabas created
e10942e
      fix: config paths on windows
    Convert slashes on windows Fixes: https://github.com/charmbracelet/soft-serve/issues/367
Ayman Bagabas created
bb94850
      feat(deps): bump github.com/hashicorp/golang-lru/v2 from 2.0.4 to 2.0.5
    Bumps [github.com/hashicorp/golang-lru/v2](https://github.com/hashicorp/golang-lru) from 2.0.4 to 2.0.5. - [Release notes](https://github.com/hashicorp/golang-lru/releases) - [Commits](https://github.com/hashicorp/golang-lru/compare/v2.0.4...v2.0.5) --- updated-dependencies: - dependency-name: github.com/hashicorp/golang-lru/v2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] created
05ecf8d
      feat(deps): bump golang.org/x/crypto from 0.11.0 to 0.12.0
    Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.11.0 to 0.12.0. - [Commits](https://github.com/golang/crypto/compare/v0.11.0...v0.12.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] created
e610867
      feat(deps): bump github.com/go-git/go-git/v5 from 5.7.0 to 5.8.1
    Bumps [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) from 5.7.0 to 5.8.1. - [Release notes](https://github.com/go-git/go-git/releases) - [Commits](https://github.com/go-git/go-git/compare/v5.7.0...v5.8.1) --- updated-dependencies: - dependency-name: github.com/go-git/go-git/v5 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] created
75cf8a5
      feat(deps): bump github.com/charmbracelet/log
    Bumps [github.com/charmbracelet/log](https://github.com/charmbracelet/log) from 0.2.3-0.20230713155356-557335e40e35 to 0.2.3. - [Release notes](https://github.com/charmbracelet/log/releases) - [Commits](https://github.com/charmbracelet/log/commits/v0.2.3) --- updated-dependencies: - dependency-name: github.com/charmbracelet/log dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] created
f52dcd2
      feat(deps): bump modernc.org/sqlite from 1.24.0 to 1.25.0
    Bumps [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) from 1.24.0 to 1.25.0. - [Commits](https://gitlab.com/cznic/sqlite/compare/v1.24.0...v1.25.0) --- updated-dependencies: - dependency-name: modernc.org/sqlite dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] created
882e701
      feat: add collaborators with access level
    Now you can add a collaborator with a specific access level Fixes: https://github.com/charmbracelet/soft-serve/issues/281
Ayman Bagabas created
c4dde1c
      feat,fix: add task manager
    Implement a task manager that can run different tasks given a unique ID. This is needed to accommodate expensive tasks like importing a large repository. The current behavior uses the connection's context (the SSH connection) to import the repository. However, if the server has defined an SSH `idle_timeout`, `max_timeout`, and/or the connection drops, Soft Serve cancels the git clone process and aborts importing the repository. Instead, we add the import task to the "task manager" and wait on the connection context. If a task already exists for the same repository, return `Error: import already in progress`. Fixes: https://github.com/charmbracelet/soft-serve/issues/348
Ayman Bagabas created
c7829a3
      feat: print clone url on repo create
    Prints the repo ssh clone url on create Fixes: https://github.com/charmbracelet/soft-serve/issues/297
Ayman Bagabas created
eaf3619
      chore: update golang.org/x/net
    Ayman Bagabas created
fe70399
      fix(tests): make git-daemon use random port
    Ayman Bagabas created
bd8c60c
      fix(lfs): don't timeout when searching lfs objects
    Make it up to the context to continue the process
Ayman Bagabas created
da5bf4e
      fix: remove repo when stat mismatch
    Remove repo files when the repo doesn't exist in the database but exists in the filesystem
Ayman Bagabas created
babc52f
      fix(lfs): fetch missing lfs objects when mirroring
    Ensure to pull the latest lfs objects when mirroring a repository with lfs enabled.
Ayman Bagabas created
e5f8b20
      fix(tests): testscript race condition
    Ayman Bagabas created
61ad744
      feat(ssh): use custom logging middleware
    Ayman Bagabas created
b26060b
      refactor,fix(ssh): use cobra for git commands
    - Fix git commands errors on invalid args and permissions - Use Cobra to handle git commands - Add Git SSH tests - Better ssh and git pktline error handling
Ayman Bagabas created
b3d5ce8
      refactor: combine migrations into one
    Ayman Bagabas created
ea6b9a4
      fix: add repo owner and separate lfs data for each repository
    Add repository owner
Ayman Bagabas created
3a61783
      refactor: move jobs into its own module
    Ayman Bagabas created
7c73084
      fix: tests
    Ayman Bagabas created
f1a1da5
      feat: use gorilla/mux
    Ayman Bagabas created
af81aec
      feat: add lfs config and tests
    Enable/disable LFS endpoints Enable/disable SSH LFS transfer fix: lfs request validation chore: add jwt, lfs, and http tests fix: tests race feat: more tests fix: return 403 on bad creds
Ayman Bagabas created
a9e5ace
      feat: support user access tokens
    Users now can generate access tokens and use them to authenticate with Soft Serve HTTP Git server. It supports basic username & password, generated access tokens, and JWT tokens. As of now there is no way the user can set a password. This will be implemented in a separate PR. Access tokens hashes are stored in the database along with an optional expiry date. Access tokens can be used as the Git user or password in a HTTP clone URL e.g. `https://<token>@git.example.com/repo.git` fix: lint errors fix: ensure default branch on http push fix: address carlos comments
Ayman Bagabas created
f69f064
      feat(web): implement git auth and lfs
    Generate jwt tokens Implement git-lfs-authenticate to generate tokens through ssh Authenticate user using HTTP fix: git lfs endpoint auth feat: git lfs locks Implement git lfs locks endpoints fix: tests fix: access tokens migration add expires_at fix: lint errors fix: cleanup Revert "fix: cleanup" This reverts commit 728173fbb9594d8ba32e0ca6223be08646e0136a. fix(db): don't drop tables
Ayman Bagabas created
8e68dba
      feat: implement git-lfs preliminary support
    - Support Git LFS SSH transfer (server-side) - Implement Git LFS Basic transfer (client) - Import missing LFS objects when importing a repository wip fix: user can be nil for anonymous connections fix: wrap db errors fix: lint errors
Ayman Bagabas created
8d41446
      fix(ssh): increase the default idle-timeout to 10 minutes
    This would close dangling SSH connections that last for more than 10 minutes. The only down side is that the connection will get closed without restoring the terminal for PTY sessions and the UI.
Ayman Bagabas created
d0afaa0
      fix: respect gitattributes (#342)
    * fix: respect gitattributes Check gitattributes for file attrs before displaying files. Fixes: https://github.com/charmbracelet/soft-serve/issues/238 * chore: add tests
Ayman Bagabas created
0e9abaf
      feat(deps): bump go.uber.org/automaxprocs from 1.5.2 to 1.5.3 (#343)
    dependabot[bot] created