Repository navigation
Name the app by its display name in mails and pages; drop placeholder store links and the template logo - #163
Merged
Merged
Conversation
…links Mails used the identifier-like NativeAppTemplate (which a generated app renames to e.g. OrangeBaton) and the invitation mail linked the placeholder store URLs in config/settings.yml. - New display_name setting (Native App Template; the rename's humanized title form turns it into e.g. Orange Baton) for the sender name, the invitation text, a deleted inviter's name and the mail footer - mobile_app.app_store_url / play_store_url default to blank, and the invitation mail links only the stores whose URL is set; the link labels move to locale keys (en and ja) - Remove mobile_app.name, name_ios and name_android, now unused - Mailer tests in en and ja: display name in body and footer, From display name, no store links while blank, each set link shown Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UZJxUoubntzu7Ec7DPVfAr
…te logo The page showed public/icon.svg, NativeAppTemplate's "N", which every app built from the template kept. A text wordmark from display_name follows the rename with nothing to replace, and an app that wants a logo can add it in the view. - reset_passwords/edit shows display_name instead of the image - The minimal and errors layouts' <title> use display_name - README lists the icons in public/ as the template's to replace - Tests: the page has no image and names the app; error page title Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UZJxUoubntzu7Ec7DPVfAr
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UZJxUoubntzu7Ec7DPVfAr
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
One PR for both issues: #162's fix uses the
display_namesetting that #161 adds. Two commits, one per issue.#161: mails
display_name: Native App Templateinconfig/settings.yml. The rename's humanized-title pattern turns it into the generated app's name (NativeAppTemplate→OrangeBatongivesOrange Baton; I checked this by runningrename.rbon a copy).site.name/business.namestay as the one-word identifier-like names.email.default_from_with_name, alsosupport_with_name), the invitation text ("Open Native App Template", "モバイルアプリNative App Templateで…"), a deleted inviter's name and the footer (copyright line and site link, HTML and text).mobile_app.app_store_url/play_store_urlare now""by default instead of theidxxxxxxxxxx/com.yourdomain…placeholders.Shopkeeper::NotificationMailer#store_linkskeeps only the URLs that are set, so the mail shows neither, one or both. Link labels moved to locale keys (%{mobile_app} for iOS/%{mobile_app} iOS版). I chose blank over aplaceholder?check because it can't miss a placeholder spelled differently, and the generated app is in the same state.mobile_app.name,name_iosandname_androidare removed (nothing uses them now).#162: password-reset page logo
shopkeeper_auth/reset_passwords/editshowsdisplay_nameas a text wordmark instead of<img src="/icon.svg">.<title>usedisplay_nametoo.public/icons (favicon,icon.svg,icon*.png,apple-touch-icon.png) as the template's, to replace. These are still used as favicons.Rename safety: the new strings have no article before a renameable word or the product name.
Tests
notification_mailer_test(en and ja): invitation names the display name and not the identifier name; no store links while blank; each set link shown (HTML and text); footer uses the display name; From display name is the display name; deleted-inviter fallback uses the display name. The identifier-name check is skipped when the two names are the same, e.g. a one-word product name after the rename.reset_passwords_controller_test: the page has no<img>and names the app in text and<title>.errors_controller_test: HTML error page title uses the display name.I reverted the app changes and confirmed the new tests fail on the old code.
Local results:
bin/rails test(654 runs, 0 failures),bin/rubocop,erb_lint --lint-all,brakemanandbundler-auditall pass.Closes #161
Closes #162
🤖 Generated with Claude Code
https://claude.ai/code/session_01UZJxUoubntzu7Ec7DPVfAr