* sqlite migrate script
* create time just when bookmark added and modified update if change happen
* show added and modified time in footer instead of header
* add bun.lockb that missing
* add migrate for postgres
* add pg support of created time
* change modifed to modifed_at and create to created_at in sqlite
* change modifed to modifed_at and create to created_at in postgre
* add created_at to mariadb
* fix migration file names
* better variable name and more clear code for add modified time if created and modified is not in same day
* add unittest
* add unittest to sure filters work as expected
* index for created_at and modified_at
* build new styles.css
* update swagger documents
* make styles
* change Created and Modified to CreatedAt and ModifiedAt
* fix missing Modified
* fix typo
* missing Modified
* fix typo
* make swagger
* run tests parallel
Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
* remove t.Parallel()
* remove dayjs dependency and combine two function
* better unittest name
* fix typo
* diffrnt footer style for login and content page
* use class instead of id
* back parallel
* change duplicate url
* remvoe run Parallel
* make styles
---------
Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
* use thumbnail as ebook cover
* add TODO for improve that later
Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
---------
Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
* frontend
* fixed Database.DBx return value
* api endpoint
* updated swagger
* fix openbsd variable dereference
* tests
* only load information if user is owner
* memory improvement for other routes
* login page follow browser darkmode settings
* theme change based on selection in settings between follw system , light, dark
* content page follow settings and fix syntax error
* drop down menu color follow current theme
* version number follow theme in login page
* use footer instead of id for version
* replace space with tab
* move theme settings to the top of the list and fix typo
* remove duplicate code and use a function instead
* fix logic of change theme if you select follow system to not need reload anymore
* fix code style with make styles
* fix bug that eventlistener not remove when activate light or dark theme
* less js and add theme with patch by @fmartingr
* remove NightMode config and now everythings control with Theme
* error instead of log if invalid theme selected
Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
* remove unneeded part and update swagger documents
---------
Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
* fixed codecov action
* ignore coverage local files
* downgraded codecov to 4.4.0
* downgrade codecov action to 4.3.1
* pass through env
* 4.4.0 again
* 4.2.0
* 4.4.1 with cli 0.5.2
* down to 4.4.0
* cli as 0.4.0
* trying another way
* upgraded to 4.4.1 again
* check avx2 when use bun
* change enviroment variable to just BUN
* better massage
Co-authored-by: Mario Rugiero <mrugiero@gmail.com>
* simpler method
* add missing reverse if
* patch with @fmartingr to check that in linux only
---------
Co-authored-by: Mario Rugiero <mrugiero@gmail.com>
Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
* click on home will clear searchbox
* clearHome when mounted
* clearHomePage just when you are in homepage
* check clearHomePage signal out of clearHomePage method
* fix style
* deps: go to 1.22.3
* removed ci dockerfile
* add make buildx
* updated dockerfile
* ci uses make buildx command
* commented upx for the future
* disable openbsd/arm tests
* wip
* put dist file in dist path
* removed unused make command
* build-local to speed up local tests
* don't clean when buildx
* podman workaround
* manually define source files for tests
* remove dependencies that use syscall.Syscall*
OpenBSD will be removing direct access to `syscall(2)` soon.
Shiori will stop working because of this, as some of its dependencies
rely heavily on the use of `syscall.Syscall*`, which ends up using
`syscall(2)`. This commit removes those dependencies by reverting back
to use github.com/mattn/go-sqlite3 instead of modernc.org/sqlite to deal
with the sqlite database backend.
* add ~emersion/go-sqlite3-fts5
* enable cgo to check ci
* fts5 build flag
* split sqlite logic using build flags
* disable cgo again
* added ci test for bsd systems
* remove openbsd ci
* Revert "remove openbsd ci"
This reverts commit f394148385.
* fix makefile go_test_flags
---------
Co-authored-by: Felipe M <me@fmartingr.com>
Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
* feat: new migration system
* use newFuncMigration
* database version -> database schema version
* column name
* use path instead of filepath for goembed
* simplified migrations, added backwards compatible migrations
* add endpoint to serve readable content
* add id and modified time in response
* revert id and modified time
* remove public check status
* chnage 401 to 403
* add basic unittest for readable content
* check response in unittest
* update strcut name and move that above handler
* fix: finish connection once we send auth response
* removed interface for now
* handle authentication in each route group
* tags api tests
* typo
* testutil improvements
* bookmarks api auth
* cache update requires owner
* return corrent path in windows with usiing path lib
* ci: run tests in windows and macos too
* avoid testing mysql/psql in windows and macos
* windows & macos matrix
* disable gotestfmt
* replace which in shell script
* handle error in test db removal
* fix expected path baseed on platform
* add leading seprator
* proper temporary storage dir and db cleanup
* fix failed to create destination dir file does not exist in windows
* move temp to /tmp
* update temp folder
* fix config tests in windows
* apply patch for db
* revert temp dir creation.
* unify account db tests pach
* remove TmpDir for sqlite tests
* try to force CGO disable with enviroment variable
* Remove unneeded log
Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
* remove unneeded comment
Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
* fix file path for download images
* change way to create temp directory
* use diffrent file name for each test
* fix typo
* fix absolute path in successful download image
* correct filename with png
* change test to download image from internet instead of local machine
* remvoe unneeded import
* remove os.RemoveAll(.env)
* unify variable names in unit test
* return CGO_ENABLED=0
* test other way to set enviroment variable
* try to set enviroment variable sepratly in macos and windows
* set enviroment variable before run commands in windows
* fix windows test name
* combine two workflow for windows and macos again
* fix typo
* remove env
* change env path
* cleanup unneeded env
* general CGO_ENABLED environ
* use absolute path to run fileserver instead of relative
* serve file test from internet shiori repository
* check file existance after download and unify varibale name from temp to tmpDir
* remove unneeded log
---------
Co-authored-by: Felipe M <me@fmartingr.com>
Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>