-
Notifications
You must be signed in to change notification settings - Fork 19
Separate auth.confirm from welcome instructions completion tracking #893
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
df42d90 to
2621198
Compare
|
@copilot make sure welcome_instructions is using the welcome_controller and there's no logic in controller. there seem to be multiple ahoy events being created. default to the user callback. make sure a notification is being created for the devise mailer for welcome_instructions. |
Fixed in commit 2d5c48d:
All welcome_spec tests passing (16 examples, 0 failures) Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
Co-authored-by: maebeale <7607813+maebeale@users.noreply.github.com>
Co-authored-by: maebeale <7607813+maebeale@users.noreply.github.com>
…r event tracking - Remove AhoyTracking module from WelcomeController - Add track_confirmation callback to User model to track auth.confirm event - Make track_auth_event public in User model - Update WelcomeController to use user.track_auth_event instead of controller tracking - Fix form scope in welcome view to properly namespace user parameters - Fix redirect path to users_path after password set - Add verify_authorized override to skip authorization check for public welcome pages All welcome_spec tests now passing Co-authored-by: maebeale <7607813+maebeale@users.noreply.github.com>
- Add auth.welcome_instructions_completed event tracking when user completes welcome flow - Track this event both when user sets password AND when they skip password setup - Keep auth.confirm tracking separate (tracked when confirmed_at changes via User callback) - Add tests for auth.welcome_instructions_completed event in both scenarios Event flow now: 1. User visits invite link → auth.confirm tracked (via User model callback) 2. User sets password → auth.password_set + auth.welcome_instructions_completed tracked 3. User skips password → only auth.welcome_instructions_completed tracked This separates email confirmation tracking from welcome flow completion tracking Co-authored-by: maebeale <7607813+maebeale@users.noreply.github.com>
03f576b to
dd98f81
Compare
| community_news_index_path, | ||
| data: { turbo_frame: "_top"}, | ||
| class: "text-primary font-medium hover:underline" %> | ||
| class: "text-primary font-medium hover:underline", data: { turbo: false } %> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this solves an error in test
| <%= link_to "Read all news", | ||
| community_news_index_path, | ||
| class: "text-primary font-medium hover:underline" %> | ||
| class: "text-primary font-medium hover:underline", data: { turbo: false } %> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this solves an error in test
| <a href="<%= root_url %>" target="_blank"> | ||
| <%= image_tag( | ||
| "logo-color.png", | ||
| "logo-circle.png", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
changing the logo for all mailers w this pr
| <div class="flex items-center justify-center"> | ||
|
|
||
| <div class="w-full max-w-md bg-white rounded-2xl shadow-lg mt-8 p-8"> | ||
| <%= render "layouts/mailer/logo" %> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
using a mailer logo on a show page is suspect
What is the goal of this PR and why is this important?
Separate email confirmation tracking (
auth.confirm) from welcome flow completion tracking. Previously, only confirmation was tracked; now we can distinguish users who confirmed email vs. those who completed the welcome process (with or without setting password).How did you approach the change?
Added
auth.welcome_instructions_completedevent tracking inWelcomeController#update:auth.password_set)Event flow:
Updated tests to verify both tracking scenarios using
allow+expectpattern to handle multipleLifecycleBuffer.pushcalls.Anything else to add?
The three events (
auth.confirm,auth.password_set,auth.welcome_instructions_completed) are now independently trackable, enabling funnel analysis from invitation → confirmation → completion.Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
vite/usr/local/bin/ruby /usr/local/bin/ruby bin/rails assets:precompile 2067.pid -I 6_64-linux runtime-runc/mob-I /cc1 io.containerd.rugrep /usr/local/inclu-q -I /cc1 -I . de/ruby-4.0.0/x8-dD /usr/bin/as 6_64-linux io.containerd.ru--norc by/backward as(dns block)/usr/local/bin/bundle bundle exec rspec spec/requests/welcome_spec.rb --format documentation(dns block)/usr/local/bin/bundle bundle exec rspec spec/requests/welcome_spec.rb --format progress /run/containerd/io.containerd.runtime.v2.task/moby/800952a3bd2a06c26f55977954e6f0d43b4931b086189399cf66ec998f38c4e9/7f4a346c1a83f6421280059c95b727dacd7b7fab302cc021e54442328392338c.pid 800952a3bd2a06c26f55977954e6f0d43b4931b086189399cf66ec998f38c4e9 6c26f55977954e6fbash(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.