Kailash Nadh
17998fbff5
Refactor user auth models and permission checks.
...
- Move user models from `/models` to `internal/auth`.
- Move and refactor various permission check functions into `User.()`
- Refactor awkward `get, manage bool` function args into `Get|Manage` bitflags.
2025-04-05 00:19:27 +05:30
Kailash Nadh
a271bf54d5
Introduce per-campaign filter permissions. Closes #2325 .
...
This patch introduces new `campaigns:get_all` and `campaigns:manage_all`
permissions which alter the behaviour of the the old `campaigns:get` and
`campaigns:manage` permissions. This is a subtle breaking behavioural change.
Old:
- `campaigns:get` -> View all campaigns irrespective of a user's list
permissions.
- `campaigns:manage` -> Manage all campaigns irrespective of a user's list
permissions.
New:
- `campaigns:get_all` -> View all campaigns irrespective of a user's list
permissions.
- `campaigns:manage_all` -> Manage all campaigns irrespective of a user's list
permissions.
- `campaigns:get` -> View only the campaigns that have at least one list to
which which a user has get or manage access.
- `campaigns:manage` -> Manage only the campaigns that have at list one list
to which a user has get or manage access.
In addition, this patch refactors and cleans up certain permission related
logic and functions.
2025-03-31 16:39:42 +05:30
Kailash Nadh
a5f8b28cb1
Fix inconsistent behaviour in campaign scheduling on the UI.
...
- Fix status/button state management issues when `Send at` was toggled
under various scenarios.
- Allow paused campaigns to be edited and turned into scheduled campaigns.
- Add Cypress UI tests for unscheduling.
2025-03-31 13:00:51 +05:30
Kailash Nadh
fbc27ae4b2
Refactor UI time diff display function to prefix '-' on past dates.
2025-03-31 12:56:43 +05:30
Kailash Nadh
b18c7ad0fb
Fix incorrect loading spinner on the Lists UI. Closes #1822 .
2025-03-30 10:53:54 +05:30
dependabot[bot]
d1c964da4f
Bump vite from 5.4.12 to 5.4.15 in /frontend ( #2379 )
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 5.4.12 to 5.4.15.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.15/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v5.4.15/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-30 00:18:23 +05:30
Kailash Nadh
b8f50eafa3
Add support for domain allowlists in addition to blocklists. Closes #2230 .
...
This patch introduces a new `Domain allowlist` input in Settings -> Privacy UI
as a new tab alongside domain `Domain blocklist`. If any domains are entered
here, then only subscriptions/imports/additions of e-mails from those particular
domains are accepted. blocklist is mutually exclusive with allowlist when there
are values in the allowlist.
2025-03-29 23:31:34 +05:30
Kailash Nadh
0be7a79dac
Fix broken log rendering on importer UI.
2025-03-29 13:10:46 +05:30
dependabot[bot]
bc5b817554
Bump axios from 1.7.9 to 1.8.2 in /frontend ( #2347 )
...
Bumps [axios](https://github.com/axios/axios ) from 1.7.9 to 1.8.2.
- [Release notes](https://github.com/axios/axios/releases )
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md )
- [Commits](https://github.com/axios/axios/compare/v1.7.9...v1.8.2 )
---
updated-dependencies:
- dependency-name: axios
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-12 22:24:32 +05:30
dependabot[bot]
8dc5bc295c
Bump prismjs from 1.29.0 to 1.30.0 in /frontend ( #2345 )
...
Bumps [prismjs](https://github.com/PrismJS/prism ) from 1.29.0 to 1.30.0.
- [Release notes](https://github.com/PrismJS/prism/releases )
- [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md )
- [Commits](https://github.com/PrismJS/prism/compare/v1.29.0...v1.30.0 )
---
updated-dependencies:
- dependency-name: prismjs
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-12 10:53:59 +05:30
Kailash Nadh
2defef3857
Refactor SMTP name to always have email- prefix for consistency.
2025-02-14 18:38:47 +05:30
lcd1232
d055cc5311
Add support for selecting SMTP per campaign ( #2290 )
...
This patch adds a new optional `name` field to SMTP server config on the UI.
When a name is given to an SMTP server, it's initialized as a standalone messenger
which shows up as a sub-group item under the main "email" messenger
on the campaign page.
Co-authored-by: Kailash Nadh <kailash@nadh.in>
2025-02-11 22:41:45 +05:30
Sávio Ribeiro
2f5ab4c619
Display filename and milliseconds in timestamp on the logs admin UI ( #2280 )
2025-02-06 11:14:24 +05:30
dependabot[bot]
ad162c259a
Bump vite from 5.4.11 to 5.4.12 in /frontend ( #2268 )
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 5.4.11 to 5.4.12.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/v5.4.12/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v5.4.12/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-05 22:05:56 +05:30
Kunall Banerjee
d0321baf4f
fix: typo in callout under the settings page ( #2283 )
2025-02-04 09:21:08 +05:30
Kailash Nadh
ff19a34f30
Fix bounce meta JSON overflowing in the table on admin UI. Closes #1797 .
2025-01-20 00:17:33 +05:30
Kailash Nadh
3d383cd537
Make paused campaigns editable.
2025-01-19 16:40:25 +05:30
Kailash Nadh
61c6b7e15a
Add explicit Unschedule button on campaign UI.
2025-01-19 16:27:39 +05:30
Kailash Nadh
fd31ac6f58
Remove redundant send_later param in campaign POST/PUT.
2025-01-19 16:06:39 +05:30
Kailash Nadh
e2aa9c5350
Make media image background checkered to show transparency. Closes #2080 .
2025-01-13 12:32:46 +05:30
Shaun Warman
a5e56c3446
fix: forwardemail bounce processing invalid signature issue ( #2250 )
2025-01-10 10:40:21 +05:30
Kailash Nadh
50b296da08
Remove GitHub from OIDC shortcuts as it doesn't support OIDC. Closes #2235 .
2025-01-05 21:00:17 +05:30
Kailash Nadh
7bfbd6a856
Add all to subscriber deletion by query which broke with query validation. Ref: #2122 .
2024-12-04 22:07:54 +05:30
Kailash Nadh
a1291114d9
Replace broken indent JS lib with js-beautify. Closes #2182 .
2024-12-04 21:52:37 +05:30
Kailash Nadh
1c33d32b9e
Remove redundant event from bounces UI. Closes #1850 .
2024-12-04 21:16:48 +05:30
centja1
cb99d600aa
Fix loading of messengers from serverConfig on line 629 ( #2187 )
2024-12-03 13:40:31 +05:30
dependabot[bot]
882c49f1dd
Bump cross-spawn from 7.0.3 to 7.0.6 in /frontend ( #2169 )
...
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn ) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md )
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6 )
---
updated-dependencies:
- dependency-name: cross-spawn
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-19 10:14:02 +05:30
Kailash Nadh
0a27de16c6
Replace type field in user creation UI with radio-button for better usability.
2024-11-13 00:03:40 +05:30
Shaun Warman
cb8b54fd00
Add ForwardEmail (provider) bounce integration ( #2016 )
...
* Add ForwardEmail one-click SMTP form option.
* Add bounce webhook integration.
---------
Co-authored-by: Kailash Nadh <kailash@nadh.in>
2024-11-10 21:45:07 +05:30
Bowrna
03925821fb
Add % on campaign analytics pie chart hover ( #2124 )
...
Co-authored-by: Kailash Nadh <kailash@nadh.in>
2024-11-05 21:32:36 +05:30
pbence
5abf004655
fix dummy detection for OIDC client secret ( #2116 )
2024-10-29 10:36:17 +05:30
Kailash Nadh
5b3d6e2be0
Add first-time Super Admin setup UI on fresh install.
...
- Don't setup username+password from config file during fresh install.
- If `LISTMONK_ADMIN_USER` and `LISTMONK_ADMIN_PASSWORD` env vars are
set during `--install`, use them.
- Otherwise, render new username+password creation UI on `/admin/login`.
- Add Cypress tests.
2024-10-26 19:47:01 +05:30
Kailash Nadh
1e4b3a26f2
Separate get individual user and get all users queries.
2024-10-26 17:03:02 +05:30
Kailash Nadh
87db0d596b
Fix Cypress admin form test to support <codeflask> rendered HTML.
2024-10-26 13:27:45 +05:30
Kailash Nadh
9760d19b4d
Fix button focus/active styles on the UI.
2024-10-23 12:21:15 +05:30
Kailash Nadh
69de02ab6d
Restyle and simplify subscriber form UI with tabs.
2024-10-23 00:06:53 +05:30
Kailash Nadh
b5382b81a1
Add user UI frontend tests.
2024-10-22 23:11:15 +05:30
Kailash Nadh
b2866b1f12
Apply minor style changes and improvements to modals.
2024-10-22 23:10:16 +05:30
Kailash Nadh
74e77bd6e0
Add names to user form fields for testing.
2024-10-22 22:50:09 +05:30
Kailash Nadh
3fdf6fe31e
Add individual list permission checks on admin UI.
2024-10-22 21:37:19 +05:30
Kailash Nadh
13222b5eb9
Fix random timing related Cypress test failures (huh).
2024-10-20 23:50:06 +05:30
Kailash Nadh
29aa977e6a
Expand search input width on subscribers UI for smaller screens.
2024-10-20 23:50:06 +05:30
Kailash Nadh
6258fd5cee
Increase settings UI poll interval to reduce broken requests.
2024-10-20 23:50:06 +05:30
Kailash Nadh
0f785b7173
Fix Cypress tests to work with new auth and other UI changes.
2024-10-20 23:50:06 +05:30
Kailash Nadh
71f9e861e4
Show OIDC URL warning only when enabled on the UI.
2024-10-20 23:50:06 +05:30
Kailash Nadh
03744e0dde
Fix broken settings references on forms page
2024-10-20 23:50:06 +05:30
Kailash Nadh
cc71899e86
Add non-prod ODIC URL warning on admin settings UI.
2024-10-13 18:53:39 +05:30
Kailash Nadh
af06d2e462
Upgrade prismjs.
2024-10-13 18:16:43 +05:30
Kailash Nadh
3671a5254e
Update profile UI with new user data structures.
2024-10-13 17:03:58 +05:30
Kailash Nadh
ae2a386193
Add support for "list roles".
...
This commit splits roles into two, user roles and list roles, both of which
are attached separately to a user.
List roles are collection of lists each with read|write permissions, while
user roles now have all permissions except for per-list ones.
This allows for easier management of roles, eliminating the need to clone and
create new roles just to adjust specific list permissions.
2024-10-13 17:03:58 +05:30