Skip to content

Conversation

@prince-0408
Copy link
Contributor

Fixes #572

This PR addresses two main issues related to the "View all Scribe apps" icon ( scribeKeyIcon ) in the About tab's Community section:

  1. Inconsistent Icon Sizing: The scribeKeyIcon was appearing smaller and inconsistent with other icons in the About tab, leading to a suboptimal user experience.
  2. EXC_BAD_ACCESS Crash: An EXC_BAD_ACCESS crash was occurring due to force unwrapping of optional CGImage properties within the image processing logic, particularly when handling certain image assets.
    Changes Implemented:
  • Image Processing Extensions:
    • Added trimTransparentEdges() and fitInSquareCanvas() extensions to UIImage in AppExtensions.swift . These extensions provide robust methods for removing transparent padding and fitting images into a consistent square canvas, ensuring uniform sizing.
    • Modified UIImage.availableIconImage in AppExtensions.swift to utilize these new extensions specifically for scribeKeyIcon . This ensures the icon is properly processed before display.
  • Content Mode Standardization:
    • Set iconImageView.contentMode = .scaleAspectFit in AboutTableViewCell.swift . This ensures that all icons within the About tab maintain their aspect ratio and are scaled appropriately within their bounds, preventing distortion.
  • Crash Fix ( EXC_BAD_ACCESS ):
    • Implemented safe unwrapping using guard let for cgImage and cgImage.dataProvider?.data within the trimTransparentEdges() function in AppExtensions.swift . This prevents the EXC_BAD_ACCESS crash by gracefully handling cases where image data might be nil .
  • Icon Size Adjustment:
    • Adjusted the targetSize for scribeKeyIcon in AppExtensions.swift (to 32x32 for iPad and 28x28 for iPhone) based on user feedback to ensure it is visually balanced with other icons.
Screenshot 2026-01-05 at 3 12 13 AM

@github-actions
Copy link

github-actions bot commented Jan 4, 2026

Thank you for the pull request! 💙

The Scribe-iOS team will do our best to address your contribution as soon as we can. If you're not already a member of our public Matrix community, please consider joining! We'd suggest that you use the Element client as well as Element X for a mobile app, and definitely join the General and iOS rooms once you're in. Also consider attending our bi-weekly Saturday dev syncs. It'd be great to meet you 😊

Note

Scribe uses Conventional Comments in reviews to make sure that communication is as clear as possible.

@github-actions
Copy link

github-actions bot commented Jan 4, 2026

Maintainer Checklist

The following is a checklist for maintainers to make sure this process goes as well as possible. Feel free to address the points below yourself in further commits if you realize that actions are needed :)

  • Tests for changes have been written and the CI unit test, linting and formatting workflows within the PR checks do not indicate new errors in the files changed

  • The CHANGELOG has been updated with a description of the changes for the upcoming release and the corresponding issue (if necessary)

@andrewtavis
Copy link
Member

Thanks for the PR, @prince-0408! Would you be able to fix the swiftlint errors? :)

@prince-0408
Copy link
Contributor Author

Sure

@prince-0408 prince-0408 closed this Jan 5, 2026
@prince-0408 prince-0408 reopened this Jan 5, 2026
didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
// Override point for customization after application launch.
if #available(iOS 13.0, *) {
Copy link
Member

Choose a reason for hiding this comment

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

note: This looks like changes for your other PR, @prince-0408 :) Could we remove this from this PR?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

sure, on it.

Copy link
Member

@andrewtavis andrewtavis left a comment

Choose a reason for hiding this comment

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

praise: Thanks for the great work to bring this in, @prince-0408! Really is nice to have you working on so many issues :)

note: I made the decision that all of this extra work for the icon scaling isn't really worth it. It'd be best to simply switch the icon to a globe, which I've done just now 😊

@andrewtavis
Copy link
Member

note: The text has also been updated to "Visit the Scribe website", with this being updated on Figma and in all locales :)

@andrewtavis andrewtavis merged commit f94cc78 into scribe-org:main Jan 8, 2026
3 checks passed
catreedle pushed a commit to catreedle/Scribe-iOS that referenced this pull request Jan 9, 2026
* Updated scri.be website link in About tab

* Minor update to re-run CI

* Remove unrelated AppDelegate changes from this PR

* Switch icon over to a globe and change text to visit website

---------

Co-authored-by: Andrew Tavis McAllister <[email protected]>
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.

Add scri.be website link to app About tab

2 participants