Skip to content
Open
Show file tree
Hide file tree
Changes from 19 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
1c4ea14
fix: enforce first-party popup cap for ads
AlejandroAkbal Mar 20, 2026
a83dc82
refactor: add popup guard debug instrumentation
AlejandroAkbal Mar 20, 2026
6734b52
refactor: expose popup guard match reasons
AlejandroAkbal Mar 20, 2026
6c9ec6e
fix: harden popup cap state handling
AlejandroAkbal Mar 20, 2026
8c1dfa8
fix: prefer latest popup timestamp across tabs
AlejandroAkbal Mar 20, 2026
2e02ceb
fix: spend popup cap on first vendor attempt
AlejandroAkbal Mar 20, 2026
91eba7f
fix: exempt in-page push opens from popup cap
AlejandroAkbal Mar 20, 2026
85d891e
fix: defer ad arming until after first click
AlejandroAkbal Mar 20, 2026
e37699d
fix: ignore capped vendor click handlers
AlejandroAkbal Mar 20, 2026
e2b542b
chore: enable popup guard debug in development
AlejandroAkbal Mar 20, 2026
b5a0607
refactor: simplify popup cap guard
AlejandroAkbal Mar 20, 2026
beb5218
Revert "fix: defer ad arming until after first click"
AlejandroAkbal Mar 20, 2026
6edda36
fix: bypass popup guard for trusted app opens
AlejandroAkbal Mar 20, 2026
90820bf
chore: restore dev popup guard logs
AlejandroAkbal Mar 20, 2026
0cace6b
fix: exempt push provider opens from popup cap
AlejandroAkbal Mar 20, 2026
fe6d0a0
fix: treat hotsoz push redirects as in-page opens
AlejandroAkbal Mar 20, 2026
06177ee
chore: log skipped ad scripts while capped
AlejandroAkbal Mar 20, 2026
19cca55
refactor: centralize ad provider metadata
AlejandroAkbal Mar 20, 2026
db4bfe8
refactor: restore ad provider notes
AlejandroAkbal Mar 20, 2026
94bf27c
test: cover popup guard decisions
AlejandroAkbal Mar 21, 2026
92c9fda
fix: correct popunder provider URL
AlejandroAkbal Mar 21, 2026
f42c131
test: assert required popup cap duration
AlejandroAkbal Mar 21, 2026
3e88a92
fix: abort blocked ad popup fallbacks
AlejandroAkbal Mar 21, 2026
6644249
Merge remote-tracking branch 'origin/main' into fix/ad-popup-cap-30m
AlejandroAkbal Mar 21, 2026
6b4ffbb
test: cover popup guard browser flow
AlejandroAkbal Mar 22, 2026
38697f0
test: tighten capped popup browser assertions
AlejandroAkbal Mar 22, 2026
031a706
refactor: simplify ad provider flattening
AlejandroAkbal Mar 23, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion components/layout/FeedbackButton.vue
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import { project } from '@/config/project'

function handleClick(event: Event) {
window.open(`https://feedback.${project.urls.production.hostname}`, '_blank')
openTrustedWindow(`https://feedback.${project.urls.production.hostname}`, '_blank')
}
</script>

Expand Down
2 changes: 1 addition & 1 deletion components/pages/posts/post/PostSource.vue
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@
return
}

window.open(url, '_blank')
openTrustedWindow(url, '_blank')
}

function onMenuOpen() {
Expand Down
Loading