From 5706280dd7eae7462cc524f36faf3ad6b2fdd1ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Jos=C3=A9=20Mata?= Date: Wed, 24 Sep 2025 00:19:51 +0200 Subject: [PATCH] More rebranding changes (#159) * Replace Maybe for Sure in select code areas * Make sure passwords are consistent * Remove (admin|member) from demo data first name * Database and schema names finally to `sure` * Fix broken test * Another (benchmarking) database name to `sure_*` * More rebranding to Sure * Missed this Maybe mention in the same page * Random nitpicks and more Maybes * Demo data accounts and more Maybes * Test data account updates * Impersonation test accounts * Consistency with `compose.example.yml` --- README.md | 4 ++-- app/controllers/concerns/self_hostable.rb | 2 +- app/controllers/subscriptions_controller.rb | 4 ++-- app/models/account.rb | 2 +- app/models/assistant/configurable.rb | 4 ++-- app/models/demo/generator.rb | 18 +++++++++--------- app/models/family_export.rb | 2 +- app/models/import/row.rb | 4 ++-- app/models/mobile_device.rb | 2 +- .../investments/balance_calculator.rb | 2 +- .../investments/security_resolver.rb | 2 +- .../transactions/category_matcher.rb | 2 +- app/models/provider/plaid.rb | 6 +++--- app/models/security/health_checker.rb | 2 +- app/models/simplefin_account/processor.rb | 4 ++-- app/models/user.rb | 2 +- app/views/chats/_ai_consent.html.erb | 6 +++--- app/views/chats/_ai_greeting.html.erb | 2 +- app/views/family_exports/new.html.erb | 2 +- .../_approval_bar.html.erb | 4 ++-- .../configurations/_trade_import.html.erb | 2 +- .../layouts/doorkeeper/application.html.erb | 2 +- app/views/onboardings/goals.html.erb | 4 ++-- app/views/onboardings/trial.html.erb | 12 ++++++------ .../pages/redis_configuration_error.html.erb | 8 ++++---- app/views/settings/api_keys/new.html.erb | 2 +- app/views/settings/preferences/show.html.erb | 2 +- app/views/shared/_app_version.html.erb | 2 +- app/views/subscriptions/upgrade.html.erb | 6 +++--- app/views/users/_user_menu.html.erb | 6 +++--- compose.example.yml | 6 +++--- config/application.rb | 2 +- config/cable.yml | 2 +- config/database.yml | 6 +++--- config/environments/test.rb | 2 +- config/initializers/sidekiq.rb | 4 ++-- config/initializers/version.rb | 2 +- config/routes.rb | 4 ++-- db/seeds/oauth_applications.rb | 8 ++++---- docs/api/chats.md | 2 +- docs/hosting/docker.md | 4 ++-- lib/tasks/benchmarking.rake | 6 +++--- lib/tasks/data_migration.rake | 2 +- perf.rake | 2 +- .../previews/dialog_component_preview.rb | 2 +- .../impersonation_sessions_controller_test.rb | 10 +++++----- test/controllers/mfa_controller_test.rb | 4 ++-- .../controllers/onboardings_controller_test.rb | 2 +- .../subscriptions_controller_test.rb | 4 ++-- test/fixtures/impersonation_sessions.yml | 2 +- test/fixtures/users.yml | 6 +++--- test/integration/oauth_mobile_test.rb | 2 +- test/mailers/email_confirmation_mailer_test.rb | 2 +- test/models/family_export_test.rb | 2 +- test/models/impersonation_session_test.rb | 6 +++--- test/models/user_test.rb | 4 ++-- test/system/chats_test.rb | 2 +- test/system/onboardings_test.rb | 4 ++-- test/vcr_cassettes/plaid/link_token.yml | 2 +- test/vcr_cassettes/stripe/checkout_session.yml | 4 ++-- 60 files changed, 116 insertions(+), 116 deletions(-) diff --git a/README.md b/README.md index 64cca23f5..170096e46 100644 --- a/README.md +++ b/README.md @@ -74,8 +74,8 @@ rake demo_data:default Visit http://localhost:3000 to view the app. You can log in with these demo credentials (from the DB seed): -- Email: `user@sure.local` -- Password: `password` +- Email: `user@example.com` +- Password: `Password1!` For further instructions, see guides below. diff --git a/app/controllers/concerns/self_hostable.rb b/app/controllers/concerns/self_hostable.rb index 4208e03ac..3631571ae 100644 --- a/app/controllers/concerns/self_hostable.rb +++ b/app/controllers/concerns/self_hostable.rb @@ -23,7 +23,7 @@ module SelfHostable if controller_name == "pages" && action_name == "redis_configuration_error" # If Redis is now working, redirect to home if redis_connected? - redirect_to root_path, notice: "Redis is now configured properly! You can now setup your Maybe application." + redirect_to root_path, notice: "Redis is now configured properly! You can now setup your Sure application." end return diff --git a/app/controllers/subscriptions_controller.rb b/app/controllers/subscriptions_controller.rb index 541d3dd9b..22a67f5c0 100644 --- a/app/controllers/subscriptions_controller.rb +++ b/app/controllers/subscriptions_controller.rb @@ -30,7 +30,7 @@ class SubscriptionsController < ApplicationController def create if Current.family.can_start_trial? Current.family.start_trial_subscription! - redirect_to root_path, notice: "Welcome to Maybe!" + redirect_to root_path, notice: "Welcome to Sure!" else redirect_to root_path, alert: "You have already started or completed a trial. Please upgrade to continue." end @@ -51,7 +51,7 @@ class SubscriptionsController < ApplicationController if checkout_result.success? Current.family.start_subscription!(checkout_result.subscription_id) - redirect_to root_path, notice: "Welcome to Maybe! Your subscription has been created." + redirect_to root_path, notice: "Welcome to Sure! Your subscription has been created." else redirect_to root_path, alert: "Something went wrong processing your subscription. Please contact us to get this fixed." end diff --git a/app/models/account.rb b/app/models/account.rb index 30856f7a2..e9a7e9a34 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -80,7 +80,7 @@ class Account < ApplicationRecord balance = simplefin_account.current_balance || simplefin_account.available_balance || 0 # SimpleFin returns negative balances for credit cards (liabilities) - # But Maybe expects positive balances for liabilities + # But Sure expects positive balances for liabilities if account_type == "CreditCard" || account_type == "Loan" balance = balance.abs end diff --git a/app/models/assistant/configurable.rb b/app/models/assistant/configurable.rb index b28fc523f..1da95d14b 100644 --- a/app/models/assistant/configurable.rb +++ b/app/models/assistant/configurable.rb @@ -26,7 +26,7 @@ module Assistant::Configurable <<~PROMPT ## Your identity - You are a friendly financial assistant for an open source personal finance application called "Maybe", which is short for "Maybe Finance". + You are a friendly financial assistant for an open source personal finance application called "Sure", which is short for "Sure Finances". ## Your purpose @@ -52,7 +52,7 @@ module Assistant::Configurable #### User's preferred currency - Maybe is a multi-currency app where each user has a "preferred currency" setting. + Sure is a multi-currency app where each user has a "preferred currency" setting. When no currency is specified, use the user's preferred currency for formatting and displaying monetary values. diff --git a/app/models/demo/generator.rb b/app/models/demo/generator.rb index 9a1c98818..278dcb3f6 100644 --- a/app/models/demo/generator.rb +++ b/app/models/demo/generator.rb @@ -38,7 +38,7 @@ class Demo::Generator end puts "👥 Creating empty family..." - create_family_and_users!("Demo Family", "user@sure.local", onboarded: true, subscribed: true) + create_family_and_users!("Demo Family", "user@example.com", onboarded: true, subscribed: true) puts "✅ Empty demo data loaded successfully!" end @@ -53,14 +53,14 @@ class Demo::Generator end puts "👥 Creating new user family..." - create_family_and_users!("Demo Family", "user@sure.local", onboarded: false, subscribed: false) + create_family_and_users!("Demo Family", "user@example.com", onboarded: false, subscribed: false) puts "✅ New user demo data loaded successfully!" end end # Generate comprehensive realistic demo data with multi-currency - def generate_default_data!(skip_clear: false, email: "user@sure.local") + def generate_default_data!(skip_clear: false, email: "user@example.com") if skip_clear puts "⏭️ Skipping data clearing (appending new family)..." else @@ -133,20 +133,20 @@ class Demo::Generator # Admin user family.users.create!( email: email, - first_name: "Demo (admin)", - last_name: "Maybe", + first_name: "Jack", + last_name: "Bogle", role: "admin", - password: "password", + password: "Password1!", onboarded_at: onboarded ? Time.current : nil ) # Member user family.users.create!( email: "partner_#{email}", - first_name: "Demo (member)", - last_name: "Maybe", + first_name: "Eve", + last_name: "Bogle", role: "member", - password: "password", + password: "Password1!", onboarded_at: onboarded ? Time.current : nil ) diff --git a/app/models/family_export.rb b/app/models/family_export.rb index 2ea2a5d30..94e4fd836 100644 --- a/app/models/family_export.rb +++ b/app/models/family_export.rb @@ -13,7 +13,7 @@ class FamilyExport < ApplicationRecord scope :ordered, -> { order(created_at: :desc) } def filename - "maybe_export_#{created_at.strftime('%Y%m%d_%H%M%S')}.zip" + "sure_export_#{created_at.strftime('%Y%m%d_%H%M%S')}.zip" end def downloadable? diff --git a/app/models/import/row.rb b/app/models/import/row.rb index 0d8d9aba6..ef16d26e5 100644 --- a/app/models/import/row.rb +++ b/app/models/import/row.rb @@ -37,12 +37,12 @@ class Import::Row < ApplicationRecord end private - # In the Maybe system, positive quantities == "inflows" + # In the Sure system, positive quantities == "inflows" def apply_trade_signage_convention(value) value * (import.signage_convention == "inflows_positive" ? 1 : -1) end - # In the Maybe system, positive amounts == "outflows", so we must reverse signage + # In the Sure system, positive amounts == "outflows", so we must reverse signage def apply_transaction_signage_convention(value) if import.amount_type_strategy == "signed_amount" value * (import.signage_convention == "inflows_positive" ? -1 : 1) diff --git a/app/models/mobile_device.rb b/app/models/mobile_device.rb index e334e3a88..3e3f5f774 100644 --- a/app/models/mobile_device.rb +++ b/app/models/mobile_device.rb @@ -23,7 +23,7 @@ class MobileDevice < ApplicationRecord app = Doorkeeper::Application.create!( name: "Mobile App - #{device_id}", - redirect_uri: "maybe://oauth/callback", # Custom scheme for mobile + redirect_uri: "sureapp://oauth/callback", # Custom scheme for mobile scopes: "read_write", # Use the configured scope confidential: false # Public client for mobile ) diff --git a/app/models/plaid_account/investments/balance_calculator.rb b/app/models/plaid_account/investments/balance_calculator.rb index ba713c191..eade15ee4 100644 --- a/app/models/plaid_account/investments/balance_calculator.rb +++ b/app/models/plaid_account/investments/balance_calculator.rb @@ -24,7 +24,7 @@ class PlaidAccount::Investments::BalanceCalculator # Plaid considers "brokerage cash" and "cash equivalent holdings" to all be part of "cash balance" # - # Internally, we DO NOT. Maybe clearly distinguishes between "brokerage cash" vs. "holdings (i.e. invested cash)" + # Internally, we DO NOT. Sure clearly distinguishes between "brokerage cash" vs. "holdings (i.e. invested cash)" # For this reason, we must manually calculate the cash balance based on "total value" and "holdings value" # See PlaidAccount::Investments::SecurityResolver for more details. def cash_balance diff --git a/app/models/plaid_account/investments/security_resolver.rb b/app/models/plaid_account/investments/security_resolver.rb index a6b0515bd..a8f15b0ea 100644 --- a/app/models/plaid_account/investments/security_resolver.rb +++ b/app/models/plaid_account/investments/security_resolver.rb @@ -63,7 +63,7 @@ class PlaidAccount::Investments::SecurityResolver end end - # Plaid treats "brokerage cash" differently than us. Internally, Maybe treats "brokerage cash" + # Plaid treats "brokerage cash" differently than us. Internally, Sure treats "brokerage cash" # as "uninvested cash" (i.e. cash that doesn't have a corresponding Security and can be withdrawn). # # Plaid treats everything as a "holding" with a corresponding Security. For example, "brokerage cash" (USD) diff --git a/app/models/plaid_account/transactions/category_matcher.rb b/app/models/plaid_account/transactions/category_matcher.rb index c4081a68d..87652109f 100644 --- a/app/models/plaid_account/transactions/category_matcher.rb +++ b/app/models/plaid_account/transactions/category_matcher.rb @@ -3,7 +3,7 @@ # categories we cannot directly assign Plaid categories as this would overwrite # user data and create a confusing experience. # -# Automated category matching in the Maybe app has a hierarchy: +# Automated category matching in the Sure app has a hierarchy: # 1. Naive string matching via CategoryAliasMatcher # 2. Rules-based matching set by user # 3. AI-powered matching (also enabled by user via rules) diff --git a/app/models/provider/plaid.rb b/app/models/provider/plaid.rb index 44201074b..d72d540ad 100644 --- a/app/models/provider/plaid.rb +++ b/app/models/provider/plaid.rb @@ -1,7 +1,7 @@ class Provider::Plaid attr_reader :client, :region - MAYBE_SUPPORTED_PLAID_PRODUCTS = %w[transactions investments liabilities].freeze + SUPPORTED_PLAID_PRODUCTS = %w[transactions investments liabilities].freeze MAX_HISTORY_DAYS = Rails.env.development? ? 90 : 730 def initialize(config, region: :us) @@ -45,7 +45,7 @@ class Provider::Plaid def get_link_token(user_id:, webhooks_url:, redirect_url:, accountable_type: nil, access_token: nil) request_params = { user: { client_user_id: user_id }, - client_name: "Maybe Finance", + client_name: "Sure Finances", country_codes: country_codes, language: "en", webhook: webhooks_url, @@ -195,7 +195,7 @@ class Provider::Plaid def get_additional_consented_products(accountable_type) return [] if eu? - MAYBE_SUPPORTED_PLAID_PRODUCTS - [ get_primary_product(accountable_type) ] + SUPPORTED_PLAID_PRODUCTS - [ get_primary_product(accountable_type) ] end def eu? diff --git a/app/models/security/health_checker.rb b/app/models/security/health_checker.rb index 241e38450..92ff5f2ee 100644 --- a/app/models/security/health_checker.rb +++ b/app/models/security/health_checker.rb @@ -1,4 +1,4 @@ -# There are hundreds of thousands of market securities that Maybe must handle. +# There are hundreds of thousands of market securities that Sure must handle. # Due to the always-changing nature of the market, the health checker is responsible # for periodically checking active securities to ensure we can still fetch prices for them. # diff --git a/app/models/simplefin_account/processor.rb b/app/models/simplefin_account/processor.rb index 50be1a6ff..571d6bfde 100644 --- a/app/models/simplefin_account/processor.rb +++ b/app/models/simplefin_account/processor.rb @@ -79,8 +79,8 @@ class SimplefinAccount::Processor end # SimpleFin uses banking convention (expenses negative, income positive) - # Maybe expects opposite convention (expenses positive, income negative) - # So we negate the amount to convert from SimpleFin to Maybe format + # Sure expects opposite convention (expenses positive, income negative) + # So we negate the amount to convert from SimpleFin to Sure format -parsed_amount rescue ArgumentError => e Rails.logger.error "Failed to parse SimpleFin transaction amount: #{amount_value.inspect} - #{e.message}" diff --git a/app/models/user.rb b/app/models/user.rb index eaa7b08eb..49b3aa9d3 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -193,7 +193,7 @@ class User < ApplicationRecord end def totp - ROTP::TOTP.new(otp_secret, issuer: "Maybe Finance") + ROTP::TOTP.new(otp_secret, issuer: "Sure Finances") end def verify_backup_code?(code) diff --git a/app/views/chats/_ai_consent.html.erb b/app/views/chats/_ai_consent.html.erb index b19b8bc9f..3e9437508 100644 --- a/app/views/chats/_ai_consent.html.erb +++ b/app/views/chats/_ai_consent.html.erb @@ -3,11 +3,11 @@ <%= render "chats/ai_avatar" %> -

Enable Maybe AI

+

Enable AI Chats

<% if Current.user.ai_available? %> - Maybe AI can answer financial questions and provide insights based on your data. To use this feature you'll need to explicitly enable it. + AI chat can answer financial questions and provide insights based on your data. To use this feature you'll need to explicitly enable it. <% else %> To use the AI assistant, you need to set the OPENAI_ACCESS_TOKEN environment variable or configure it in the Self-Hosting settings of your instance. @@ -18,7 +18,7 @@ <%= form_with url: user_path(Current.user), method: :patch, class: "w-full", data: { turbo: false } do |form| %> <%= form.hidden_field "user[ai_enabled]", value: true %> <%= form.hidden_field "user[redirect_to]", value: "home" %> - <%= form.submit "Enable Maybe AI", class: "cursor-pointer hover:bg-inverse-hover w-full py-2 px-4 bg-inverse fg-inverse rounded-lg text-sm font-medium" %> + <%= form.submit "Enable AI Chats", class: "cursor-pointer hover:bg-inverse-hover w-full py-2 px-4 bg-inverse fg-inverse rounded-lg text-sm font-medium" %> <% end %> <% end %> diff --git a/app/views/chats/_ai_greeting.html.erb b/app/views/chats/_ai_greeting.html.erb index 162ee8ea1..e04b9bc51 100644 --- a/app/views/chats/_ai_greeting.html.erb +++ b/app/views/chats/_ai_greeting.html.erb @@ -2,7 +2,7 @@ <%= render "chats/ai_avatar" %>

-

Hey <%= Current.user&.first_name || "there" %>! I'm an AI built by Maybe to help with your finances. I have access to the web and your account data.

+

Hey <%= Current.user&.first_name || "there" %>! I'm an AI/large-language-model that can help with your finances. I have access to the web and your account data.

You can use / to access commands diff --git a/app/views/family_exports/new.html.erb b/app/views/family_exports/new.html.erb index 5bf023522..ce6c53aea 100644 --- a/app/views/family_exports/new.html.erb +++ b/app/views/family_exports/new.html.erb @@ -27,7 +27,7 @@

- Note: This export includes all of your data, but only some of the data can be imported back into Maybe via the CSV import feature. We support account, transaction (with category and tags), and trade imports. Other account data cannot be imported and is for your records only. + Note: This export includes all of your data, but only some of the data can be imported back via the CSV import feature. We support account, transaction (with category and tags), and trade imports. Other account data cannot be imported and is for your records only.

diff --git a/app/views/impersonation_sessions/_approval_bar.html.erb b/app/views/impersonation_sessions/_approval_bar.html.erb index b8690c747..818fd4ec6 100644 --- a/app/views/impersonation_sessions/_approval_bar.html.erb +++ b/app/views/impersonation_sessions/_approval_bar.html.erb @@ -8,11 +8,11 @@
<% if pending_session.present? %> -

Maybe support staff has requested access to your account (likely to help you with a support request). If you approve the request, all activity they take will be logged for security and audit purposes.

+

Sure support staff has requested access to your account (likely to help you with a support request). If you approve the request, all activity they take will be logged for security and audit purposes.

<%= button_to "Approve", approve_impersonation_session_path(pending_session), method: :put, class: "inline-flex items-center px-3 py-1.5 border border-transparent text-sm font-medium rounded-md text-white bg-green-600 hover:bg-green-700 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-green-500" %> <%= button_to "Reject", reject_impersonation_session_path(pending_session), method: :put, class: "inline-flex items-center px-3 py-1.5 border border-transparent text-sm font-medium rounded-md text-white bg-red-600 hover:bg-red-700 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-red-500" %> <% elsif in_progress_session.present? %> -

Someone from the Maybe Finance team is currently viewing your data. You may end the session at any time.

+

Someone from the Sure Finances team is currently viewing your data. You may end the session at any time.

<%= button_to "End Session", complete_impersonation_session_path(in_progress_session), method: :put, class: "inline-flex items-center px-3 py-1.5 border border-transparent text-sm font-medium rounded-md text-white bg-blue-600 hover:bg-blue-700 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-blue-500" %> <% else %>

Something went wrong. Please contact us.

diff --git a/app/views/import/configurations/_trade_import.html.erb b/app/views/import/configurations/_trade_import.html.erb index 007bf34bc..9db460d40 100644 --- a/app/views/import/configurations/_trade_import.html.erb +++ b/app/views/import/configurations/_trade_import.html.erb @@ -30,7 +30,7 @@ <% unless Security.provider %>

- Note: The security prices provider is not configured. Your trade imports will work, but Maybe will not backfill price history. Please go to your settings to configure this. + Note: The security prices provider is not configured. Your trade imports will work, but Sure will not backfill price history. Please go to your settings to configure this.

<% end %> diff --git a/app/views/layouts/doorkeeper/application.html.erb b/app/views/layouts/doorkeeper/application.html.erb index 375f13237..83f0895ca 100644 --- a/app/views/layouts/doorkeeper/application.html.erb +++ b/app/views/layouts/doorkeeper/application.html.erb @@ -20,7 +20,7 @@

- Maybe Authorization + Sure Authorization

diff --git a/app/views/onboardings/goals.html.erb b/app/views/onboardings/goals.html.erb index 93c34818d..9682a782c 100644 --- a/app/views/onboardings/goals.html.erb +++ b/app/views/onboardings/goals.html.erb @@ -15,8 +15,8 @@
-

What brings you to Maybe?

-

Select one or more goals that you have with using Maybe as your personal finance tool.

+

What brings you to Sure?

+

Select one or more goals that you have with using Sure as your personal finance tool.

<%= form_with model: @user do |form| %> diff --git a/app/views/onboardings/trial.html.erb b/app/views/onboardings/trial.html.erb index a3566c263..063c40ff2 100644 --- a/app/views/onboardings/trial.html.erb +++ b/app/views/onboardings/trial.html.erb @@ -17,7 +17,7 @@ <%= image_tag "logo-color.png", class: "w-16 mb-6" %>

- Try Maybe for 14 days. + Try Sure for 14 days.

@@ -25,13 +25,13 @@

- Starting the trial activates your account for Maybe. You won't need to enter payment details. + Starting the trial activates your account for Sure. You won't need to enter payment details.

<% if Current.family.can_start_trial? %> <%= render DS::Button.new( - text: "Try Maybe for 14 days", + text: "Try Sure for 14 days", href: subscription_path, full_width: true, data: { turbo: false } @@ -65,7 +65,7 @@

Today

-

You'll get free access to Maybe for 14 days

+

You'll get free access to Sure for 14 days

@@ -75,7 +75,7 @@

In 14 days (<%= 14.days.from_now.strftime("%B %d") %>)

-

Your trial ends — subscribe to continue using Maybe

+

Your trial ends — subscribe to continue using Sure

@@ -107,7 +107,7 @@
<%= render "chats/ai_avatar" %> -

Unlimited access and chats with Maybe AI

+

Unlimited access and chats with Sure AI

diff --git a/app/views/pages/redis_configuration_error.html.erb b/app/views/pages/redis_configuration_error.html.erb index bf165ccb1..53c43387f 100644 --- a/app/views/pages/redis_configuration_error.html.erb +++ b/app/views/pages/redis_configuration_error.html.erb @@ -1,4 +1,4 @@ -<% content_for :title, "Redis Configuration Required - Maybe" %> +<% content_for :title, "Redis Configuration Required - Sure" %>
@@ -9,7 +9,7 @@ <%= icon "alert-triangle", class: "w-8 h-8 text-red-600" %>

Redis Configuration Required

-

Your self-hosted Maybe installation needs Redis to be properly configured.

+

Your self-hosted Sure installation needs Redis to be properly configured.

@@ -19,7 +19,7 @@ <%= icon "info", class: "w-5 h-5 text-amber-600 mt-0.5 mr-3 flex-shrink-0" %>

Why is Redis required?

-

Maybe uses Redis to power Sidekiq background jobs for tasks like syncing account data, processing imports, and other background operations that keep your financial data up to date.

+

Sure uses Redis to power Sidekiq background jobs for tasks like syncing account data, processing imports, and other background operations that keep your financial data up to date.

@@ -28,7 +28,7 @@
<%= render DS::Link.new( text: "View Setup Guide", - href: "https://github.com/maybe-finance/maybe/blob/main/docs/hosting/docker.md", + href: "https://github.com/we-promise/sure/blob/main/docs/hosting/docker.md", variant: "primary", size: "lg", icon: "external-link", diff --git a/app/views/settings/api_keys/new.html.erb b/app/views/settings/api_keys/new.html.erb index dd1a25317..20e322981 100644 --- a/app/views/settings/api_keys/new.html.erb +++ b/app/views/settings/api_keys/new.html.erb @@ -1,6 +1,6 @@ <%= content_for :page_title, "Create New API Key" %> -<%= settings_section title: nil, subtitle: "Generate a new API key to access your Maybe data programmatically." do %> +<%= settings_section title: nil, subtitle: "Generate a new API key to access your Sure data programmatically." do %> <%= styled_form_with model: @api_key, url: settings_api_key_path, class: "space-y-4" do |form| %> <%= form.text_field :name, placeholder: "e.g., My Budget App, Portfolio Tracker", diff --git a/app/views/settings/preferences/show.html.erb b/app/views/settings/preferences/show.html.erb index fd108a725..e22ab0aa0 100644 --- a/app/views/settings/preferences/show.html.erb +++ b/app/views/settings/preferences/show.html.erb @@ -40,7 +40,7 @@ { label: t(".country") }, { data: { auto_submit_form_target: "auto" } } %> -

Please note, we are still working on translations for various languages. Please see the <%= link_to "I18n issue", "https://github.com/maybe-finance/maybe/issues/1225", target: "_blank", class: "underline" %> for more information.

+

Please note, we are still working on translations for various languages.

<% end %> <% end %>
diff --git a/app/views/shared/_app_version.html.erb b/app/views/shared/_app_version.html.erb index d8bc02ca6..d1d885459 100644 --- a/app/views/shared/_app_version.html.erb +++ b/app/views/shared/_app_version.html.erb @@ -1,3 +1,3 @@
-

Version: <%= Maybe.version.to_release_tag %>

+

Version: <%= Sure.version.to_release_tag %>

diff --git a/app/views/subscriptions/upgrade.html.erb b/app/views/subscriptions/upgrade.html.erb index 959babf6d..be1e2797c 100644 --- a/app/views/subscriptions/upgrade.html.erb +++ b/app/views/subscriptions/upgrade.html.erb @@ -32,11 +32,11 @@

Unlock - Maybe + Sure today

-

To continue using Maybe pick a plan below.

+

To continue using Sure pick a plan below.

<%= form_with url: new_subscription_path, method: :get, class: "max-w-xs", data: { turbo: false } do |form| %>
@@ -46,7 +46,7 @@
<%= render DS::Button.new( - text: "Subscribe and unlock Maybe", + text: "Subscribe and unlock Sure", variant: "primary", full_width: true ) %> diff --git a/app/views/users/_user_menu.html.erb b/app/views/users/_user_menu.html.erb index 9a0d515a8..a37d0f274 100644 --- a/app/views/users/_user_menu.html.erb +++ b/app/views/users/_user_menu.html.erb @@ -20,10 +20,10 @@

Version: - <%= link_to Maybe.version.to_release_tag, "https://github.com/we-promise/sure/releases/tag/#{Maybe.version.to_release_tag}", target: "_blank", class: "hover:underline" %> + <%= link_to Sure.version.to_release_tag, "https://github.com/we-promise/sure/releases/tag/#{Sure.version.to_release_tag}", target: "_blank", class: "hover:underline" %> - <% if Maybe.commit_sha.present? %> - (<%= link_to Maybe.commit_sha.first(7), "https://github.com/we-promise/sure/commit/#{Maybe.commit_sha}", target: "_blank", class: "hover:underline" %>) + <% if Sure.commit_sha.present? %> + (<%= link_to Sure.commit_sha.first(7), "https://github.com/we-promise/sure/commit/#{Sure.commit_sha}", target: "_blank", class: "hover:underline" %>) <% end %>

diff --git a/compose.example.yml b/compose.example.yml index 749fcf2ca..01a97368b 100644 --- a/compose.example.yml +++ b/compose.example.yml @@ -28,9 +28,9 @@ # x-db-env: &db_env - POSTGRES_USER: ${POSTGRES_USER:-maybe_user} - POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-maybe_password} - POSTGRES_DB: ${POSTGRES_DB:-maybe_production} + POSTGRES_USER: ${POSTGRES_USER:-sure_user} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-sure_password} + POSTGRES_DB: ${POSTGRES_DB:-sure_production} x-rails-env: &rails_env <<: *db_env diff --git a/config/application.rb b/config/application.rb index 134feb5a5..77d071173 100644 --- a/config/application.rb +++ b/config/application.rb @@ -6,7 +6,7 @@ require "rails/all" # you've limited to :test, :development, or :production. Bundler.require(*Rails.groups) -module Maybe +module Sure class Application < Rails::Application # Initialize configuration defaults for originally generated Rails version. config.load_defaults 7.2 diff --git a/config/cable.yml b/config/cable.yml index 3474a21af..fc5a1eb8e 100644 --- a/config/cable.yml +++ b/config/cable.yml @@ -7,4 +7,4 @@ test: production: adapter: redis url: <%= ENV.fetch("REDIS_URL") { "redis://localhost:6379/1" } %> - channel_prefix: maybe_production + channel_prefix: sure_production diff --git a/config/database.yml b/config/database.yml index d3a412beb..5b249238a 100644 --- a/config/database.yml +++ b/config/database.yml @@ -9,12 +9,12 @@ default: &default development: <<: *default - database: <%= ENV.fetch("POSTGRES_DB") { "maybe_development" } %> + database: <%= ENV.fetch("POSTGRES_DB") { "sure_development" } %> test: <<: *default - database: <%= ENV.fetch("POSTGRES_DB") { "maybe_test" } %> + database: <%= ENV.fetch("POSTGRES_DB") { "sure_test" } %> production: <<: *default - database: <%= ENV.fetch("POSTGRES_DB") { "maybe_production" } %> + database: <%= ENV.fetch("POSTGRES_DB") { "sure_production" } %> diff --git a/config/environments/test.rb b/config/environments/test.rb index 23bd03f3f..362e52864 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -24,7 +24,7 @@ Rails.application.configure do } # Set default sender email for tests - ENV["EMAIL_SENDER"] = "hello@maybefinance.com" + ENV["EMAIL_SENDER"] = "hello@example.com" # Show full error reports and disable caching. config.consider_all_requests_local = true diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb index 70a6e4760..b80a8fddf 100644 --- a/config/initializers/sidekiq.rb +++ b/config/initializers/sidekiq.rb @@ -2,8 +2,8 @@ require "sidekiq/web" if Rails.env.production? Sidekiq::Web.use(Rack::Auth::Basic) do |username, password| - configured_username = ::Digest::SHA256.hexdigest(ENV.fetch("SIDEKIQ_WEB_USERNAME", "maybe")) - configured_password = ::Digest::SHA256.hexdigest(ENV.fetch("SIDEKIQ_WEB_PASSWORD", "maybe")) + configured_username = ::Digest::SHA256.hexdigest(ENV.fetch("SIDEKIQ_WEB_USERNAME", "sure")) + configured_password = ::Digest::SHA256.hexdigest(ENV.fetch("SIDEKIQ_WEB_PASSWORD", "sure")) ActiveSupport::SecurityUtils.secure_compare(::Digest::SHA256.hexdigest(username), configured_username) && ActiveSupport::SecurityUtils.secure_compare(::Digest::SHA256.hexdigest(password), configured_password) diff --git a/config/initializers/version.rb b/config/initializers/version.rb index 917ce8bcf..6e7e59271 100644 --- a/config/initializers/version.rb +++ b/config/initializers/version.rb @@ -1,4 +1,4 @@ -module Maybe +module Sure class << self def version Semver.new(semver) diff --git a/config/routes.rb b/config/routes.rb index adae2357a..7702f689d 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -280,8 +280,8 @@ Rails.application.routes.draw do get "imports/:import_id/upload/sample_csv", to: "import/uploads#sample_csv", as: :import_upload_sample_csv - get "privacy", to: redirect("https://maybefinance.com/privacy") - get "terms", to: redirect("https://maybefinance.com/tos") + get "privacy", to: redirect("about:blank") + get "terms", to: redirect("about:blank") # Defines the root path route ("/") root "pages#dashboard" diff --git a/db/seeds/oauth_applications.rb b/db/seeds/oauth_applications.rb index c84e6a24b..1e82b70d6 100644 --- a/db/seeds/oauth_applications.rb +++ b/db/seeds/oauth_applications.rb @@ -1,9 +1,9 @@ -# Create OAuth applications for Maybe's first-party apps +# Create OAuth applications for Sure's first-party apps # These are the only OAuth apps that will exist - external developers use API keys -# Maybe iOS App -ios_app = Doorkeeper::Application.find_or_create_by(name: "Maybe iOS") do |app| - app.redirect_uri = "maybe://oauth/callback" +# Sure iOS App +ios_app = Doorkeeper::Application.find_or_create_by(name: "Sure iOS") do |app| + app.redirect_uri = "sureapp://oauth/callback" app.scopes = "read_accounts read_transactions read_balances" app.confidential = false # Public client (mobile app) end diff --git a/docs/api/chats.md b/docs/api/chats.md index 159994cb1..3bc8ea436 100644 --- a/docs/api/chats.md +++ b/docs/api/chats.md @@ -1,6 +1,6 @@ # Chat API Documentation -The Chat API allows external applications to interact with Maybe's AI chat functionality. +The Chat API allows external applications to interact with Sure's AI chat functionality. ## Authentication diff --git a/docs/hosting/docker.md b/docs/hosting/docker.md index cd47d5980..3afbe78b7 100644 --- a/docs/hosting/docker.md +++ b/docs/hosting/docker.md @@ -170,7 +170,7 @@ After doing this, make sure and restart the app: ```bash docker compose pull # This pulls the "latest" published image from GHCR docker compose build # This rebuilds the app with updates -docker compose up --no-deps -d app # This restarts the app using the newest version +docker compose up --no-deps -d web worker # This restarts the app using the newest version ``` ## Troubleshooting @@ -189,5 +189,5 @@ By running the commands below, you will delete your existing Sure database and " docker compose down docker volume rm sure_postgres-data # this is the name of the volume the DB is mounted to docker compose up -docker exec -it sure-postgres-1 psql -U maybe -d maybe_production -c "SELECT 1;" # This will verify that the issue is fixed +docker exec -it sure-db-1 psql -U sure_user -d sure_production -c "SELECT 1;" # This will verify that the issue is fixed ``` diff --git a/lib/tasks/benchmarking.rake b/lib/tasks/benchmarking.rake index 037f38690..134a4bbf6 100644 --- a/lib/tasks/benchmarking.rake +++ b/lib/tasks/benchmarking.rake @@ -1,7 +1,7 @@ # Benchmarking requires a production-like data sample, so requires some up-front setup. # -# 1. Load a scrubbed production-like slice of data into maybe_benchmarking DB locally -# 2. Setup .env.production so that the Rails app can boot with RAILS_ENV=production and connect to local maybe_benchmarking DB +# 1. Load a scrubbed production-like slice of data into sure_benchmarking DB locally +# 2. Setup .env.production so that the Rails app can boot with RAILS_ENV=production and connect to local sure_benchmarking DB # 3. Run `rake benchmark_dump:06_setup_bench_user` # 4. Run locally, find endpoint needed # 5. Run an endpoint, example: `ENDPOINT=/budgets/jun-2025/budget_categories/245637cb-129f-4612-b0a8-1de57559372b RAILS_ENV=production BENCHMARKING_ENABLED=true RAILS_LOG_LEVEL=debug rake benchmarking:ips` @@ -11,7 +11,7 @@ namespace :benchmarking do Benchmark.ips do |x| x.config(time: 30, warmup: 10) - family = User.find_by(email: "user@sure.local").family + family = User.find_by(email: "user@example.com").family scope = family.transactions.active # x.report("IncomeStatement::Totals") do diff --git a/lib/tasks/data_migration.rake b/lib/tasks/data_migration.rake index febdcb3b0..5d53a09b8 100644 --- a/lib/tasks/data_migration.rake +++ b/lib/tasks/data_migration.rake @@ -10,7 +10,7 @@ namespace :data_migration do eu_items.find_each do |item| request = Plaid::ItemWebhookUpdateRequest.new( access_token: item.access_token, - webhook: "https://app.maybefinance.com/webhooks/plaid_eu" + webhook: "https://app.sure.am/webhooks/plaid_eu" ) provider.client.item_webhook_update(request) diff --git a/perf.rake b/perf.rake index fc14367d9..0d8579342 100644 --- a/perf.rake +++ b/perf.rake @@ -14,7 +14,7 @@ class CustomAuth < DerailedBenchmarks::AuthHelper def call(env) # Make sure this user is created in the DB with realistic data before running benchmarks - user = User.find_by!(email: "user@sure.local") + user = User.find_by!(email: "user@example.com") Rails.logger.debug "Found user for benchmarking: #{user.email}" diff --git a/test/components/previews/dialog_component_preview.rb b/test/components/previews/dialog_component_preview.rb index 5f5c78d92..d6d9c57be 100644 --- a/test/components/previews/dialog_component_preview.rb +++ b/test/components/previews/dialog_component_preview.rb @@ -5,7 +5,7 @@ class DialogComponentPreview < ViewComponent::Preview dialog.with_header(title: "Sample modal title") dialog.with_body do - "Welcome to Maybe! This is some test modal content." + "Welcome to Sure! This is some test modal content." end dialog.with_action(cancel_action: true, text: "Cancel", variant: "outline") diff --git a/test/controllers/impersonation_sessions_controller_test.rb b/test/controllers/impersonation_sessions_controller_test.rb index 65fe4bf56..7adda7b74 100644 --- a/test/controllers/impersonation_sessions_controller_test.rb +++ b/test/controllers/impersonation_sessions_controller_test.rb @@ -2,7 +2,7 @@ require "test_helper" class ImpersonationSessionsControllerTest < ActionDispatch::IntegrationTest test "impersonation session logs all activity for auditing" do - sign_in impersonator = users(:maybe_support_staff) + sign_in impersonator = users(:sure_support_staff) impersonated = users(:family_member) impersonator_session = impersonation_sessions(:in_progress) @@ -16,7 +16,7 @@ class ImpersonationSessionsControllerTest < ActionDispatch::IntegrationTest end test "super admin can request an impersonation session" do - sign_in users(:maybe_support_staff) + sign_in users(:sure_support_staff) post impersonation_sessions_path, params: { impersonation_session: { impersonated_id: users(:family_member).id } } @@ -25,7 +25,7 @@ class ImpersonationSessionsControllerTest < ActionDispatch::IntegrationTest end test "super admin can join and leave an in progress impersonation session" do - sign_in super_admin = users(:maybe_support_staff) + sign_in super_admin = users(:sure_support_staff) impersonator_session = impersonation_sessions(:in_progress) @@ -52,7 +52,7 @@ class ImpersonationSessionsControllerTest < ActionDispatch::IntegrationTest end test "super admin can complete an impersonation session" do - sign_in super_admin = users(:maybe_support_staff) + sign_in super_admin = users(:sure_support_staff) impersonator_session = impersonation_sessions(:in_progress) @@ -77,7 +77,7 @@ class ImpersonationSessionsControllerTest < ActionDispatch::IntegrationTest end test "super admin cannot accept an impersonation session" do - sign_in super_admin = users(:maybe_support_staff) + sign_in super_admin = users(:sure_support_staff) impersonator_session = impersonation_sessions(:in_progress) diff --git a/test/controllers/mfa_controller_test.rb b/test/controllers/mfa_controller_test.rb index 49e4b6220..b653df41a 100644 --- a/test/controllers/mfa_controller_test.rb +++ b/test/controllers/mfa_controller_test.rb @@ -31,7 +31,7 @@ class MfaControllerTest < ActionDispatch::IntegrationTest test "enables MFA with valid code" do @user.setup_mfa! - totp = ROTP::TOTP.new(@user.otp_secret, issuer: "Maybe") + totp = ROTP::TOTP.new(@user.otp_secret, issuer: "Sure Finances") post mfa_path, params: { code: totp.now } @@ -70,7 +70,7 @@ class MfaControllerTest < ActionDispatch::IntegrationTest sign_out post sessions_path, params: { email: @user.email, password: user_password_test } - totp = ROTP::TOTP.new(@user.otp_secret, issuer: "Maybe") + totp = ROTP::TOTP.new(@user.otp_secret, issuer: "Sure Finances") post verify_mfa_path, params: { code: totp.now } diff --git a/test/controllers/onboardings_controller_test.rb b/test/controllers/onboardings_controller_test.rb index c35c14096..3bb8e4922 100644 --- a/test/controllers/onboardings_controller_test.rb +++ b/test/controllers/onboardings_controller_test.rb @@ -82,7 +82,7 @@ class OnboardingsControllerTest < ActionDispatch::IntegrationTest test "should get goals" do get goals_onboarding_url assert_response :success - assert_select "h1", text: /What brings you to Maybe/i + assert_select "h1", text: /What brings you to Sure/i end test "should get trial" do diff --git a/test/controllers/subscriptions_controller_test.rb b/test/controllers/subscriptions_controller_test.rb index 0b406dca8..541b5731a 100644 --- a/test/controllers/subscriptions_controller_test.rb +++ b/test/controllers/subscriptions_controller_test.rb @@ -26,7 +26,7 @@ class SubscriptionsControllerTest < ActionDispatch::IntegrationTest end assert_redirected_to root_path - assert_equal "Welcome to Maybe!", flash[:notice] + assert_equal "Welcome to Sure!", flash[:notice] assert_equal "trialing", @family.subscription.status assert_in_delta Subscription::TRIAL_DAYS.days.from_now, @family.subscription.trial_ends_at, 1.minute end @@ -71,6 +71,6 @@ class SubscriptionsControllerTest < ActionDispatch::IntegrationTest get success_subscription_url(session_id: "test-session-id") assert @family.subscription.active? - assert_equal "Welcome to Maybe! Your subscription has been created.", flash[:notice] + assert_equal "Welcome to Sure! Your subscription has been created.", flash[:notice] end end diff --git a/test/fixtures/impersonation_sessions.yml b/test/fixtures/impersonation_sessions.yml index becd9e7cf..c7b070f9f 100644 --- a/test/fixtures/impersonation_sessions.yml +++ b/test/fixtures/impersonation_sessions.yml @@ -1,4 +1,4 @@ in_progress: - impersonator: maybe_support_staff + impersonator: sure_support_staff impersonated: family_member status: in_progress diff --git a/test/fixtures/users.yml b/test/fixtures/users.yml index 1973ba37a..b0987b1e6 100644 --- a/test/fixtures/users.yml +++ b/test/fixtures/users.yml @@ -2,17 +2,17 @@ empty: family: empty first_name: User last_name: One - email: user1@email.com + email: user1@example.com password_digest: $2a$12$XoNBo/cMCyzpYtvhrPAhsubG21mELX48RAcjSVCRctW8dG8wrDIla onboarded_at: <%= 3.days.ago %> role: admin ai_enabled: true -maybe_support_staff: +sure_support_staff: family: empty first_name: Support last_name: Admin - email: support@maybefinance.com + email: support@sure.am password_digest: $2a$12$XoNBo/cMCyzpYtvhrPAhsubG21mELX48RAcjSVCRctW8dG8wrDIla role: super_admin onboarded_at: <%= 3.days.ago %> diff --git a/test/integration/oauth_mobile_test.rb b/test/integration/oauth_mobile_test.rb index 0c224e933..d925972f7 100644 --- a/test/integration/oauth_mobile_test.rb +++ b/test/integration/oauth_mobile_test.rb @@ -8,7 +8,7 @@ class OauthMobileTest < ActionDispatch::IntegrationTest sign_in(@user) @oauth_app = Doorkeeper::Application.create!( - name: "Maybe Mobile App", + name: "Sure Mobile App", redirect_uri: "sureapp://oauth/callback", scopes: "read" ) diff --git a/test/mailers/email_confirmation_mailer_test.rb b/test/mailers/email_confirmation_mailer_test.rb index 2727cfb95..3a3e469c6 100644 --- a/test/mailers/email_confirmation_mailer_test.rb +++ b/test/mailers/email_confirmation_mailer_test.rb @@ -8,7 +8,7 @@ class EmailConfirmationMailerTest < ActionMailer::TestCase mail = EmailConfirmationMailer.with(user: user).confirmation_email assert_equal I18n.t("email_confirmation_mailer.confirmation_email.subject"), mail.subject assert_equal [ user.unconfirmed_email ], mail.to - assert_equal [ "hello@maybefinance.com" ], mail.from + assert_equal [ "hello@example.com" ], mail.from assert_match "confirm", mail.body.encoded end end diff --git a/test/models/family_export_test.rb b/test/models/family_export_test.rb index 3cd3abb3d..c6f86c8bc 100644 --- a/test/models/family_export_test.rb +++ b/test/models/family_export_test.rb @@ -29,7 +29,7 @@ class FamilyExportTest < ActiveSupport::TestCase test "filename is generated correctly" do travel_to Time.zone.local(2024, 1, 15, 14, 30, 0) do export = @family.family_exports.create! - expected_filename = "maybe_export_20240115_143000.zip" + expected_filename = "sure_export_20240115_143000.zip" assert_equal expected_filename, export.filename end end diff --git a/test/models/impersonation_session_test.rb b/test/models/impersonation_session_test.rb index 1946e6da7..e54dc215a 100644 --- a/test/models/impersonation_session_test.rb +++ b/test/models/impersonation_session_test.rb @@ -9,13 +9,13 @@ class ImpersonationSessionTest < ActiveSupport::TestCase assert_raises(ActiveRecord::RecordInvalid) do ImpersonationSession.create!( impersonator: regular_user, - impersonated: users(:maybe_support_staff) + impersonated: users(:sure_support_staff) ) end end test "super admin cannot be impersonated" do - super_admin = users(:maybe_support_staff) + super_admin = users(:sure_support_staff) assert super_admin.super_admin? @@ -28,7 +28,7 @@ class ImpersonationSessionTest < ActiveSupport::TestCase end test "impersonation session must have different impersonator and impersonated" do - super_admin = users(:maybe_support_staff) + super_admin = users(:sure_support_staff) assert_raises(ActiveRecord::RecordInvalid) do ImpersonationSession.create!( diff --git a/test/models/user_test.rb b/test/models/user_test.rb index 47c51895d..16aa8cc72 100644 --- a/test/models/user_test.rb +++ b/test/models/user_test.rb @@ -106,7 +106,7 @@ class UserTest < ActiveSupport::TestCase user = users(:family_member) user.setup_mfa! - totp = ROTP::TOTP.new(user.otp_secret, issuer: "Maybe") + totp = ROTP::TOTP.new(user.otp_secret, issuer: "Sure Finances") valid_code = totp.now assert user.verify_otp?(valid_code) @@ -136,7 +136,7 @@ class UserTest < ActiveSupport::TestCase assert_match %r{otpauth://totp/}, user.provisioning_uri assert_match %r{secret=#{user.otp_secret}}, user.provisioning_uri - assert_match %r{issuer=Maybe}, user.provisioning_uri + assert_match %r{issuer=Sure}, user.provisioning_uri end test "ai_available? returns true when openai access token set in settings" do diff --git a/test/system/chats_test.rb b/test/system/chats_test.rb index 9d00fd99c..98d6be617 100644 --- a/test/system/chats_test.rb +++ b/test/system/chats_test.rb @@ -12,7 +12,7 @@ class ChatsTest < ApplicationSystemTestCase visit root_path within "#chat-container" do - assert_selector "h3", text: "Enable Maybe AI" + assert_selector "h3", text: "Enable AI Chats" end end diff --git a/test/system/onboardings_test.rb b/test/system/onboardings_test.rb index 32dc17835..0a8f28876 100644 --- a/test/system/onboardings_test.rb +++ b/test/system/onboardings_test.rb @@ -38,7 +38,7 @@ class OnboardingsTest < ApplicationSystemTestCase # Should redirect to goals page assert_current_path goals_onboarding_path - assert_text "What brings you to Maybe?" + assert_text "What brings you to Sure?" end test "preferences page renders chart without errors" do @@ -137,7 +137,7 @@ class OnboardingsTest < ApplicationSystemTestCase visit goals_onboarding_path - assert_text "What brings you to Maybe?" + assert_text "What brings you to Sure?" assert_button "Next" end diff --git a/test/vcr_cassettes/plaid/link_token.yml b/test/vcr_cassettes/plaid/link_token.yml index 4b7fcf965..c9ccf33dc 100644 --- a/test/vcr_cassettes/plaid/link_token.yml +++ b/test/vcr_cassettes/plaid/link_token.yml @@ -5,7 +5,7 @@ http_interactions: uri: https://sandbox.plaid.com/link/token/create body: encoding: UTF-8 - string: '{"client_name":"Maybe Finance","language":"en","country_codes":["US","CA"],"user":{"client_user_id":"test-user-id"},"products":["transactions"],"additional_consented_products":["investments","liabilities"],"webhook":"https://example.com/webhooks","redirect_uri":"http://localhost:3000/accounts","transactions":{"days_requested":730}}' + string: '{"client_name":"Sure Finances","language":"en","country_codes":["US","CA"],"user":{"client_user_id":"test-user-id"},"products":["transactions"],"additional_consented_products":["investments","liabilities"],"webhook":"https://example.com/webhooks","redirect_uri":"http://localhost:3000/accounts","transactions":{"days_requested":730}}' headers: Content-Type: - application/json diff --git a/test/vcr_cassettes/stripe/checkout_session.yml b/test/vcr_cassettes/stripe/checkout_session.yml index 42b51b5aa..f8ab5aa88 100644 --- a/test/vcr_cassettes/stripe/checkout_session.yml +++ b/test/vcr_cassettes/stripe/checkout_session.yml @@ -114,13 +114,13 @@ http_interactions: "postal_code": "12345", "state": null }, - "email": "user@sure.local", + "email": "user@example.com", "name": "Test Checkout User", "phone": null, "tax_exempt": "none", "tax_ids": [] }, - "customer_email": "user@sure.local", + "customer_email": "user@example.com", "discounts": [], "expires_at": 1746368350, "invoice": "in_1RKguoQT2jbOS8G0PuBVklxw",