Commit graph

666 commits

Author SHA1 Message Date
Felipe M.
ca949c5dab
fix: resolve linting errors and e2e test failures
- Fix ST1005 linting errors by lowercasing error message strings
- Fix QF1008 linting errors by removing embedded field selectors in containers.go
- Update Alpine version from 3.22 to 3.21 in Makefile to fix Docker image resolution
- Update corresponding test expectations for error message changes
2025-07-30 17:48:13 +02:00
Federico Scodelaro
9f6a4c39d4
feat: support proxy forward headers authentication (#1105)
* feat: Add SSO forward header

* fix: Use domain layer

* test: Some test

* chore: Print new values when debugging

* chore: Rename enabled envvar

* fix: Wrongly parsing remote ip

* fix: Always validate token. NPE on validateSession

* fix: Dont overwrite token when sso

* fix: Best effort to get ip. Parse as ip:port and then as ip

* fix: Forgot to update handler version

* fix: Forgot to commit changes

* test: GetAccountByUsername

* chore: Rename some variables

* chore: return error from ssoAccount

* refactor: Extract sso proxy auth to own middleware

* fix: Dont panic if not sso account on legacy validate session

* ci: gofmt

---------

Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
2025-07-12 12:11:42 +02:00
Manny Karyampudi
24e06a5678
docs: fix issue with reverse proxy webroot configuration (#1121)
It looks like the `SHIORI_HTTP_ROOT_PATH` replaced the `SHIORI_WEBROOT` environment variable. Also, I needed to add the trailing `/` to the NGINX location config (i.e. `location /shiori/` to get the reverse proxy configuration to work.
2025-07-12 09:46:45 +02:00
Ben Oakes
b58e76ec8d
docs: add cloudbreak.app under managed hosting (#1123) 2025-07-12 09:43:24 +02:00
Felipe Martin
98564fa646
ci: never close stale issues/rps 2025-06-28 12:28:32 +02:00
Marc Brugger
3091d844c0
fix: parse pocket new CSV format (#1112)
* fix pocket parsing error

Signed-off-by: bakito <github@bakito.ch>

* add tests forpocket csv

Signed-off-by: bakito <github@bakito.ch>

* Use file name from test case

* fix lint ant test issues

Signed-off-by: bakito <github@bakito.ch>

---------

Signed-off-by: bakito <github@bakito.ch>
Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
2025-06-27 13:35:15 +02:00
dependabot[bot]
d86c9cc650
chore(deps): bump the all group with 9 updates (#1115)
Bumps the all group with 9 updates:

| Package | From | To |
| --- | --- | --- |
| [actions/download-artifact](https://github.com/actions/download-artifact) | `4.2.1` | `4.3.0` |
| [actions/setup-go](https://github.com/actions/setup-go) | `5.4.0` | `5.5.0` |
| [actions/setup-node](https://github.com/actions/setup-node) | `4.3.0` | `4.4.0` |
| [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) | `6.5.2` | `8.0.0` |
| [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) | `6.2.1` | `6.3.0` |
| [actions/setup-python](https://github.com/actions/setup-python) | `5.4.0` | `5.6.0` |
| [oven-sh/setup-bun](https://github.com/oven-sh/setup-bun) | `2.0.1` | `2.0.2` |
| [codecov/codecov-action](https://github.com/codecov/codecov-action) | `5.4.0` | `5.4.3` |
| [cross-platform-actions/action](https://github.com/cross-platform-actions/action) | `0.27.0` | `0.28.0` |


Updates `actions/download-artifact` from 4.2.1 to 4.3.0
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](95815c38cf...d3f86a106a)

Updates `actions/setup-go` from 5.4.0 to 5.5.0
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](0aaccfd150...d35c59abb0)

Updates `actions/setup-node` from 4.3.0 to 4.4.0
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](cdca7365b2...49933ea528)

Updates `golangci/golangci-lint-action` from 6.5.2 to 8.0.0
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](55c2c1448f...4afd733a84)

Updates `goreleaser/goreleaser-action` from 6.2.1 to 6.3.0
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](90a3faa9d0...9c156ee8a1)

Updates `actions/setup-python` from 5.4.0 to 5.6.0
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](42375524e2...a26af69be9)

Updates `oven-sh/setup-bun` from 2.0.1 to 2.0.2
- [Release notes](https://github.com/oven-sh/setup-bun/releases)
- [Commits](4bc047ad25...735343b667)

Updates `codecov/codecov-action` from 5.4.0 to 5.4.3
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](0565863a31...18283e04ce)

Updates `cross-platform-actions/action` from 0.27.0 to 0.28.0
- [Release notes](https://github.com/cross-platform-actions/action/releases)
- [Changelog](https://github.com/cross-platform-actions/action/blob/master/changelog.md)
- [Commits](fe0167d808...97419d18f6)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: 4.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: actions/setup-go
  dependency-version: 5.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: actions/setup-node
  dependency-version: 4.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: golangci/golangci-lint-action
  dependency-version: 8.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all
- dependency-name: goreleaser/goreleaser-action
  dependency-version: 6.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: actions/setup-python
  dependency-version: 5.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: oven-sh/setup-bun
  dependency-version: 2.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: codecov/codecov-action
  dependency-version: 5.4.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: cross-platform-actions/action
  dependency-version: 0.28.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
2025-06-16 17:38:22 +02:00
Felipe Martin
f56581a78a
chore: update golangci-lint (#1116) 2025-06-16 16:38:02 +02:00
Akshay Nair
fb1eaf3e7d
docs: fix screenshot links in docs (#1114) 2025-06-16 16:15:03 +02:00
dependabot[bot]
6fbaecb68c
chore(deps-dev): bump vite (#1089)
Bumps the npm_and_yarn group with 1 update in the /webapp directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 6.2.3 to 6.2.4
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.2.4/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.2.4/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-31 20:44:28 +02:00
dependabot[bot]
416edea1d7
chore(deps): bump golang.org/x/net in the go_modules group (#1080)
Bumps the go_modules group with 1 update: [golang.org/x/net](https://github.com/golang/net).


Updates `golang.org/x/net` from 0.35.0 to 0.36.0
- [Commits](https://github.com/golang/net/compare/v0.35.0...v0.36.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  dependency-group: go_modules
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-31 11:44:16 +02:00
dependabot[bot]
ac3f46e549
chore(deps): bump the all group with 5 updates (#1084)
Bumps the all group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [actions/download-artifact](https://github.com/actions/download-artifact) | `4.1.9` | `4.2.1` |
| [actions/setup-go](https://github.com/actions/setup-go) | `5.3.0` | `5.4.0` |
| [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4.6.1` | `4.6.2` |
| [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) | `6.5.1` | `6.5.2` |
| [actions/cache](https://github.com/actions/cache) | `4.2.2` | `4.2.3` |


Updates `actions/download-artifact` from 4.1.9 to 4.2.1
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](cc20338598...95815c38cf)

Updates `actions/setup-go` from 5.3.0 to 5.4.0
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](f111f3307d...0aaccfd150)

Updates `actions/upload-artifact` from 4.6.1 to 4.6.2
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](4cec3d8aa0...ea165f8d65)

Updates `golangci/golangci-lint-action` from 6.5.1 to 6.5.2
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](4696ba8bab...55c2c1448f)

Updates `actions/cache` from 4.2.2 to 4.2.3
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](d4323d4df1...5a3ec84eff)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-31 11:43:57 +02:00
dependabot[bot]
9c23c69db0
chore(deps-dev): bump vite (#1085)
Bumps the npm_and_yarn group with 1 update in the /webapp directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).


Updates `vite` from 6.2.2 to 6.2.3
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.2.3/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.2.3/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-31 11:43:44 +02:00
dependabot[bot]
687b079817
chore(deps): bump the all group with 5 updates (#1083)
Bumps the all group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [actions/download-artifact](https://github.com/actions/download-artifact) | `4.1.8` | `4.1.9` |
| [actions/setup-node](https://github.com/actions/setup-node) | `4.2.0` | `4.3.0` |
| [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) | `6.5.0` | `6.5.1` |
| [actions/cache](https://github.com/actions/cache) | `4.2.1` | `4.2.2` |
| [codecov/codecov-action](https://github.com/codecov/codecov-action) | `5.3.1` | `5.4.0` |


Updates `actions/download-artifact` from 4.1.8 to 4.1.9
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](fa0a91b85d...cc20338598)

Updates `actions/setup-node` from 4.2.0 to 4.3.0
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](1d0ff469b7...cdca7365b2)

Updates `golangci/golangci-lint-action` from 6.5.0 to 6.5.1
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](2226d7cb06...4696ba8bab)

Updates `actions/cache` from 4.2.1 to 4.2.2
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](0c907a75c2...d4323d4df1)

Updates `codecov/codecov-action` from 5.3.1 to 5.4.0
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](13ce06bfc6...0565863a31)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-17 12:05:56 +01:00
Felipe Martin
1f309469c5
feat: reverts message in json output and allows configuration (#1082)
* feat: allow future deprecated message response with config

* tests: middleware

* fix: middleware order

* fix: frontend using message in body

* fix: cors

* feat: modify response type with header

* fix(webapp): added new headers

* dist: updated webapp files

* test(e2e): fixes

* fix: middleware returning body for 204 requests

* fix: frontend apis

* tests: cors middleware
2025-03-16 19:09:28 +01:00
Felipe Martin
d41981861c
feat: add apis to handle bookmark tags (#1081)
* feat: add tag search api

* feat: add apis to add/remove bookmark tags

* chore: removed debug logger

* docs: updated swagger

* test: added tests

* test: invalid ids

* feat: webapp v2

* chore: updated swagger

* fix: route params missing

* feat: added cors middleware

* feat: built api implementation

* feat: implemented login in webapp

* feat; dark mode in web app

* feat: labels + i18n

* refactor: remove custom message output in json apis

* docs: updated swagger

* chore: make lint

* chore: make styles

* fix: include new webapp dist files (for now)
2025-03-15 21:28:26 +01:00
Felipe Martin
21165aa2e7
feat: allow tag filtering and count retrieval via api v1 (#1079)
* fix: frontend url to retrieve bookmark count

* chore: unneeded type in generic

* feat: allow tag filtering and count retrieval

* fix: make styles

* fix: make swagger

* fix: make swag

* tests: refactored gettags tests

* fix: initialise tags empty slice
2025-03-12 23:10:50 +01:00
Felipe Martin
cdc13edb77
feat(apiv1): refactor tags api (#1075)
* refactor: tags api into v1 api

* feat: tags api huge refactor

* fix: pg & sqlite tests

* tests: added more tests

* fix: bug on mysql bookmark and tag creation

* test: re-enabled test

* tests: slices test

* tests: model bookmarks

* test: use filepath.Join for path construction in bookmark tests
2025-03-11 17:37:08 +01:00
Artem Chernyak
cac1ba89b7
docs: improve kubernetes deployment docs (#1065)
Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
2025-03-08 08:35:54 +01:00
Felipe Martin
378e63320f
deps: update to go 1.23.6 with dependencies (#1071)
* deps: update to go 1.23.6 with dependencies

* chore: updated alpine to 3.21
2025-03-01 10:10:41 +01:00
Felipe Martin
30b3ed7a85
chore: added some branding logos (#1072) 2025-03-01 09:54:59 +01:00
dependabot[bot]
ccdc1decc6
chore(deps): bump the all group with 3 updates (#1066)
Bumps the all group with 3 updates: [actions/setup-node](https://github.com/actions/setup-node), [actions/upload-artifact](https://github.com/actions/upload-artifact) and [actions/cache](https://github.com/actions/cache).


Updates `actions/setup-node` from 4.1.0 to 4.2.0
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](39370e3970...1d0ff469b7)

Updates `actions/upload-artifact` from 4.5.0 to 4.6.1
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.5.0...4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1)

Updates `actions/cache` from 4.2.0 to 4.2.1
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](1bd1e32a3b...0c907a75c2)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-01 09:35:08 +01:00
Felipe Martin
f6279ecef4
fix: pwa display on phones with pills (#1070)
* fix: menu buttons on mobile with pill

* fix: use all viewport for archive content

* chore: remove refresh button
2025-03-01 09:34:46 +01:00
Felipe Martin
514df1e8ab
fix: auth validation on existing sessions, rely on token only (#1069)
* chore: use http.NoBody

* fix: remove cookie token on logout

* fix: remove token cookie on middleware and redirect

* fix: frontend sets cookie token if authenticated

* refactor: remove session-id, rely on token only

* docs: make swagger

* fix: redirect

* fix: archive route handler

* fix: properly unset cookie
2025-02-28 20:30:07 +01:00
Felipe Martin
876d27f337
refactor: remove gin and use stdlib http server (#1064)
* refactor: base http server stdlib

* refactor: swagger and frontend routes

* fix: use global middlewares

* refactor: removed gin from testutils

* fix: object references in legacy webserver

* refactor: legacy, swagger and system handlers

* fix: added verbs to handlers

* fix: server handlers ordering

* refactor: bookmarks handlers

* refactor: system api routes

* tests: bookmark handlers

* refactor: migrated api auth routes

* chore: remove unused middlewares

* docs: add swagger docs to refactored system api

* chore: remove old auth routes

* refactor: account apis

* chore: removed old handlers

* fix: api v1 handlers missing middlewares

* refactor: migrated tag list route

* refactor: bookmark routes

* refactor: remove gin

* chore: make styles

* test: fixed tests

* test: generate binary file without text

* fix: global middleware missing from system api handler

* fix: incorrect api handler

* chore: avoid logging screenshot contents

* tests: bookmarks domain

* tests: shortcuts

* test: missing tests

* tests: server tests

* test: remove test using syscall to avoid windows errors

* chore: added middlewares
2025-02-26 20:50:48 +01:00
Felipe Martin
73a5239753
refactor(apiv1): accounts api (#825)
* list account and create account

* deleteaccount (wip)

* remove old accounts code

* fix from merge

* remove serve method from makefile

* ListAccounts, password hash on domain

* make lint

* more permissive assertion

* rename test

* update account

* Authorization

* updated api calls

* apis, pointers, auth

* swagger

* stylecheck

* domain validation

* tests

* swagger

* error handling

* fix system account changes

* Cleanup database interface

* test cleanup

* fixed nil references

* feat: Add logout endpoint to auth routes

* feat: Add logoutHandler for stateless JWT token logout

* fixed some bug catched in tests

* auth/account patch

* prettier

* remove test logs

* fixed incorrect number of parameters

* fixed swagger docs

* enable swagger in dev environment

* errors.Wrap -> fmt.Errorf

* test: Add comprehensive test cases for accounts API handlers

* fix: Resolve test failures in accounts_test.go

* test: Add tests for duplicate username handling in account creation and update

* feat: Add username uniqueness checks for account creation and update

refactor: Improve username existence checks in SQLite account methods

* linted

* test: Add comprehensive tests for auth domain token and credential validation

* test: Add comprehensive test cases for auth domain token creation and validation

* test: Add comprehensive error handling test cases for accounts domain

* refactor: Remove `SaveAccountSettings` method from database implementations

* test: Add test cases for password update functionality

* test(e2e): auth login

* lint

* send regular context to domain

* fixed e2e auth tests

* test: Add auth_test.go for end-to-end authentication testing

* feat: Add comprehensive authentication tests using Playwright and testcontainers

* fix: Handle multiple return values in Playwright test methods

* error message

* e2e playwrigth tests

* ci: setup playwrigth

* refactor: Update Playwright tests to use locator-based API

* refactor: Remove unnecessary alias for playwright-go expect import

* refactor: Replace deprecated expect package with WaitFor() method in Playwright tests

* fix: Resolve linting issues in e2e Playwright tests

* remove npm ci from e2e ci

* make playwright available in path

* typo

* re enabled ci

* base e2e accounts test

* more account e2e

* feat: Add HTML test reporter with screenshots and detailed results

* feat: Embed screenshots as base64 in HTML test report

* refactor: Remove GitHub step summary functionality from test helper

* refactor: Make reporter global to share test results across test helpers

* refactor: Add HandleSuccess method to TestHelper for consistent test result reporting

* feat: Add descriptive messages to all test assertions in TestHelper

* test: Add descriptive messages to assertions in accounts_test.go

* test: Add descriptive error messages to assertions in accounts_test.go

* feat: Add descriptive messages to assertions in accounts_test.go

* refactor: Update assertion functions to receive *testing.T as first argument

* refactor: Update accounts_test.go assertions to pass *testing.T argument

* refactor: Update accounts_test.go assertions to use *testing.T argument

* refactor: Update `accounts_test.go` to use `*testing.T` argument in `Require()` calls

* refactor: Update `th.Require()` calls with `t *testing.T` argument in accounts_test.go

* assert helper

* refactor: Refactor `False` test helper to use `Assert` function consistently

* refactor: Refactor `Equal` test helper to use `Assert` function

* refactor: Simplify Error test helper to use Assert function

* refactor: Refactor `NoError` to use `Assert` function for consistent error handling

* typo

* refactor: Differentiate between test cases and assertions in reporter

* refactor: Simplify AddResult method signature and use error message for assertion

* refactor: Simplify test report with focused failure details and screenshots

* refactor: Ensure assertions are always called in PlaywrightRequire helper methods

* refactor: Update test error messages to be action-oriented

* refactor: Update error messages to be more action-oriented in accounts_test.go

* refactor: Update error messages to be action-oriented in accounts_test.go

* refactor: Improve error messages in auth_test.go for better test readability

* refactor: Improve screenshot handling and test result reporting in Playwright test helper

* fix: Improve test reporting with detailed error messages and logging

* refactor: Remove unused runningInCI field from TestHelper struct

* fix: Improve message formatting in Assert method for better reporting

* assertions

* test: Add `Require()` calls to 007 test for improved error handling

* refactor: Update test reporter to include error details and improve HTML rendering

* fix: Properly escape and render base64 screenshot in HTML report

* fix: Correct base64 screenshot rendering in test reporter

* fixed tests + html report

* feat: Add artifact upload for e2e test report

* make lint

* chore: use correct version in user agent

* ci: run e2e after other checks

* chore: remove pre-commit
2025-02-22 20:38:36 +01:00
Federico Scodelaro
07819b59b9
feat: add PWA support share functionality (#1060)
* feat: Add manifest file

* fix: Embed webmanifest file

* fix: use standalone mode, not fullscreen

* feat: Open add dialog by default if share query params are present

* fix: Use relative url in manifest to allow subfolder

* fix: Remove missing icon

* fix: Repĺace current history entry if sharing

* chore: Make query params consistent

* feat: Add more pwa icons

* fix: js prettier

---------

Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
Co-authored-by: Felipe M. <me@fmartingr.com>
2025-02-22 20:03:12 +01:00
dependabot[bot]
775f8e8a25
chore(deps): bump the all group with 2 updates (#1061)
Bumps the all group with 2 updates: [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) and [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action).


Updates `golangci/golangci-lint-action` from 6.3.1 to 6.5.0
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](2e788936b0...2226d7cb06)

Updates `goreleaser/goreleaser-action` from 6.1.0 to 6.2.1
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](9ed2f89a66...90a3faa9d0)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: goreleaser/goreleaser-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-22 10:11:05 +01:00
dependabot[bot]
e2e805b471
chore(deps): bump the all group across 1 directory with 6 updates (#1059)
Bumps the all group with 6 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [actions/setup-go](https://github.com/actions/setup-go) | `5.2.0` | `5.3.0` |
| [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) | `6.1.1` | `6.3.1` |
| [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4.5.0` | `4.6.0` |
| [actions/setup-python](https://github.com/actions/setup-python) | `5.3.0` | `5.4.0` |
| [codecov/codecov-action](https://github.com/codecov/codecov-action) | `5.1.2` | `5.3.1` |
| [cross-platform-actions/action](https://github.com/cross-platform-actions/action) | `0.26.0` | `0.27.0` |



Updates `actions/setup-go` from 5.2.0 to 5.3.0
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](3041bf56c9...f111f3307d)

Updates `golangci/golangci-lint-action` from 6.1.1 to 6.3.1
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](971e284b60...2e788936b0)

Updates `actions/upload-artifact` from 4.5.0 to 4.6.0
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](6f51ac03b9...65c4c4a1dd)

Updates `actions/setup-python` from 5.3.0 to 5.4.0
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](0b93645e9f...42375524e2)

Updates `codecov/codecov-action` from 5.1.2 to 5.3.1
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](1e68e06f1d...13ce06bfc6)

Updates `cross-platform-actions/action` from 0.26.0 to 0.27.0
- [Release notes](https://github.com/cross-platform-actions/action/releases)
- [Changelog](https://github.com/cross-platform-actions/action/blob/master/changelog.md)
- [Commits](a0672d7f6d...fe0167d808)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: cross-platform-actions/action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
2025-02-15 09:04:58 +01:00
Robert Silén
c9ed8eec5a
docs: add mariadb in readme (#1052)
Add MariaDB to README as suggested in #1051
2025-02-15 08:38:48 +01:00
Felipe Martin
a9a45cc2ce
test: test all supported engines on their oldest supported releases (#1050)
* test: test all supported engines on their oldest supported releases

* update pre-hook file

* update mysql container options
2025-01-05 09:07:24 +01:00
Pr0m1x
b9db270816
fix: incorrectly set cookie's expires value in login.js (#1049) 2025-01-03 09:16:52 +01:00
Felipe Martin
c58c35509b
feat: improve SQLite performance (#1024)
* refactor: Improve SQLite performance with connection pooling and retry logic

* feat: Add withTx and withTxRetry methods to SQLiteDatabase for handling database locks

* refactor: add Init command to all databases

* refactor: Improve transaction handling with retry and error management

* refactor: Remove panic/recover pattern in transaction handling

* refactor: Replace `errors.WithStack` with `fmt.Errorf` in transaction methods

* docs: Add docstrings to `withTx` and `withTxRetry` methods in SQLite database implementation

* feat: use new withTxRetry in SaveBookmarks

* feat: sqlite inmmediate transactions by default

* refactor: Split SQLiteDatabase into separate writer and reader dbbase instances

* refactor: Update Init method to configure both reader and writer database connections

* feat: use writer/reader sqlite databases

* refactor: Replace all read calls to use the `reader` database instance

* refactor: Replace errors.WithStack with fmt.Errorf and add nil checks

refactor: Replace errors.WithStack with fmt.Errorf and add proper error handling

fix: Handle potential database connection errors with improved error wrapping

refactor: Replace errors.WithStack with fmt.Errorf and improve error handling

refactor: Replace error handling with fmt.Errorf and proper nil checks

refactor: Replace errors.WithStack with fmt.Errorf and add nil error checks

refactor: Replace errors.WithStack with fmt.Errorf and add nil checks in sqlite.go

refactor: Replace errors.WithStack with fmt.Errorf and add nil checks

refactor: Replace errors.WithStack with fmt.Errorf and improve error handling

refactor: Replace remaining errors.WithStack with fmt.Errorf in sqlite.go

* refactor: Use withTxRetry for SetDatabaseSchemaVersion method

* fix: Simplify error handling in GetBookmark and GetAccount methods

* refactor: Remove duplicated non-nil error checks in sqlite.go

fix: duplicated non-nil checks

* tests: use testutil instead of a manual in memory sqlite db

* fix: openbsd sqlite connection
2025-01-02 09:46:39 +01:00
Felipe Martin
98b6b3f183
deps: upgrade golang dependencies (#1047) 2025-01-02 09:46:19 +01:00
Felipe Martin
45bd4d693f
feat: fixes to webroot feature and improvements to development using it (#1046)
* feat: Add nginx service to test shiori webroot configuration

chore: Update nginx configuration to resolve 502 gateway error

fix: Update SHIORI_WEBROOT to SHIORI_HTTP_ROOT_PATH in docker-compose

feat: Add debug log level flag to shiori service

refactor: Update docker-compose with simplified command and log configuration

fix: Change nginx port mapping from 80 to 8081

feat: Add volume for Go module cache in docker-compose

style: Add type attribute to script tags in index.html

feat: Update import statements to use RootPath variable in index.html

* docs: Update contribution guide with server and docker instructions

* docs: Add Docker and nginx documentation for local development

* test: IsValid()
2025-01-01 16:22:30 +01:00
Felipe Martin
d75de89701
fix: use mysql json default as expression (#1048) 2025-01-01 16:12:07 +01:00
Felipe Martin
e1e58289a2
fix: login redirect not working properly after component refactor (#1044)
* feat: Add secure destination URL handling for login redirect

* fix: rootpath on redirect to login

* fixed tests
2024-12-31 17:35:50 +01:00
dependabot[bot]
0b745c170b
chore(deps): bump the all group with 2 updates (#1036)
Bumps the all group with 2 updates: [actions/upload-artifact](https://github.com/actions/upload-artifact) and [codecov/codecov-action](https://github.com/codecov/codecov-action).


Updates `actions/upload-artifact` from 4.4.3 to 4.5.0
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](b4b15b8c7c...6f51ac03b9)

Updates `codecov/codecov-action` from 5.1.1 to 5.1.2
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](7f8b4b4bde...1e68e06f1d)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-31 10:24:29 +01:00
Ed Summers
f23c982ee3
fix: webroot not working in archive view (#1043)
Without this the archive page fails to render.
2024-12-31 09:27:31 +01:00
Artem Chernyak
8be5775313
docs(kubernetes): add tmp volume (#1040) 2024-12-31 09:22:56 +01:00
Felipe Martin
306487a145
ci: fix alpine latest not being built (#1035) 2024-12-22 19:29:08 +01:00
dependabot[bot]
93f21e933c
chore(deps): bump actions/setup-go from 5.1.0 to 5.2.0 in the all group (#1030)
Bumps the all group with 1 update: [actions/setup-go](https://github.com/actions/setup-go).


Updates `actions/setup-go` from 5.1.0 to 5.2.0
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](41dfa10bad...3041bf56c9)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
2024-12-22 14:15:18 +01:00
Felipe M.
a7f2ab6573
ci: fix buildx step for dependabots prs 2024-12-22 13:31:47 +01:00
Felipe Martin
52154f4585
ci: ignore build steps for dependabot (#1033)
* ci: ignore build steps for dependabot prs

* ci: Prevent delete-tag job for PRs from forks
2024-12-21 08:02:08 +01:00
dependabot[bot]
ed15f149d8
chore(deps): bump the go_modules group with 3 updates (#1027)
Bumps the go_modules group with 3 updates: [golang.org/x/crypto](https://github.com/golang/crypto), [golang.org/x/image](https://github.com/golang/image) and [github.com/docker/docker](https://github.com/docker/docker).


Updates `golang.org/x/crypto` from 0.23.0 to 0.31.0
- [Commits](https://github.com/golang/crypto/compare/v0.23.0...v0.31.0)

Updates `golang.org/x/image` from 0.16.0 to 0.18.0
- [Commits](https://github.com/golang/image/compare/v0.16.0...v0.18.0)

Updates `github.com/docker/docker` from 25.0.5+incompatible to 25.0.6+incompatible
- [Release notes](https://github.com/docker/docker/releases)
- [Commits](https://github.com/docker/docker/compare/v25.0.5...v25.0.6)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  dependency-group: go_modules
- dependency-name: golang.org/x/image
  dependency-type: direct:production
  dependency-group: go_modules
- dependency-name: github.com/docker/docker
  dependency-type: indirect
  dependency-group: go_modules
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-12 07:55:52 +01:00
Mel
c2821ff5fd
feat: allow import of newer pocket data export files in csv format (#1023)
* feat: allow import of newer pocket data export files in csv format

Signed-off-by: Mel <einebeere@gmail.com>

* fix: linter error

Signed-off-by: Mel <einebeere@gmail.com>

---------

Signed-off-by: Mel <einebeere@gmail.com>
Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
2024-12-11 22:56:39 +01:00
Felipe Martin
87bc7a87a5
feat: allow disabling swagger ui and disable it by default (#1026)
* feat: allow disabling swagger ui and disable by default

* chore: Add codecov configuration to disable GitHub PR annotations
2024-12-11 19:31:16 +01:00
Felipe Martin
4aa0f51f10
fix: postgresql migration not working with other languages (#1013)
* fix: word check on migration error

* refactor: Improve PostgreSQL migration error handling using error codes

* refactor: Improve PostgreSQL migration error handling and transaction management

* refactor: Remove unused compareWordsInString function and its tests

* style: Clean up migrations.go imports and comments

* style: Fix gofmt formatting in migrations.go

* chore: remove migrations_test file

* ci: address golangci-lint warning

* test: stop tests if creating database fails

* fix: ensure migration transaction is commited or rolled back
2024-12-11 13:10:56 +01:00
dependabot[bot]
7b6fad897b
chore(deps): bump the all group with 8 updates (#1021)
Bumps the all group with 8 updates:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `3.4.0` | `4.2.2` |
| [actions/setup-go](https://github.com/actions/setup-go) | `5.0.0` | `5.1.0` |
| [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) | `6.0.0` | `6.1.0` |
| [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4.4.0` | `4.4.3` |
| [actions/setup-python](https://github.com/actions/setup-python) | `4.7.0` | `5.3.0` |
| [actions/cache](https://github.com/actions/cache) | `4.1.0` | `4.2.0` |
| [codecov/codecov-action](https://github.com/codecov/codecov-action) | `4.6.0` | `5.1.1` |
| [cross-platform-actions/action](https://github.com/cross-platform-actions/action) | `0.25.0` | `0.26.0` |


Updates `actions/checkout` from 3.4.0 to 4.2.2
- [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.4.0...11bd71901bbe5b1630ceea73d27597364c9af683)

Updates `actions/setup-go` from 5.0.0 to 5.1.0
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v5...41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed)

Updates `goreleaser/goreleaser-action` from 6.0.0 to 6.1.0
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](286f3b13b1...9ed2f89a66)

Updates `actions/upload-artifact` from 4.4.0 to 4.4.3
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](50769540e7...b4b15b8c7c)

Updates `actions/setup-python` from 4.7.0 to 5.3.0
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](61a6322f88...0b93645e9f)

Updates `actions/cache` from 4.1.0 to 4.2.0
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](2cdf405574...1bd1e32a3b)

Updates `codecov/codecov-action` from 4.6.0 to 5.1.1
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](b9fd7d16f6...7f8b4b4bde)

Updates `cross-platform-actions/action` from 0.25.0 to 0.26.0
- [Release notes](https://github.com/cross-platform-actions/action/releases)
- [Changelog](https://github.com/cross-platform-actions/action/blob/master/changelog.md)
- [Commits](cdc9ee69ef...a0672d7f6d)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: goreleaser/goreleaser-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all
- dependency-name: cross-platform-actions/action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-10 20:36:26 +01:00
Felipe Martin
6ccd64f1e5
fix: login component behavior when logging out and refreshing the page (#1022)
* fix: Validate session on login component mount to prevent unnecessary login form

* fix: Replace non-existent `api/v1/auth/check` with `api/v1/auth/me`

* feat: Prevent login form flickering by conditionally rendering only when needed

* feat: Show login component after user logout

* fix: make styles
2024-12-09 14:34:45 +01:00