Commit Graph

652 Commits

Author SHA1 Message Date
kolaente 811514855b
fix(metrics): make currently active users actually work
continuous-integration/drone/push Build is passing Details
2022-11-09 21:12:17 +01:00
kolaente a9e6776abf
fix(tasks): allow sorting by task index
continuous-integration/drone/push Build is passing Details
2022-11-09 14:43:31 +01:00
kolaente f9b48ec091
fix(filter): only check for 0 values in filter fields with numeric values
continuous-integration/drone/push Build is passing Details
2022-11-08 17:03:07 +01:00
kolaente 3b0b4a8460
fix(task): duplicate reminders when adding different ones between winter / summer time
continuous-integration/drone/push Build is failing Details
Resolves F-889
2022-11-08 16:50:19 +01:00
kolaente 2ef5e54588
fix(filter): also check for 0 values if the filter should include nulls
continuous-integration/drone/push Build is failing Details
Resolves https://community.vikunja.io/t/due-date-saved-filter-doesnt-seem-to-work/966
2022-11-08 16:27:16 +01:00
konrad 641a9da93d fix: usage with postgres over unix socket (#1308)
continuous-integration/drone/push Build is failing Details
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#1308
2022-11-04 12:25:06 +00:00
kolaente 622f2f0562
fix: look for the default bucket based on the position instead of the index
continuous-integration/drone/push Build is failing Details
2022-11-03 15:10:20 +01:00
kolaente c495096444
fix: make sure task indexes are calculated correctly when moving tasks between lists
continuous-integration/drone/push Build is failing Details
Resolves https://github.com/go-vikunja/api/issues/52
2022-11-02 17:40:52 +01:00
kolaente 9fc08a0790
fix(lists): return correct max right for lists where the user has created the namespace
continuous-integration/drone/push Build is passing Details
2022-10-25 18:54:11 +02:00
kolaente f5a33478f2
fix(migration): make sure importing works when the csv file has errors and don't try to parse empty values as dates
continuous-integration/drone/pr Build is passing Details
2022-10-09 22:58:08 +02:00
kolaente 0d044997df
fix(migration): expose ticktick migrator to /info 2022-10-09 22:45:01 +02:00
kolaente 5e40f4ec89
fix(migration): properly parse duration 2022-10-09 22:44:57 +02:00
kolaente 5871d32c2d
feat(migration): generate swagger docs 2022-10-09 22:44:54 +02:00
kolaente 3af9855148
feat(migration): add routes for TickTick migrator 2022-10-09 22:44:49 +02:00
kolaente e5394d6d4b
feat(migration): add TickTick migrator 2022-10-09 22:44:32 +02:00
kolaente b8769c746c
feat: allow a user to remove themselves from a team
continuous-integration/drone/push Build is passing Details
2022-10-09 16:39:40 +02:00
kolaente 2fc690a783
fix: make sure list subscriptions are set correctly when their namespace has a subscription already
continuous-integration/drone/push Build is passing Details
2022-10-07 14:18:36 +02:00
kolaente 008908eb49
fix: make sure a user can only be assigned once to a task
continuous-integration/drone/push Build is passing Details
See https://community.vikunja.io/t/task-can-be-assigned-twice-or-more-to-the-same-user/883
2022-10-06 18:22:19 +02:00
kolaente 631a265d2d
feat: add proper checks and errors to see if an attachment belongs to the task it's being used as cover image in
continuous-integration/drone/pr Build is passing Details
2022-10-05 15:12:29 +02:00
kolaente e113fe34d0
chore: generate swagger docs 2022-10-05 15:12:29 +02:00
kolaente 0eb47096db
fix: make cover image id actually updatable 2022-10-05 15:12:29 +02:00
kolaente 0e1904d50b
fix: make cover image id actually updatable 2022-10-05 15:12:29 +02:00
kolaente b4b25499f2
feat(task): add cover image attachment id property 2022-10-05 15:12:29 +02:00
kolaente 5a40100ac5
feat: provide default user settings for new users via config
continuous-integration/drone/push Build is passing Details
2022-10-02 11:00:58 +02:00
kolaente aed560339b
fix(todoist): properly import all done tasks
continuous-integration/drone/push Build is failing Details
2022-10-01 19:29:05 +02:00
kolaente c076f73a87
fix: make sure user searches are always case-insensitive
continuous-integration/drone/push Build is failing Details
See vikunja/frontend#2196 (comment)
Resolves https://github.com/go-vikunja/frontend/issues/29
2022-10-01 17:39:08 +02:00
konrad 53419180be feat: upgrade xorm (#1197)
continuous-integration/drone/push Build is failing Details
Reviewed-on: vikunja/api#1197
2022-10-01 15:10:00 +00:00
renovate c5bd09702a chore(deps): update dependency golang to v1.19 (#1228)
continuous-integration/drone/push Build is failing Details
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#1228
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-01 15:05:12 +00:00
kolaente fcb205a842
fix: use connection string for postgres
continuous-integration/drone/pr Build is passing Details
2022-10-01 16:57:06 +02:00
kolaente b1fd13bbcb
feat: upgrade xorm 2022-10-01 16:25:29 +02:00
kolaente 878d19beb8
fix: make sure pseudo namespaces and lists always have the current user as owner
continuous-integration/drone/push Build is passing Details
2022-10-01 15:19:46 +02:00
kolaente 96ed1e33e3
fix: don't allow setting a list namespace to 0
continuous-integration/drone/push Build is failing Details
See https://github.com/go-vikunja/app/issues/13
2022-10-01 15:02:17 +02:00
kolaente 45defebcf4
fix: tasks with the same assignee as doer should not appear twice in overdue task mails
continuous-integration/drone/push Build is passing Details
2022-09-30 18:35:40 +02:00
Luca Bernstein 3adfeb3b34 fix(namespaces): add list subscriptions (#1254)
continuous-integration/drone/push Build is failing Details
Add list subscriptions to namespaces call to enable frontend to show subscription state correctly.

Resolves https://github.com/go-vikunja/frontend/issues/75

Reviewed-on: vikunja/api#1254
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Luca Bernstein <luca@lucabernstein.com>
Co-committed-by: Luca Bernstein <luca@lucabernstein.com>
2022-09-29 09:49:24 +00:00
Luca Bernstein 54b7f7127c fix(caldav): no failed login emails for tokens (#1252)
continuous-integration/drone/push Build is passing Details
Prevent Vikunja from sending mail notifications for failed login attempts if CalDav token is used.

Before, as the provided password value was tested against the user password regardless of whether it was a CalDav token, it triggered a failed login attempt email every three times.

Reviewed-on: vikunja/api#1252
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Luca Bernstein <luca@lucabernstein.com>
Co-committed-by: Luca Bernstein <luca@lucabernstein.com>
2022-09-27 15:12:37 +00:00
Luca Bernstein 25609db567 fix(mail): pass mail server timeout (#1253)
continuous-integration/drone/push Build is failing Details
Fix error log for mailserver closing logic, as default timeout of 15 seconds of mail client package used triggers before our logic leading to error on close.

Resolves https://github.com/go-vikunja/api/issues/48

Reviewed-on: vikunja/api#1253
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Luca Bernstein <luca@lucabernstein.com>
Co-committed-by: Luca Bernstein <luca@lucabernstein.com>
2022-09-26 16:09:39 +00:00
Arie 090c67138a
fix: preserve dates for repeating tasks (#47)
continuous-integration/drone/push Build is passing Details
Reviewed-At: https://github.com/go-vikunja/api/pull/47
2022-09-16 17:20:08 +02:00
kolaente aaeffe925e
fix(caldav): make sure duration and due date follow rfc5545
continuous-integration/drone/push Build is failing Details
Related discussion: https://community.vikunja.io/t/error-with-davx-synchronization/810
2022-09-07 15:39:40 +02:00
kolaente c19479757a
fix: properly log extra message
continuous-integration/drone/push Build is failing Details
2022-09-01 14:19:00 +02:00
kolaente beb4d07cf9
fix: don't override saved filters
continuous-integration/drone/push Build is failing Details
2022-08-17 17:03:01 +02:00
kolaente 10ded56f66
fix: don't fail a migration if there is no filter saved
continuous-integration/drone/push Build is passing Details
2022-08-17 12:27:03 +02:00
kolaente 0c8bed4054 fix: lint
continuous-integration/drone/push Build is failing Details
2022-08-16 21:27:32 +00:00
kolaente 9ddd7f4889 fix: only list all users when allowed 2022-08-16 21:27:32 +00:00
kolaente 3047ccfd4a feat: add migration to change user ids to usernames in saved filters 2022-08-16 21:27:32 +00:00
kolaente 7f28865903 feat: search by assignee username instead of id 2022-08-16 21:27:32 +00:00
kolaente 8bf0f8bb57
fix: make sure generating blur hashes for bmp, tiff and webp images works
continuous-integration/drone/push Build is passing Details
2022-08-15 23:37:05 +02:00
kolaente 3ccc6365a6
fix: prevent moving a list into a pseudo namespace
continuous-integration/drone/push Build is passing Details
2022-08-15 23:25:39 +02:00
kolaente d47edac376
feat(mail): don't try to authenticate when no username and password was provided
continuous-integration/drone/push Build is failing Details
2022-08-03 13:41:42 +02:00
kolaente 77fafd5dc3
fix: lint
continuous-integration/drone/push Build is failing Details
2022-08-02 15:07:08 +02:00
kolaente 3688bbde20
fix: don't return email addresses from user search results
continuous-integration/drone/push Build is failing Details
2022-08-02 15:02:15 +02:00
kolaente c51ee94ad1
fix: return all users on a list when no search param was provided 2022-08-02 15:02:00 +02:00
kolaente 8f27e7e619
fix: properly decode params in url
continuous-integration/drone/push Build is failing Details
Resolves vikunja/api#1224
2022-08-02 14:50:03 +02:00
kolaente 382a7884be
fix: make sure to use user discoverability settings when searching list users
continuous-integration/drone/push Build is failing Details
Resolves vikunja/frontend#2196
2022-08-02 13:26:42 +02:00
kolaente 1feb62cc45
fix: lint
continuous-integration/drone/push Build is failing Details
2022-07-31 15:50:38 +02:00
kolaente dd461746a6
fix: add validation for negative repeat after values
continuous-integration/drone/push Build is failing Details
Partial fix for vikunja/frontend#2179
2022-07-21 15:00:28 +02:00
kolaente 0f555b7ec7
fix: reset id sequence when importing a dump from postgres
continuous-integration/drone/push Build is failing Details
2022-07-21 14:54:52 +02:00
kolaente 79b31673e2
fix: return 9:00 as default time for reminders if none was set
continuous-integration/drone/push Build is failing Details
Resolves vikunja/api#1211
2022-07-19 16:38:48 +02:00
kolaente 6e15d46a93
fix(restore): use the correct initial migration
continuous-integration/drone/push Build is failing Details
Related to vikunja/api#1199
2022-07-13 23:44:21 +02:00
kolaente 54348c5891
fix(restore): make sure to reset sequences after importing a dump when using postgres
Related to vikunja/api#1199
2022-07-13 23:43:53 +02:00
kolaente 596d2bf676
fix(restore): properly decode notifications json data
Related to vikunja/api#1199
2022-07-13 23:43:20 +02:00
kolaente ac92499b7d
fix(caldav): make sure description is parsed correctly when multiline
continuous-integration/drone/push Build is passing Details
Resolves https://github.com/go-vikunja/api/issues/35
2022-07-13 22:47:25 +02:00
kolaente b1892eaf63
fix(mail): set server name in tls config so that sending mail works with skipTlsVerify set to false
continuous-integration/drone/push Build is passing Details
2022-07-13 19:57:44 +02:00
kolaente c906fc2b07
fix(mail): don't try to authenticate against the mail server when no credentials are provided
continuous-integration/drone/push Build is passing Details
Related to https://github.com/go-vikunja/api/issues/34
2022-07-12 15:46:28 +02:00
kolaente 4bb77b5539
fix(mail): don't set a username by default
continuous-integration/drone/push Build is passing Details
2022-07-12 11:49:23 +02:00
kolaente 5743a4afe5
fix: properly set tls config for mailer
continuous-integration/drone/push Build is passing Details
2022-07-11 16:10:28 +02:00
kolaente 62325de9cd
feat: use actual uuids for tasks
continuous-integration/drone/push Build is failing Details
2022-07-11 14:54:33 +02:00
kolaente 5cc4927b9e
fix: add missing error check
continuous-integration/drone/push Build is passing Details
2022-07-07 23:23:15 +02:00
kolaente 2b074c60a7
fix(caldav): properly parse durations when returning VTODOs
continuous-integration/drone/push Build is failing Details
Resolves https://github.com/go-vikunja/frontend/issues/55
2022-07-07 23:20:37 +02:00
kolaente f5a4c136fb
fix: cycles in tasks array when memory caching was enabled
continuous-integration/drone/push Build is failing Details
Resolves #1119
2022-07-07 18:34:49 +02:00
kolaente 230478aae9
fix: remove credential escaping for postgres connections to allow for passwords with special characters
continuous-integration/drone/push Build is passing Details
Resolves https://github.com/go-vikunja/api/issues/22
2022-07-07 18:04:16 +02:00
kolaente 73c4c399e5
feat: use embed fs directly to embed the logo in mails
continuous-integration/drone/push Build is failing Details
2022-07-07 15:54:38 +02:00
kolaente 25ffa1bc2e
fix: prevent logging openid provider errors twice
continuous-integration/drone/push Build is failing Details
2022-07-07 15:47:37 +02:00
kolaente 4429ba2da1
fix(caldav): make sure the caldav tokens of non-local accounts are properly checked
continuous-integration/drone/push Build is failing Details
2022-07-04 18:08:46 +02:00
kolaente d0e09d69d0 fix: tests
continuous-integration/drone/push Build is failing Details
2022-06-30 14:21:17 +00:00
kolaente f30a9d1038 chore(docs): add new mailer option to docs 2022-06-30 14:21:17 +00:00
kolaente c62e26b6fe fix: revert renaming Attachments to Embeds everywhere 2022-06-30 14:21:17 +00:00
kolaente f4f8450d16 feat: embed the vikunja logo as inline attachment 2022-06-30 14:21:17 +00:00
kolaente 30e0e98f77 feat: migrate away from gomail 2022-06-30 14:21:17 +00:00
kolaente 01271c4c01
feat: allow only the authors of task comments to edit them
continuous-integration/drone/push Build is passing Details
2022-06-16 17:38:27 +02:00
kolaente d837f8a624
fix: add missing migration
continuous-integration/drone/push Build is passing Details
2022-06-16 16:56:35 +02:00
kolaente 8869adfc27
feat: add setting to change overdue tasks reminder email time
continuous-integration/drone/push Build is passing Details
2022-06-16 16:20:26 +02:00
kolaente 7eb3b96a44
feat: send overdue tasks email notification at 9:00 in the user's time zone
continuous-integration/drone/push Build is passing Details
2022-06-12 21:24:28 +02:00
kolaente 2f25b48869
feat: restrict max avatar size
continuous-integration/drone/push Build is passing Details
resolves #1171
2022-06-12 18:29:12 +02:00
konrad e52c45d5aa fix: sort tasks logically and consistent across dbms (#1177)
continuous-integration/drone/push Build is passing Details
This PR changes the behavoir of sorting tasks. Before, tasks were sorted with null values first. Now, null values are always sorted last which is usually what you want.

Partial fix for https://github.com/go-vikunja/frontend/issues/54

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#1177
2022-05-30 20:53:58 +00:00
grahammiln acaa85083f feat: ability to serve static files (#1174)
continuous-integration/drone/push Build is passing Details
Added the configuration key, `service.staticpath`, to serve files from the configuration path on root (/).

Serving static files allows the api service to also serve the frontend content. This is a simple option for deploying Vikunja without needing any other servers or proxies.

Running a complete instance becomes:

    VIKUNJA_SERVICE_STATICPATH=/path/to/frontend ./vikunja

Where `/path/to/frontend` is a copy of Vikunja's frontend static files.

## Implementation

Providing a path, via the configuration or environment, adds a static file middleware to serve the path's contents from root (/).

By default, the configuration path is empty and Vikunja's existing behaviour is unchanged.

Co-authored-by: Graham Miln <graham.miln@dssw.co.uk>
Reviewed-on: vikunja/api#1174
Reviewed-by: konrad <k@knt.li>
Co-authored-by: grahammiln <grahammiln@noreply.kolaente.de>
Co-committed-by: grahammiln <grahammiln@noreply.kolaente.de>
2022-05-23 20:49:28 +00:00
kolaente f5ebada913
fix: set derived default values only after reading config from file or env
continuous-integration/drone/push Build is passing Details
2022-05-23 22:12:15 +02:00
renovate 3ab0ac9f27 fix(deps): update module github.com/swaggo/swag to v1.8.2 (#1167)
continuous-integration/drone/push Build is passing Details
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#1167
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-05-15 19:57:00 +00:00
kolaente 9845fcc170
fix: add more methods to figure out the current binary location
continuous-integration/drone/push Build is passing Details
2022-05-08 21:54:26 +02:00
tuxthepenguin 4960a498ff Add client-cert parameters of the Go pq driver to the Vikunja config (#1161)
continuous-integration/drone/push Build is failing Details
Co-authored-by: tuxthepenguin <tux@saturnv.uphus-internal.de>
Reviewed-on: vikunja/api#1161
Reviewed-by: konrad <k@knt.li>
Co-authored-by: tuxthepenguin <tuxthepenguin@noreply.kolaente.de>
Co-committed-by: tuxthepenguin <tuxthepenguin@noreply.kolaente.de>
2022-04-23 15:46:00 +00:00
konrad e4b50e84a4 feat: add caldav tokens (#1065)
continuous-integration/drone/push Build is passing Details
# Description

This PR adds API routes to create and manage caldav tokens. These tokens can be used instead of a user password - required for users who are using external auth providers and don't have a password.

Fixes #842

Frontend: vikunja/frontend#1186

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#1065
2022-03-30 18:25:56 +00:00
kolaente de97fcbd12 fix: lint 2022-03-30 16:36:07 +00:00
kolaente d3bdafb717 fix: decoding images for blurHash generation 2022-03-30 16:36:07 +00:00
kolaente 6b51fae093 fix: return BlurHash in unsplash search results 2022-03-30 16:36:07 +00:00
kolaente ba2bdff391 chore: generate swagger docs 2022-03-30 16:36:07 +00:00
kolaente 7fa0865188 fix: lint 2022-03-30 16:36:07 +00:00
kolaente 6df865876d feat: return BlurHash for unsplash search results 2022-03-30 16:36:07 +00:00
kolaente 2ec7d7a8a8 feat: save BlurHash from unsplash when selecting a photo from unsplash 2022-03-30 16:36:07 +00:00
kolaente f83b09af59 feat: generate a BlurHash when uploading a new image 2022-03-30 16:36:07 +00:00
kolaente 362706b38d feat: add migration to create BlurHash strings for all list backgrounds 2022-03-30 16:36:07 +00:00
konrad 0a1d8c9404 feat: add date math for filters (#1086)
continuous-integration/drone/push Build is passing Details
This adds support for relative dates in filters, similar to the ones from [grafana](https://grafana.com/docs/grafana/latest/dashboards/time-range-controls) or [elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/7.3/common-options.html#date-math).

In short, it allows you to filter for due dates by passing in dates like "now - 7d" to get a date from 7 days ago.

This is a very powerful addition for saved filters as they will allow you to create filters for all kinds of stuff where you previously only could use fixed dates. Now you can for example create a saved filter for "all tasks this week".

Frontend PR: vikunja/frontend#1342

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#1086
2022-03-27 20:35:04 +00:00