Skip to content

Refresh about page credits and default server settings#10

Closed
erikraft wants to merge 1 commit intomasterfrom
codex/atualizar-nome-de-cliente-e-padrao-de-url-o47is1
Closed

Refresh about page credits and default server settings#10
erikraft wants to merge 1 commit intomasterfrom
codex/atualizar-nome-de-cliente-e-padrao-de-url-o47is1

Conversation

@erikraft
Copy link
Owner

@erikraft erikraft commented Oct 7, 2025

Summary

  • point the support preference, README, and in-app donation button to the ErikrafT Ko-fi page
  • update the about dialog to credit PairDrop and ErikrafT Drop, open the new GitHub and X links, rename the social button to 𝕏|Twitter, and drop the Crowdin shortcut
  • make drop.erikraft.com the default server string, adjust legacy Snapdrop detection, and localize the Portuguese about title for the new branding

Testing

  • not run (not requested)

https://chatgpt.com/codex/tasks/task_e_68e44e8cd5dc832aa25628790c6c5bfb

Summary by CodeRabbit

  • New Features

    • Server onboarding now triggers when the base URL starts with the snapdrop domain.
    • Broader PairDrop detection, including drop.erikraft.com.
  • Chores

    • Rebranded Snapdrop/PairDrop references to ErikrafT Drop across the app and many localizations.
    • Default base URL updated to https://drop.erikraft.com.
    • Donation moved to Ko‑fi; social links updated (X/Twitter).
    • Settings/About credits and action buttons refreshed.
    • Share/Tweet and donate links updated.
  • Documentation

    • README support link now points to Ko‑fi.

@coderabbitai
Copy link

coderabbitai bot commented Oct 7, 2025

Walkthrough

Rebrands references from Snapdrop/PairDrop to ErikrafT Drop across README, Java, JS, and string resources; updates funding and social links to Ko‑fi and X; changes default baseURL to https://drop.erikraft.com/; adjusts MainActivity checks to startsWith-based logic for baseURL and pair-drop detection.

Changes

