3042 Commits

Author SHA1 Message Date
c8ea4a43f3 add missing runs-on v2.1.5-rc.3 2025-01-20 15:14:28 +03:00
1bc64bf7ec use arm runners v2.1.5-rc.2 2025-01-20 15:11:26 +03:00
f621e589f4 no postmark message stream in ce 2025-01-20 15:10:45 +03:00
b2e9d4aa3a fix some ci errors 2025-01-16 20:20:04 +03:00
8a8b1db71e fix build v2.1.5-rc.1 2025-01-16 17:13:00 +03:00
effb1888ef release v2.1.5 v2.1.5-rc.0 2025-01-16 16:42:44 +03:00
5d13e7963b log mailer errors in ce (#4885) 2025-01-16 16:32:49 +03:00
10fcd6c859 Autogenerate text emails (#4674)
* autogenerate text emails

* fix export email formatting

* fewer changes

* add full text_body test

* eh

* cleanup

* explain

* remove recursive collapse_whitespace

* remove comment
2025-01-16 16:32:49 +03:00
c2c958ffb1 Remove trial mentions from site emails in CE (#4668)
* remove trial mentions from site emails in ce

* your

* fix test?
2025-01-16 16:32:45 +03:00
6b67abfc23 hide billings and upgrade from ce (#4897) 2025-01-16 16:29:53 +03:00
638f19c36a Delete .github/workflows/build-public-images.yml (#4917) 2025-01-16 16:29:53 +03:00
94fc29060f Add Plausible EE plugs in CE (#4694)
* add Plausible EE plugs in CE

* use bottom padding instead of spacer

* change wording, move it up in report template
2025-01-16 16:29:48 +03:00
5090515c80 Make BreakdownModal dimension column use up all remaining width (#4809) 2025-01-16 16:28:05 +03:00
77d840aad1 update mua (#4794) 2025-01-16 16:28:05 +03:00
8c69088834 remove @plausible.io contacts from CE (#4766) 2025-01-16 16:28:05 +03:00
74336ccf63 update ecto_ch to fewer parens version (#4775) 2025-01-16 16:28:05 +03:00
hq1
42ea7cdac7 Fix docs URL slug (#4707) 2025-01-16 16:28:05 +03:00
8858d5969c Improve boolean environment variables reading (#4632)
* improve bool env var reading

* add yes/no and tests
2025-01-16 16:26:50 +03:00
5fec52ab36 Release v2.1.4 (#4660) v2.1.4 2024-10-09 07:45:17 +00:00
f28a1b8086 Log Oban errors (and still report them to Sentry) (#4657)
* log oban errors in CE

* update changelog

* not just ce

* add comment
v2.1.4-rc.2
2024-10-08 10:26:35 +00:00
5ad743c8d3 APIv2: Comparisons for breakdowns, timeseries, time_on_page (#4647)
* Refactor comparisons to a new options format

Prerequisite for APIv2 comparison work

* Experiment with default include deduplication

* WIP

Oops, breaks `include.total_rows`

* WIP

* Refactor breakdown.ex

* Pagination fix: dont paginate split subqueries

* Timeseries tests pass

* Aggregate tests use QueryExecutor

* Simplify QueryExecutor

* Handle legacy time-on-page metric in query_executor.ex

No behavioral changes

* Remove keep_requested_metrics

* Clean up imports

* Refactor aggregate.ex to be more straight-forward in output format building

* top stats: compute comparison via apiv2

* Minor cleanups

* WIP: Pipelines

* WIP: refactor for code cleanliness

* QueryExecutor to QueryRunner

* Make compilable

* Comparisons for timeseries works

Except for comparisons where comparison window is bigger than source query window

* Add special case for timeseries

* JSON schema tests for comparisons

* Test comparisons with the new API

* comparison date range parsing improvement

* Make comparisons api internal-only

* typegen

* credo

* Different schemata

* get_comparison_query

* Add comment on timeseries result format

* comparisons typegen

* Percent change for revenue metrics fix

* Use defstruct for query_runner over map

* Remove preloading atoms
2024-10-08 10:13:04 +00:00
e7332d95b2 Change the "outgrown" copy (#4652)
* Update notice.ex

* Format

---------

Co-authored-by: Adam Rutkowski <hq@mtod.org>
2024-10-08 09:27:50 +00:00
799edec81c Trigger pageviews on pages loaded from bfcache (#4656)
* trigger pageview on pageshow with event.persisted

* update _tracking.html to do the same
2024-10-08 09:11:03 +00:00
hq1
2359cb920c Account settings w sidebar (#4654)
* Outline /settings/v2 fundamentals

* Add setting tiles stubs

* Bootstrap name change

* Bootstrap theme change

* Bootstrap security settings

* Use table component for listing sessions

* Disable current e-mail field

* Implement Danger Zone

* Deal with compilation warnings

* Implement "Subscription" section

* Implement invoices list

* Fix invoices empty state & add API keys

* Fix headings in Subscription section

* Fix API keys mobile view

* Fix subscription boxes width

* Fix formatting

* Move tests for settings WIP

* Adjust remaining tests and router placement

Include docs links in tiles, where applicable.

* Fix remaining routes and remove dead code

* Fix route in a live view where no @conn is available

* Update mobile view settings picker

* Format

* Fix subscription section headings

* Fix account e-mail on dark mode

* Delete unused template

* Fix mobile setting section picker

* Optimize Login Management tile for mobile

* Update invoices section with docs link

* Update copy

* Remove trailing dots from (sub)titles

* Fix CSV export padding for "exporting" state

* Align subscription status to the right

* Fix failing test

* Fix subscription status alignment once again

* Improve subscription mobile view a little

* Fixup test compilation 🙈

* Add extra margin to subscription status box

* Make cancel button in 2FA modals expand in mobile view

* Stats API only

* Capitalize "Current session" indicator

* Show "Show More" invoices button only when there's >12

* tiny change

* Update changelog

---------

Co-authored-by: Adrian Gruntkowski <adrian.gruntkowski@gmail.com>
Co-authored-by: Marko Saric <34340819+metmarkosaric@users.noreply.github.com>
2024-10-08 08:30:01 +00:00
4224f9d187 Fix revenue metrics for custom named goals (#4653)
Since https://github.com/plausible/analytics/pull/4415, revenue metrics
have not been correctly displayed on the dashboard if the goal name has
been renamed.
2024-10-07 08:18:46 +00:00
c8291639e5 default to invite_only in ce (#4616) v2.1.4-rc.1 2024-10-04 04:29:13 +00:00
hq1
6940281d66 Settings password reset (#4649)
* Enable exceptions when revoking all user sessions

* Add `User` changeset for changing password

* Make button in `2fa_input` component optional

* Implement password change from User Settings

* Add tests

* Fix 2FA modal cancel button formatting

* Update changelog

* Don't pass redundant params to `render_settings` and clean up code a bit

* Render one error per field in password reset form

* Refactor inline form 2FA validation

---------

Co-authored-by: Adrian Gruntkowski <adrian.gruntkowski@gmail.com>
v2.1.4-rc.0
2024-10-03 06:39:32 +00:00
35c8010078 Improve CheckUsage query perf (#4650) 2024-10-02 15:02:35 +00:00
hq1
ec2a560016 Rework settings UI (#4626)
* Update generic components library

* Import generic components via `PlausibleWeb`

* Update Settings/Danger Zone

* Update new shared link template and convert to heex

* Update site settings layout

* Update site settings sidebar tab layout

* Update Settings/Email Reports

* Update Funnels

* Update ComboBox

* Extend/update form components

* Update Modal live component

* Update Settings/Goals

* Update Shields

* Update Settings/Props

* Update Settings/Import & Export

* Update flow progress

* Import Routes in settings

* Update Billing components

* Update Billing notice component

* Update feature toggle component

* Update 2fa component

* Update verification markup

* Update installation

* Update Settings/Integrations/Plugins

* Update domain change markup

* Update Settings/General

* Update Settings/Integrations

* Update Settings/People

* Update Settings/Integrations/GSC

* Update Settings/Visiblity

* ukuwip

* ukuwip

* Tables & paddings

* Imports exports

* Brighten disabled input text color for dark mode

* Tune down table border/divider in dark mode

* Format

* Fix goal list on mobile

* Fix IP Shields table on mobile

* Fix country shields list on mobile

* Fix country shield list on mobile

* Fix page shields list on mobile

* Fix import/export settings on mobile

* Fix combobox dropdown background in dark mode

* Fix filter bar search input on mobile

* Revert @ukutaht's changes to goal list

* Maybe maybe maybe

* Revert the current prod goal list + fix mobile issues

* Format

* Revert tests change

cc @ukutaht

* Fix markup expectation in a test

* Set autocomplete="off" again

* Bring back `text-sm` where previously removed

---------

Co-authored-by: Uku Taht <uku.taht@gmail.com>
2024-10-02 09:05:21 +00:00
hq1
de04f222fd Update con_cache (#4642) 2024-10-01 09:11:46 +00:00
6822a4c54b Bump phoenix_live_reload from 1.4.1 to 1.5.3 (#4551)
Bumps [phoenix_live_reload](https://github.com/phoenixframework/phoenix_live_reload) from 1.4.1 to 1.5.3.
- [Changelog](https://github.com/phoenixframework/phoenix_live_reload/blob/main/CHANGELOG.md)
- [Commits](https://github.com/phoenixframework/phoenix_live_reload/compare/v1.4.1...v1.5.3)

---
updated-dependencies:
- dependency-name: phoenix_live_reload
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: hq1 <hq@mtod.org>
2024-10-01 06:50:31 +00:00
52437e8df0 Handle cross-device file move (#4640)
* handle cross-device file move

* don't change tests

* rm all the time

* no need to rm if rename succeeds

* don't raise in after
2024-09-30 16:16:36 +00:00
5c72de0155 Experimental pageleave events (#4624)
* add experimental pageleave script variant

* also send pageleave events on SPA navigation

* disallow goals with 'pageleave' event name

* do not count pageleaves towards the event metric

* remove duplication in test file

* do not update sessions on pageleave events

* ignore pageleaves in the current time_on_page implementation

* make pageleave events not billable

* rename function

* Prevent multiple pageleaves being sent at the same time
2024-09-30 12:52:40 +00:00
714c036757 Implement listing user sessions in user settings (#4588)
* Implement listing user sessions in user settings

* Make copy adjustments (h/t @metmarkosaric)

* Make warning button text color more consistent across user settings

* Add tests for `UserAuth.revoke_user_session/2`

* Test and improve `Auth.UserSessions`

* Test and improve controller actions

* Update CHANGELOG.md
2024-09-30 11:03:08 +00:00
7f361cf018 Make countries/regions/cities tooltips work (#4580)
Previously these tooltips said `Add filter: Country is undefined`
because new labels were yet to be in `query`.
2024-09-30 06:56:20 +00:00
88144ecdf6 start totp vault early (#4631) 2024-09-27 08:15:53 +00:00
d2e374ac8c release v2.1.3 (#4630) 2024-09-26 11:48:18 +00:00
cac4ad20c9 Allow configuring AuthorizeSiteAccess plug site param (#4597)
* Stop typescript command clearing previous server start output in dev

* Allow auth site access plug to specify that domain is found in request body at some key

* Fix init order

* Make domain retrieval part of the role pipeline

* Add tests

* Refactor how is_binary is applied in get_domain/2

* Make plug tests rely on dedicated test routes for more stability

* Consistently treat empty `allowed_roles` list as permitting all roles

* Fix async test param, add extra case for init

* Make `DocsQueryTest` async again

* Improve a bit and document plug configuration

* Make docs more legible when viewed from source directly

---------

Co-authored-by: Adrian Gruntkowski <adrian.gruntkowski@gmail.com>
2024-09-26 09:52:45 +00:00
2d7943aec8 Use :domain uniformly for all routes instead of :website (#4598)
* Replace :website with :domain in routes uniformly

* Remove support for :website parameter from `AuthorizeSiteAccess` plug
2024-09-26 08:20:35 +00:00
cb365c2fa0 set secure cookie if BASE_URL scheme is HTTPS (#4623) v2.1.3 2024-09-26 07:57:21 +00:00
87dac3b2ee Don't track custom events in CE (#4627) 2024-09-26 07:46:21 +00:00
356f50e9c8 Change cookie key in CE (#4621)
* use default sessions options in ce

* there is no RuntimeSessionAdapter anymore
2024-09-26 07:43:47 +00:00
9d997a74d6 Implement user notes in CRM and HelpScout integration (#4611)
* Implement user notes in CRM and HelpScout integration

* Update HS tests

* Make slight markup and styling changes
2024-09-25 14:56:33 +00:00
e11fd159df Add notes column to users table (#4612) 2024-09-25 14:21:26 +00:00
6981972617 Make invitations cleanup worker rely on UTC time (#4610) 2024-09-25 12:44:55 +00:00
hq1
3251b5bb33 Check usage for users with active/cancelled/past due subscriptions (#4607)
* Check usage for users with active/cancelled/past due subscriptions

So that over limit e-mails and grace period is handled
regardless - they're still subscribers.

* Ensure current subscription is fetched, for an ongoing plan

* Add extra test

* Revert "Ensure current subscription is fetched, for an ongoing plan"

This reverts commit 9ddc7bdccbd2b9e074fd19fcc2261cf13d93a6ac.

* Fixup test

* Reapply "Ensure current subscription is fetched, for an ongoing plan"

This reverts commit 7ab537954b1f40440e96c2ee5dfd4f1fe5ab393e.

* Do a subscription preload and assert ID match

* Use inner lateral join to fetch subscriptions
2024-09-25 11:27:12 +00:00
00dffb579c release v2.1.2 (#4483) v2.1.2 2024-09-25 11:26:16 +00:00
0094e8a20f rm unnecessary reject (#4615) 2024-09-24 18:50:53 +00:00
09c74ee0b3 Mua: support 465 port connections (#4606)
* mua: support 465 port connections

* allow port=465 but SMTP_HOST_SSL_ENABLED=false
v2.1.2-rc.1
2024-09-24 07:57:15 +00:00
dca2eb5b81 Update Ecto dumps (#4481)
* update Ecto dumps

* rm tmp tables from dump
2024-09-23 12:50:08 +00:00