Commit graph

79 commits

Author SHA1 Message Date
Felipe Martin
4df7e1dd8e
feat: build css from less files locally (#735)
* build less using lessc and bun

* build

* make styles-check

* Added workflow to check updates

* avoid embed less files

* docs

* updated tests to reflect changes

* typo

* fixed archive page css

* call styles check on pull requests

* comments in style.less

* fix archive styles affecting other pages

* minify using clean-css

* Split archive.css and style.css

* Updated docs
2023-09-16 19:58:55 +02:00
Monirzadeh
f4817cb9c3
fix: Ensure bookmark files are correctly downloaded before deleting current ones (#683)
* generate ebook get dstPath

* Archive and ebook can recover if download faild

* recover thumb if download faild

* thumb image create just if image processing is sucssesful

* create epub in tmp if it sucssesful copy to destination

* archive file create in tmp if it successful move to destination

* move to destination as function

* update ebook download api and remove .epub from file name

* report faild item to user

* not show dialog if error not happen

* update thumbnail based on last status of bookmark fix #524

* better warning massage

Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>

* tmpFile without .epub

* MoveToDestination change to MoveFileToDestination

* return .epub

* log if downloadBookImage return error

* fix bug remove imgPath just if download last image be unsuccessful

* update old unit test

* add processing.go unit test

* small massage for report failded item to the user

* add some more unit test and samplefile

* use sample image in unit test

* use local sample file and unit test not need internet connection anymore

* update error to user and log that too

* add more comment

* update comment

* change variable name parentDir to dstDir

* more simpler error handling

* remove unneeded defer

* remvoe unneeded epubWriter.Close()

* more readable unit test in processing

* more readable unit test for ebooks

* delete all defer os.RemoveAll from unit tests

* Better comment

Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>

* Better Error output

Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>

* fix err.String() method

---------

Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
2023-08-20 18:20:13 +02:00
Felipe Martin
c5c7a5f600
Show version in login page (#652) 2023-07-21 09:25:19 +02:00
Felipe Martin
888d053b2d
Allow JWT authentication into legacy APIs (#651)
* typo: letter in login page

* httpconfig set defaults for secret key with warn

* allow new authentication in old api

* Updated warn log
2023-07-21 07:57:42 +02:00
Felipe Martin
a60dbf3dc5
Run legacy API and new API at the same time. (#648)
* config: backwards comptabile dir

* remove duplicated frontend

* frontend: move assets to assets folder

* legacy routes handler in gin

* templates and asset in different embed

* new routes

* frontend routes serve old views

* added DTO for account object

* api auth calls legacy handler

* frontend: handle new error messages

* frontend: update urls

* frontend: login using new api

* updated frontend tests

* chore: remove debug route

* create shiori/gopher user if no owner is present

* server as default command

* serve -> server

* refactored database logic, allow database url

* removed unused configuration

* storage docs

* refactor cli to use cfg and deps

* check errors only in server

* log fatal instead of os exit

* dont default data directory to current dir

* fixed sqlite path

* trigger build on prs

* avoid releasing if lint/test fails

* pull request condition

* event -> event_name

* Get correct pull request number

* added workflow to delete dangling tags

* fix: nil error checking

* set gin mode first

* set gin mode before initialization

* fix logger

* allow version bump from custom ref

* Updated matrix link to workspace
2023-07-19 18:25:41 +02:00
Felipe Martin
6f19c12c95
Start working on new REST API. Refactor logic in domains. (#497)
* added 404 template

* added auth domain

* added embed file for frontend

* added base config and dependencies

* added basic new http server

* added separated server command

* updated go modules

* removed modd file

* Added shortcut to send internal server error response

* Added JWT support to Auth Domain

* Added JWT support to API

* docs: added comments to response struct

* naming

* inline returns

* updated dependencies

* production logger

* bookmarks endpoint

* reverted old views api path

* frontend for api v1

* proper 404 error (not working atm)

* use response

* removed 404 html

* server error handler

* login and basic auth

* adjusted session duration

* properly retrieve tags

* properly delete bookmark

* cleanup

* archiver domain

* debug routes

* bookmark routes

* expiration by parameter

* move to logrus

* logout

* frontend cache

* updated dependencies

* http: migrated to gin

* linted

* Added version command

* unit tests, docs

* response test utils and tests

* remove logout handler

* auth

* createtag

* improved http test utilities

* assert message equals

* Remove 1.19 from test matrix

* moved api to v1 folder

* docs: contribute docs

* updated makefile

* updated usage docs

* warn in server command

* updaed docs with shiori version command

* Updated documentation

* deps: update
2023-07-17 14:30:18 +01:00
Monirzadeh
249f4b89c8
Initial Ebook Support (#623)
* generate ebook

* serve ebook file

* Update ebook.go not download same image twice anymore

* download ebook request api/ui part

* fix typo

* add stylesheet

* update hasEbook status

* download link update after ebook generate

update bookmark command in ui

* download ebook with bookmark title

* Apply suggestions from code review for better error handling

Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>

* Update internal/view/js/page/home.js fix typo

Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>

* import error lib and retuen missing error

* move ebook download action to update cache

* replace io/ioutil with io

* add missing error handling

* update Archive now always update ebook

* replace panic error with 404

* remove ebook with delete action

* add download ebook link to content page

* remove tags that not work correctly right now

* if file is pdf not generate ebook

* update style.css

* Revert "update style.css"

This reverts commit 519e10d6ce.

* remove download limit for api

* fix missing fmt.Errorf and change to errors.Wrap

* fix double panic

* return 404 if bookmark not exist

* change function name to GenerateEbook

* not isFatalErr anymore

* add unit test

* remove uneeded field for unit test

---------

Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
2023-07-09 08:29:32 +02:00
Monirzadeh
a4b92504b0
fix direction in RTL language (#615)
Co-authored-by: Felipe Martin <812088+fmartingr@users.noreply.github.com>
2023-06-11 21:18:12 +02:00
sdvcrx
3c1229d6ce
fix(frontend): prevent archive header covering up the archive content (#562) 2023-02-22 13:05:55 +01:00
Ryan Welch
1b03cc48d6
Reset page when searching for new tag (#550) 2023-01-10 12:46:13 +01:00
Felipe Martin
77269b7a64
feat(frontend): username autofocus on login (#519) 2022-10-16 12:17:02 +02:00
Felipe Martin Garcia
cba5046231
feat: session expire time from backend (#437)
* feat: session expire time from backend

Deduplicated logic from backend and frontend where we needed to take the
login checkbox into account for both back and front codebases. Now the
backend will send the frontend the expire time calculated only in one
place.

This is part of a multi-step process that will store sessions in
database, but this will ease the maintenance of this section for now.

* chore: remove test logger
2022-07-23 11:32:53 +02:00
Felipe M
2ca628b7fe
hotfix: fixes session duration from #346 2022-02-11 16:00:38 +01:00
Felipe Martin Garcia
d56993292b
fix: remember me session duration (#346)
- Default session duration is 1h
- Increased session duration (when remember me is checked) is
  increased to 30d.
2022-02-11 14:05:34 +01:00
Dean Jackson
a5cb2c6e40 Fix login autofill
Add <form> element, as some browsers won't autofill fields
not contained in form.

Remove username and password bindings, and explicitly read
inputs instead. Some browsers do not fire onChange events
when a field is autofilled for security reasons, so Vue
bindings don't register the change.

https://github.com/facebook/react/issues/1159#issuecomment-506584346
2019-12-13 08:36:16 +01:00
Ninh Pham
98353369f7
Fix: grid layout on dialog 2019-10-14 10:51:11 +07:00
Radhi Fadlillah
7a2bcacf51 Fix: hasArchive icon gone after update bookmark 2019-10-13 08:37:10 +07:00
Radhi Fadlillah
7d938f3893 Fix: checkbox in dialog doesn't work 2019-10-13 08:22:17 +07:00
Ninh Pham
ef248c8fc4
Fix: Bookmark content displays Invalid Date if database is PostgreSQL #201 2019-10-12 20:15:11 +07:00
Radhi Fadlillah
d2906b126a Fix wrong cookie path 2019-10-11 14:14:17 +07:00
Ninh Pham
e41cea6642
Fix: Safari does not accept document.baseURI for cookie path 2019-10-11 13:28:25 +07:00
Radhi Fadlillah
9e962f0b2d Fix: now cookie set per subpath #39 2019-10-07 15:33:32 +07:00
Radhi Fadlillah
99d27930ea Initial support for subpath #39 2019-10-07 13:38:40 +07:00
Radhi Fadlillah
3077c7fbb8 Use tab instead of spaces 2019-10-04 16:51:08 +07:00
Radhi Fadlillah
bf974facdc Add border around table in content view 2019-10-04 16:36:41 +07:00
Radhi Fadlillah
b315c48acf Fix content with double braces not rendered #171 2019-09-25 07:32:03 +07:00
Radhi Fadlillah
752d1ba4f6 In no-thumbnail mode, make margin more consistent 2019-09-24 21:59:17 +07:00
Radhi Fadlillah
a82b8820bd Add options to hide excerpt #166 2019-09-24 21:16:03 +07:00
Radhi Fadlillah
c77b17caf8 Use formatter in LESS files 2019-09-24 11:56:35 +07:00
Radhi Fadlillah
bccc70b3f8 Add option to hide thumbnail image #166 2019-09-24 09:47:50 +07:00
Radhi Fadlillah
531c66c955 When session expired and user login, return him to previous page 2019-08-29 16:14:19 +07:00
Radhi Fadlillah
3f43424af0 Make search result share-able by URL 2019-08-29 15:44:03 +07:00
Radhi Fadlillah
af2949b2d9 Tagged and untagged shouldn't be able to renamed 2019-08-27 20:50:40 +07:00
Radhi Fadlillah
abcdfc9d13 Fix failed to rename tag in web interface 2019-08-27 20:42:13 +07:00
Radhi Fadlillah
f50d0cca5d Better error handle in JS 2019-08-20 14:29:55 +07:00
Radhi Fadlillah
9616164356 Now session id can be put in cookie or http header 2019-08-13 22:13:38 +07:00
Radhi Fadlillah
86eb8d9a3e Make bookmark menu visible in mobile 2019-08-13 10:58:42 +07:00
Radhi Fadlillah
e55070ca77 Better style for empty bookmark message 2019-08-12 20:37:03 +07:00
Radhi Fadlillah
0c4d75f773 Add basic account level management 2019-08-12 19:57:18 +07:00
Radhi Fadlillah
326f04d19e Add icon to show if bookmark archived and public 2019-08-12 11:53:41 +07:00
Radhi Fadlillah
2cb95c1238 Now cache image will uses archive 2019-08-12 09:02:59 +07:00
Radhi Fadlillah
4e76288e09 Add method to exclude or include some tags 2019-08-11 15:55:31 +07:00
Radhi Fadlillah
11c6680397 Add options to keep title and excerpt when update 2019-08-10 20:13:13 +07:00
Radhi Fadlillah
20e89216f0 Add option to mark if bookmark archive is public 2019-08-08 20:16:25 +07:00
Radhi Fadlillah
54e02e5c76 Add edit URL on web interface 2019-08-08 11:00:48 +07:00
Radhi Fadlillah
36195dc202 Improve UX for renaming tags 2019-08-08 08:28:24 +07:00
Radhi Fadlillah
ea73eaff64 Add method for renaming tag 2019-08-07 23:30:17 +07:00
Radhi Fadlillah
690bda85f7 Make dialog closable using esc key 2019-08-07 17:38:53 +07:00
Radhi Fadlillah
dcef9162e4 Load initial page depending on submitted URL 2019-08-07 17:01:19 +07:00
Radhi Fadlillah
f79eb5c1dd Show localtime instead of UTC 2019-08-06 23:37:52 +07:00