0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-03-18 02:21:47 -05:00
Commit graph

29874 commits

Author SHA1 Message Date
Simon Backx
811f37e18a
Bumped used Portal version to v2.14.x
refs eac8fbfdfd
refs e7378520a0
refs https://github.com/TryGhost/Ghost/issues/14508
2022-10-05 18:11:06 +07:00
Simon Backx
41a0945592
🐛 Prevented member creation when logging in (#15526)
fixes https://github.com/TryGhost/Ghost/issues/14508

This change requires the frontend to send an explicit `emailType` when sending a magic link. We default to `subscribe` (`signin` for invite only sites) for now to remain compatible with the existing behaviour.

**Problem:**
When a member tries to login and that member doesn't exist, we created a new member in the past.

- This caused the creation of duplicate accounts when members were guessing the email address they used.
- This caused the creation of new accounts when using an old impersonation token, login link or email change link that was sent before member deletion.

**Fixed:**
- Trying to login with an email address that doesn't exist will throw an error now.
- Added new and separate rate limiting to login (to prevent user enumeration). This rate limiting has a higher default limit of 8. I think it needs a higher default limit (because it is rate limited on every call instead of per email address. And it should be configurable independent from administrator rate limiting. It also needs a lower lifetime value because it is never reset.
- Updated error responses in the `sendMagicLink` endpoint to use the default error encoding middleware.
- The type (`signin`, `signup`, `updateEmail` or `subscribe`) is now stored in the magic link. This is used to prevent signups with a sign in token.

**Notes:**
- Between tests, we truncate the database, but this is not enough for the rate limits to be truly reset. I had to add a method to the spam prevention service to reset all the instances between tests. Not resetting them caused random failures because every login in every test was hitting those spam prevention middlewares and somehow left a trace of that in those instances (even when the brute table is reset). Maybe those instances were doing some in memory caching.
2022-10-05 18:11:06 +07:00
Fabien "egg" O'Carroll
28de1720c1 🔒 Fixed magic link endpoint sending multiple emails
refs https://github.com/TryGhost/Team/issues/2024

Without validation it was possible to send a string of comma separated
email addresses to the endpoint, and an email would be sent to each
address, bypassing any rate limiting.

This bug does not allow for an authentication bypass exploit. It is purely a
spam email concern.

Credit: Sandip Maity <maitysandip925@gmail.com>
2022-10-05 10:28:13 +01:00
Rishabh
a631392a4f
Fixed anchor chart load for site without paid tiers
refs https://github.com/TryGhost/Team/issues/2019

- the anchor chart keeps showing the loading spinner for a site that has no paid tiers and the source attribution flag switched on.
- this was because it tries to load the the MRR chart by default, which doesn't has any data when paid tiers are disabled.
- updated the chart to use `total members` data when paid tiers is disabled
2022-10-04 12:07:38 +07:00
Ghost CI
f1dad0519c v5.17.1 2022-10-03 09:41:39 +01:00
Fabien 'egg' O'Carroll
1613470a8c
Used the higher of click count and open count for email open count (#15508)
fixes https://github.com/TryGhost/Team/issues/2017

We process clicks much faster than we process Mailgun events which can result in a higher click rater than open rate shown on the dashboard. This ensures that the open rate will never be lower than the click rate. This is a stopgap solution until we can get click events updating the opened_at time for email_recipients
2022-10-03 10:29:58 +02:00
Simon Backx
b80c2cd81b 🐛 Fixed broken activity feed and click filter
fixes https://github.com/TryGhost/Ghost/issues/15515

- The link relation of a member-click-event was still using the link_id as foreign key instead of redirect_id.
- The members_link_click_events table was renamed to members_click_events, but this change was not reflected in a recent change in the member model (which has the custom filters).
2022-10-03 09:52:24 +02:00
Ghost CI
a7556ad9ea v5.17.0 2022-09-30 16:00:36 +01:00
Rishabh
30efab8401 Fixed lint 2022-09-30 09:38:15 +05:30
Fabien 'egg' O'Carroll
45d65663f4
Simplified link tracking related tables naming (#15480)
- Removes superfluous "link" from table names
- Fixes type definititon of dropTables util
- Updates & renames models
- Noop existing migrations to avoid unnecessary work
2022-09-29 22:08:45 +01:00
Rishabh
579ca615f9 Refined member attribution wording 2022-09-30 01:27:26 +05:30
Djordje Vlaisavljevic
198e43daec Updated disabled state
refs https://github.com/TryGhost/Team/issues/1986
2022-09-29 20:49:53 +02:00
Djordje Vlaisavljevic
fb2f0b3d3b Updated the all sources modal grid
refs https://github.com/TryGhost/Team/issues/1986
2022-09-29 20:33:00 +02:00
Rishabh
fa2292806a Refined all sources list on dashboard
refs https://github.com/orgs/TryGhost/projects/77

- shows single selected column on the all referrer sources list in dashboard
2022-09-29 23:47:43 +05:30
Rishabh
5eae093b3c Cleaned up attribution widget on analytics page
- updates attribution widget on analytics page to work same as dashboard with data
2022-09-29 23:33:17 +05:30
Djordje Vlaisavljevic
40c66dae6a Made the attribution widget show if you don't have paid tiers
refs https://github.com/TryGhost/Team/issues/1986
2022-09-29 19:37:09 +02:00
Rishabh Garg
e3600d70ef
Added referrer attribution from request context (#15499)
closes TryGhost/Team#2007

- uses request context to add referrer source and medium for a new member
- uses integration name as referrer medium if exists
2022-09-29 22:31:48 +05:30
James Morris
8a6f082b14 Moving opened stats in row over if there are no clickes in post rows
- When there are no clicks, we are moving over the opened stats in it's place
- There shouldn't be too many times these mix so design should be ok

refs https://github.com/TryGhost/Team/issues/2000
2022-09-29 18:01:01 +01:00
James Morris
fd977479ee Tweaked up the analytics resources sections
refs https://github.com/TryGhost/Team/issues/1987
2022-09-29 17:38:50 +01:00
Simon Backx
648811690a Added email click tracking
no issue

Bumped flag to GA.
2022-09-29 18:14:15 +02:00
Simon Backx
58cabc68ec Fixed analytics button not working
no issue
2022-09-29 17:43:06 +02:00
James Morris
c44e7d1536 Improving the newsletter clicks table in post analytics
refs https://github.com/TryGhost/Team/issues/1984
2022-09-29 16:15:27 +01:00
Djordje Vlaisavljevic
aea7820487 Renamed files
refs https://github.com/TryGhost/Team/issues/1986
2022-09-29 16:45:56 +02:00
Simon Backx
0cd0fc838d
Added email track clicks column and cleaned up frontend checks (#15501)
fixes https://github.com/TryGhost/Team/issues/2008

- New column that stores email click tracking at the time it was created
- Improved frontend side checks for when to show analytics
2022-09-29 16:42:45 +02:00
Djordje Vlaisavljevic
22a75ba144 Updated dashboard mocks
refs https://github.com/TryGhost/Team/issues/1986
2022-09-29 16:23:50 +02:00
Djordje Vlaisavljevic
d2d34b1418 Updated all sources modal width
refs https://github.com/TryGhost/Team/issues/1986
2022-09-29 16:23:01 +02:00
Djordje Vlaisavljevic
d811bd512f Fixed modal footer
refs https://github.com/TryGhost/Team/issues/1986
2022-09-29 16:20:21 +02:00
Djordje Vlaisavljevic
9fa48613de Updated hover state for the anchor dropdown
refs https://github.com/TryGhost/Team/issues/1986
2022-09-29 16:14:58 +02:00
James Morris
9e51ba0c31 Removed the button labels from the post rows
refs https://github.com/TryGhost/Team/issues/1965
2022-09-29 15:07:37 +01:00
Djordje Vlaisavljevic
3fe51c8e9a Set max height for All sources modal
refs https://github.com/TryGhost/Team/issues/1986
2022-09-29 15:59:12 +02:00
James Morris
a9308e6394 Adding in new code to bring source attribution more in line
refs https://github.com/TryGhost/Team/issues/2001
2022-09-29 14:52:36 +01:00
Simon Backx
1a5ff8d53d
Added back button from editor to analytics (#15493)
fixes https://github.com/TryGhost/Team/issues/1992

When you edit a post via the editor, the back button on the top of the editor should go back to the analytics page and the status at the top should be removed.
2022-09-29 14:34:01 +02:00
Simon Backx
0c20950512 Cleaned up indentation in links-table.hbs 2022-09-29 13:05:55 +02:00
Simon Backx
061ae9c018 Added pagination to the links table on analytics page
refs https://github.com/TryGhost/Team/issues/1984
2022-09-29 13:02:49 +02:00
Fabien "egg" O'Carroll
a05ef5ef95 Updated newsletter attribution to use the name rather than slug
The slug from the fixtures is "default-newsletter" which doesn't correctly
reflect the name of most sites newsletters. Because we're using the URL
constructor it handles all of the URL encoding/decoding on both ends for us.
2022-09-29 11:52:25 +01:00
Simon Backx
99e6f8ddda Moved analytics page to separate component
refs https://github.com/TryGhost/Team/issues/1976
refs https://ghost.slack.com/archives/C02G9E68C/p1664446234131629

- @tracked properties in controllers are persisted, should use components instead
2022-09-29 12:41:16 +02:00
James Morris
9be863cc82 Tiny tweaks to styles for post analytics
- Made the source attribution table half and half
- Adjust the button hover for post rows

no issue
2022-09-29 11:06:29 +01:00
Daniel Lockyer
0a322574a8
Increased frequency of stale bot execution to hourly
- daily is a little to infrequent for us as it means new comments don't
  cause the issue/PR to be unlabeled as `stale` for up to 24hrs
- this commit increases the frequency to hourly
2022-09-29 16:10:49 +07:00
Djordje Vlaisavljevic
0d6946685e Updated design for multiple subs in sub box edge case
refs https://github.com/TryGhost/Team/issues/1986
2022-09-29 10:22:59 +02:00
Djordje Vlaisavljevic
d1c269b2e7 Updated the tooltip offset
refs https://github.com/TryGhost/Team/issues/1986
2022-09-29 09:25:59 +02:00
Rishabh
aa6f65ac22 Fixed disabled attribution category selector dropdown
- removes hardcoded disable on attribution category selector and uses calculated value instead
2022-09-29 12:17:45 +05:30
Rishabh
b3adaf26c5 Handled attribution table empty data on dashboard
- updates default dropdown based on availability of paid conversions or signups
- disables dropdown if data is missing for type of attribution
2022-09-29 11:17:02 +05:30
Rishabh
7e68bc172a Added empty state UI for attribution charts on dashboard
refs https://github.com/TryGhost/Team/issues/1986
2022-09-29 11:17:02 +05:30
Rishabh
f9215cbbe4 Refined attribution table unavailable source style
- updates legend color for Unavailable to match Others as a white transparent dot
2022-09-29 11:17:02 +05:30
Daniel Lockyer
16ada37358 Updated Stats-Service repository URL
- this package was moved from the Analytics repo so this needed updating
2022-09-29 11:55:08 +07:00
renovate[bot]
839a61bacd Update dependency @babel/plugin-proposal-decorators to v7.19.3 2022-09-29 11:47:34 +07:00
renovate[bot]
5176aa8a7b Update dependency @types/mocha to v10 2022-09-29 11:42:45 +07:00
Daniel Lockyer
6de598dec9
Loosened restrictions on GHA label-actions workflow
refs https://github.com/TryGhost/Toolbox/issues/381

- when using `pull_request`, the workflow doesn't have permissions to
  write to the PR in question
- there is another trigger - `pull_request_target` - but this comes with
  a heap of security warnings
- our use of it should be OK because we're only checking out our own
  Action and not code from the PR
- this commit also adds permissions to specify we only want write access
  to issues and PRs
2022-09-29 11:39:35 +07:00
renovate[bot]
68ad829e1f Update sentry-javascript monorepo to v7.14.0 2022-09-29 07:44:21 +07:00
James Morris
5299905851 Added in the static front-end of the pagination
refs https://github.com/TryGhost/Team/issues/1984
2022-09-28 18:18:45 +01:00