Cohort / File(s) Summary
Link and branding updates
README.md, app/src/main/assets/init.js, app/src/main/java/com/erikraft/drop/SettingsFragment.java
Updated donation/funding links to Ko‑fi; changed Tweet URL to x.com; revised labels/credits and about/special button links to ErikrafT Drop assets and repo.
Base URL and pair-drop logic
app/src/main/java/com/erikraft/drop/MainActivity.java, app/src/main/res/values/strings_not_translatable.xml
Default baseURL changed to https://drop.erikraft.com/; onCreate comparison uses startsWith("https://snapdrop.net"); isPairDrop now true if baseURL starts with pairdrop onboarding string or https://drop.erikraft.com/, with null-check.
Core strings (default locale)
app/src/main/res/values/strings.xml
Replaced PairDrop with ErikrafT Drop in onboarding and “Send with …” strings; added guidance on choosing instances or custom URL.
Localized branding text updates (multi-locale)
app/src/main/res/values-*-*/strings.xml (e.g., .../values-ar-rSA/..., .../values-bg-rBG/..., .../values-ca-rES/..., .../values-cs-rCZ/..., .../values-de-rDE/..., .../values-el-rGR/..., .../values-es-rES/..., .../values-fr-rFR/..., .../values-hi-rIN/..., .../values-hu-rHU/..., .../values-in-rID/..., .../values-it-rIT/..., .../values-iw-rIL/..., .../values-ja-rJP/..., .../values-ko-rKR/..., .../values-ne-rNP/..., .../values-nl-rNL/..., .../values-pl-rPL/..., .../values-pt-rBR/..., .../values-pt-rPT/..., .../values-ro-rRO/..., .../values-ru-rRU/..., .../values-sk-rSK/..., .../values-sl-rSI/..., .../values-tr-rTR/..., .../values-uk-rUA/..., .../values-vi-rVN/..., .../values-zh-rCN/..., .../values-zh-rTW/... )
Across locales, updated onboarding_choose_server_description and the floating text action strings to reference ErikrafT Drop instead of Snapdrop/PairDrop; some locales adjusted additional labels/titles accordingly.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor User
  participant App as App Process
  participant Main as MainActivity
  participant Res as Resources

  User->>App: Launch app
  App->>Main: onCreate()
  Main->>Res: Load baseURL (strings_not_translatable)
  Res-->>Main: baseURL (e.g., https://drop.erikraft.com/)
  alt Onboarding trigger check
    Note over Main: If baseURL startsWith("https://snapdrop.net")
    Main->>Main: Show server selection onboarding
  else
    Main->>Main: Continue normal startup
  end

  rect rgba(230,245,255,0.5)
  Note over Main: Pair-drop detection
  Main->>Main: isPairDrop()\n- true if baseURL startsWith(pairdrop_onboarding)\n- or startsWith("https://drop.erikraft.com/")\n- null-safe
  end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Poem

I hopped through strings, a tidy sweep,
From Snap to Drop, the changes deep.
A Ko‑fi link, a cheerful beep,
New base to guard, old checks to keep.
On X I squeak, “Support my leap!”
Commit by commit, we softly peep.

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title succinctly captures the two primary changes—updating the about page credits and modifying the default server settings—without extraneous detail, accurately reflecting the main objectives and scope of the pull request.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch codex/atualizar-nome-de-cliente-e-padrao-de-url-o47is1

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (4)
app/src/main/res/values-zh-rCN/strings.xml (1)

3-3: Inconsistent branding in app title strings.

Lines 3 and 35 still reference "Snapdrop & PairDrop" in app_name_long and title_activity_about, while other strings in this file have been updated to "ErikrafT Drop". This inconsistency may confuse users who see different branding across the app.

Apply this diff to complete the rebranding:

-    <string name="app_name_long">Snapdrop &amp; PairDrop 安卓版</string>
+    <string name="app_name_long">ErikrafT Drop 安卓版</string>
-    <string name="title_activity_about">关于 Snapdrop &amp; PairDrop 安卓版</string>
+    <string name="title_activity_about">关于 ErikrafT Drop 安卓版</string>

Also applies to: 35-35

app/src/main/res/values-ru-rRU/strings.xml (1)

3-3: Inconsistent branding in app title strings.

Lines 3 and 37 still reference "Snapdrop & PairDrop" in app_name_long and title_activity_about, while other strings in this file have been updated to "ErikrafT Drop". This creates inconsistent branding across the app.

Apply this diff to complete the rebranding:

-    <string name="app_name_long">Snapdrop &amp; PairDrop для Android</string>
+    <string name="app_name_long">ErikrafT Drop для Android</string>
-    <string name="title_activity_about">О Snapdrop &amp; PairDrop для Android</string>
+    <string name="title_activity_about">О ErikrafT Drop для Android</string>

Also applies to: 37-37

app/src/main/res/values-ar-rSA/strings.xml (1)

3-3: Inconsistent branding in app title strings.

Lines 3 and 38 still reference the old branding (Snapdrop/PairDrop) in app_name_long and title_activity_about, while other strings in this file have been updated to "ErikrafT Drop". This creates inconsistent branding across the app.

Consider updating these strings to reflect the ErikrafT Drop branding consistently.

Also applies to: 38-38

app/src/main/res/values-nl-rNL/strings.xml (1)

3-3: Inconsistent branding in app title strings.

Lines 3 and 35 still reference "Snapdrop & PairDrop" in app_name_long and title_activity_about, while other strings in this file have been updated to "ErikrafT Drop". This creates inconsistent branding across the app.

Apply this diff to complete the rebranding:

-    <string name="app_name_long">Snapdrop &amp; PairDrop voor Android</string>
+    <string name="app_name_long">ErikrafT Drop voor Android</string>
-    <string name="title_activity_about">Over Snapdrop &amp; PairDrop voor Android</string>
+    <string name="title_activity_about">Over ErikrafT Drop voor Android</string>

Also applies to: 35-35

🧹 Nitpick comments (2)
app/src/main/java/com/erikraft/drop/MainActivity.java (2)

309-312: Consider using URL parsing for more precise domain matching.

Similar to the previous comment, using startsWith() for URL matching could match unintended domains. For production-grade URL validation, consider parsing the URL and checking the host component:

 private boolean isPairDrop() {
-    return baseURL != null && (baseURL.startsWith(getString(R.string.onboarding_server_pairdrop))
-            || baseURL.startsWith("https://drop.erikraft.com"));
+    if (baseURL == null) return false;
+    try {
+        String host = Uri.parse(baseURL).getHost();
+        String pairDropHost = Uri.parse(getString(R.string.onboarding_server_pairdrop)).getHost();
+        return host != null && (host.equals(pairDropHost) || host.equals("drop.erikraft.com"));
+    } catch (Exception e) {
+        return false;
+    }
 }

However, if the intent is to broadly match any URL starting with these prefixes (including subpaths), the current implementation may be acceptable.


195-197: Use host comparison instead of startsWith()
The check baseURL.startsWith("https://snapdrop.net") can match unintended domains (e.g. snapdrop.net.evil.com). Parse baseURL (e.g. Uri.parse(baseURL).getHost()) and compare it to "snapdrop.net".

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between c0c4940 and ac0939c.

📒 Files selected for processing (35)
  • README.md (1 hunks)
  • app/src/main/assets/init.js (2 hunks)
  • app/src/main/java/com/erikraft/drop/MainActivity.java (2 hunks)
  • app/src/main/java/com/erikraft/drop/SettingsFragment.java (3 hunks)
  • app/src/main/res/values-ar-rSA/strings.xml (2 hunks)
  • app/src/main/res/values-bg-rBG/strings.xml (1 hunks)
  • app/src/main/res/values-ca-rES/strings.xml (2 hunks)
  • app/src/main/res/values-cs-rCZ/strings.xml (2 hunks)
  • app/src/main/res/values-de-rDE/strings.xml (2 hunks)
  • app/src/main/res/values-el-rGR/strings.xml (2 hunks)
  • app/src/main/res/values-es-rES/strings.xml (2 hunks)
  • app/src/main/res/values-fr-rFR/strings.xml (2 hunks)
  • app/src/main/res/values-hi-rIN/strings.xml (1 hunks)
  • app/src/main/res/values-hu-rHU/strings.xml (1 hunks)
  • app/src/main/res/values-in-rID/strings.xml (2 hunks)
  • app/src/main/res/values-it-rIT/strings.xml (2 hunks)
  • app/src/main/res/values-iw-rIL/strings.xml (1 hunks)
  • app/src/main/res/values-ja-rJP/strings.xml (2 hunks)
  • app/src/main/res/values-ko-rKR/strings.xml (2 hunks)
  • app/src/main/res/values-ne-rNP/strings.xml (1 hunks)
  • app/src/main/res/values-nl-rNL/strings.xml (2 hunks)
  • app/src/main/res/values-pl-rPL/strings.xml (2 hunks)
  • app/src/main/res/values-pt-rBR/strings.xml (4 hunks)
  • app/src/main/res/values-pt-rPT/strings.xml (1 hunks)
  • app/src/main/res/values-ro-rRO/strings.xml (2 hunks)
  • app/src/main/res/values-ru-rRU/strings.xml (2 hunks)
  • app/src/main/res/values-sk-rSK/strings.xml (2 hunks)
  • app/src/main/res/values-sl-rSI/strings.xml (2 hunks)
  • app/src/main/res/values-tr-rTR/strings.xml (2 hunks)
  • app/src/main/res/values-uk-rUA/strings.xml (2 hunks)
  • app/src/main/res/values-vi-rVN/strings.xml (1 hunks)
  • app/src/main/res/values-zh-rCN/strings.xml (2 hunks)
  • app/src/main/res/values-zh-rTW/strings.xml (2 hunks)
  • app/src/main/res/values/strings.xml (2 hunks)
  • app/src/main/res/values/strings_not_translatable.xml (1 hunks)
🧰 Additional context used
🧬 Code graph analysis (1)
app/src/main/java/com/erikraft/drop/SettingsFragment.java (1)
app/src/main/java/com/erikraft/drop/utils/ShareUtils.java (1)
  • ShareUtils (14-41)
🔇 Additional comments (17)
app/src/main/res/values-ro-rRO/strings.xml (1)

12-12: Branding updates look good

Romanian strings now consistently reference ErikrafT Drop; phrasing stays natural and aligned with prior translation tone.

Also applies to: 45-46

app/src/main/res/values-ca-rES/strings.xml (1)

14-14: Localized branding update LGTM

The Catalan copy now consistently references ErikrafT Drop and remains grammatically sound. Nice catch keeping the action label and summary aligned.

Also applies to: 52-55

app/src/main/res/values-uk-rUA/strings.xml (1)

14-14: Branding copy reads well.

Ukrainian phrasing stays natural while aligning with the ErikrafT Drop brand. Good update.

Also applies to: 55-55, 58-58

app/src/main/res/values-ko-rKR/strings.xml (2)

14-14: Brand refresh localized correctly.

The onboarding copy now references ErikrafT Drop without regressing the Korean phrasing. 👍


50-53: Text-selection strings match the new branding.

Both the summary and label read naturally in Korean while reflecting the ErikrafT Drop name. Looks good.

README.md (1)

40-40: LGTM!

The support link correctly points to the ErikrafT Ko-fi page as intended.

app/src/main/res/values/strings_not_translatable.xml (1)

4-4: LGTM!

The default baseURL correctly updated to https://drop.erikraft.com/ as per the rebranding objectives.

app/src/main/res/values-zh-rCN/strings.xml (1)

14-14: LGTM!

The Chinese translations correctly reference ErikrafT Drop in the onboarding description and floating text selection strings.

Also applies to: 50-50, 53-53

app/src/main/assets/init.js (2)

31-31: LGTM!

The social link correctly updated to point to the ErikrafT X (Twitter) account.


60-60: LGTM!

The donation link correctly points to the ErikrafT Ko-fi page, consistent with other changes in this PR.

app/src/main/res/values-ru-rRU/strings.xml (1)

14-14: LGTM!

The Russian translations correctly reference ErikrafT Drop in the onboarding description and floating text selection strings.

Also applies to: 52-52, 55-55

app/src/main/res/values-ar-rSA/strings.xml (1)

14-14: LGTM!

The Arabic translations correctly reference ErikrafT Drop in the onboarding description and floating text selection strings.

Also applies to: 55-55, 58-58

app/src/main/res/values-it-rIT/strings.xml (1)

12-12: LGTM!

The Italian translations correctly reference ErikrafT Drop across all updated strings.

Also applies to: 43-44

app/src/main/res/values-nl-rNL/strings.xml (1)

14-14: LGTM!

The Dutch translations correctly reference ErikrafT Drop in the onboarding description and floating text selection strings.

Also applies to: 50-50, 53-53

app/src/main/res/values-pl-rPL/strings.xml (1)

14-14: LGTM! Polish localization updated correctly.

The Polish strings have been properly updated to reflect the ErikrafT Drop branding across onboarding descriptions and text selection features, consistent with the PR's rebranding objectives.

Also applies to: 52-52, 55-55

app/src/main/res/values/strings.xml (1)

15-15: LGTM! English strings updated correctly.

The English localization strings have been properly updated to reflect the ErikrafT Drop branding, maintaining consistency with other locale files in the PR.

Also applies to: 60-60, 63-63

app/src/main/java/com/erikraft/drop/SettingsFragment.java (1)

93-93: LGTM! Support links and credits updated correctly.

All support URLs, credits, and social links have been properly updated to reflect the ErikrafT Drop branding and Ko-fi funding page. The Unicode characters in the social button label ("𝕏|Twitter") are well-supported in modern Android versions.

Also applies to: 102-110, 112-112, 140-140, 146-146, 148-148

<string name="onboarding_choose_server">Επιλέξτε διεύθυνση διακομιστή</string>
<string name="onboarding_choose_server_short">επιλέξτε διακομιστή</string>
<string name="onboarding_choose_server_description">Αυτή η εφαρμογή είναι ένας βελτιστοποιημένος client για τις web εφαρμογές Snapdrop και PairDrop.\nΕπιλέξτε μία από τις ακόλουθες επιλογές ή καθορίστε μια προσαρμοσμένη διεύθυνση URL για να συνδεθίιτε.\n\nΣημείωση: Πρέπει να επιλέξετε το ίδιο URL σε όλες τις συσκευές.</string>
<string name="onboarding_choose_server_description">Αυτή η εφαρμογή είναι ένας βελτιστοποιημένος client για τις web εφαρμογές ErikrafT Drop και PairDrop.\nΕπιλέξτε μία από τις ακόλουθες επιλογές ή καθορίστε μια προσαρμοσμένη διεύθυνση URL για να συνδεθίιτε.\n\nΣημείωση: Πρέπει να επιλέξετε το ίδιο URL σε όλες τις συσκευές.</string>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix typo in localized onboarding text.

The updated sentence now reads “συνδεθίιτε” with a double ι, which is a typo and should be “συνδεθείτε”.

-Επιλέξτε μία από τις ακόλουθες επιλογές ή καθορίστε μια προσαρμοσμένη διεύθυνση URL για να συνδεθίιτε.
+Επιλέξτε μία από τις ακόλουθες επιλογές ή καθορίστε μια προσαρμοσμένη διεύθυνση URL για να συνδεθείτε.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
<string name="onboarding_choose_server_description">Αυτή η εφαρμογή είναι ένας βελτιστοποιημένος client για τις web εφαρμογές ErikrafT Drop και PairDrop.\nΕπιλέξτε μία από τις ακόλουθες επιλογές ή καθορίστε μια προσαρμοσμένη διεύθυνση URL για να συνδεθίιτε.\n\nΣημείωση: Πρέπει να επιλέξετε το ίδιο URL σε όλες τις συσκευές.</string>
<string name="onboarding_choose_server_description">Αυτή η εφαρμογή είναι ένας βελτιστοποιημένος client για τις web εφαρμογές ErikrafT Drop και PairDrop.\nΕπιλέξτε μία από τις ακόλουθες επιλογές ή καθορίστε μια προσαρμοσμένη διεύθυνση URL για να συνδεθείτε.\n\nΣημείωση: Πρέπει να επιλέξετε το ίδιο URL σε όλες οι συσκευές.</string>
🤖 Prompt for AI Agents
In app/src/main/res/values-el-rGR/strings.xml around line 14, the localized
onboarding string contains a typo: "συνδεθίιτε" (double 'ι'); replace it with
the correct word "συνδεθείτε" so the sentence reads correctly, ensuring the rest
of the string (newlines and punctuation) remains unchanged.

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name_long">Sobre Snapdrop &amp; PairDrop para Android</string>
<string name="app_name_long">Sobre ErikrafT Drop &amp; PairDrop para Android</string>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Fix app_name_long wording.

app_name_long should be the product name (ErikrafT Drop & PairDrop para Android). Prefixing it with “Sobre” turns the label into “About …”, so UI surfaces using this string (e.g., headers) will now display the wrong text. Please drop the “Sobre” prefix.

🤖 Prompt for AI Agents
In app/src/main/res/values-pt-rBR/strings.xml around line 3, the string value
for app_name_long incorrectly includes the prefix "Sobre" making labels read
"About …"; remove the "Sobre" prefix so the value is just "ErikrafT Drop &
PairDrop para Android" to reflect the product name exactly.

Comment on lines +52 to 56
<string name="floating_text_selection_summary">Pri izbiri besedila v drugih aplikacijah se bo prikazala možnost \"Pošlji s ErikrafT Drop-om\"</string>
<string name="show_connectivity_card_title">Opozorilo o povezljivosti</string>
<string name="show_connectivity_card_summary"> Opozori me, če nisem povezan z WiFi omrežjem</string>
<string name="floating_text_selection_activity_label">Pošlji s Snapdrop-om</string>
<string name="floating_text_selection_activity_label">Pošlji s ErikrafT Drop-om</string>
<string name="permission_not_granted">prosimo omogočite potrebna dovoljenja</string>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix Slovene preposition for vowel-starting brand name.

In Slovene we use “z” (not “s”) before words that begin with a vowel, so the new phrasing should be “Pošlji z ErikrafT Drop-om”. Please update both strings to keep the locale grammatically correct.

-    <string name="floating_text_selection_summary">Pri izbiri besedila v drugih aplikacijah se bo prikazala možnost "Pošlji s ErikrafT Drop-om"</string>
+    <string name="floating_text_selection_summary">Pri izbiri besedila v drugih aplikacijah se bo prikazala možnost "Pošlji z ErikrafT Drop-om"</string>
@@
-    <string name="floating_text_selection_activity_label">Pošlji s ErikrafT Drop-om</string>
+    <string name="floating_text_selection_activity_label">Pošlji z ErikrafT Drop-om</string>

Committable suggestion skipped: line range outside the PR's diff.

🤖 Prompt for AI Agents
In app/src/main/res/values-sl-rSI/strings.xml around lines 52 to 56, the Slovene
preposition before the brand name is incorrect; change occurrences of "Pošlji s
ErikrafT Drop-om" to "Pošlji z ErikrafT Drop-om" in both the
floating_text_selection_summary and floating_text_selection_activity_label
strings so the preposition agrees with the vowel-starting brand name; keep
existing escaping/quoting and formatting unchanged.

Copy link
Owner Author

@erikraft erikraft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👀

@erikraft erikraft closed this Oct 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant