Skip to content

Conversation

@xster
Copy link
Member

@xster xster commented Sep 2, 2020

Description

#65083 made all the new CupertinoIcons IconData available. This one micro-tunes all the various demos and aesthetics. For package/flutter changes, they're backward compatible with cupertino_icon 0.1.3. For demo apps, just update to cupertino_icon 1.0.0.

Related Issues

#33916

Tests

Gallery golden

Checklist

Before you create this PR, confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I signed the CLA.
  • I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I updated/added relevant documentation (doc comments with ///).
  • All existing and new tests are passing.
  • The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
  • I am willing to follow-up on review comments in a timely manner.

Breaking Change

Did any tests fail when you ran them? Please read Handling breaking changes.

  • No, no existing tests failed, so this is not a breaking change.

@flutter-dashboard flutter-dashboard bot added f: cupertino flutter/packages/flutter/cupertino repository framework flutter/packages/flutter repository. See also f: labels. c: contributor-productivity Team-specific productivity, code health, technical debt. tool Affects the "flutter" command-line tool. See also t: labels. labels Sep 2, 2020
@flutter-dashboard
Copy link

It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption to this rule, contact Hixie on the #hackers channel in Chat.

Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing.

@xster
Copy link
Member Author

xster commented Sep 3, 2020

Unfortunately I had to run update-packages, so it dumped quite a few more files in this PR

@xster xster marked this pull request as draft September 3, 2020 17:30
@skia-gold
Copy link

Gold has detected about 3 untriaged digest(s) on patchset 8.
View them at https://flutter-gold.skia.org/cl/github/65087

@xster
Copy link
Member Author

xster commented Sep 3, 2020

Pausing this for now. I can't update any packages in flutter/flutter until I update flutter/gallery first.

flutter/gallery#288

@xster xster marked this pull request as ready for review September 3, 2020 21:33
@xster
Copy link
Member Author

xster commented Sep 3, 2020

Sorry, had to do a big detour to update the packages.

Update the packages to use it in the gallery app to golden against the real package font in screenshot.

This PR also does some micro-tuning of some spacing/color for iOS 14 with the new icons.

@skia-gold
Copy link

Gold has detected about 3 untriaged digest(s) on patchset 10.
View them at https://flutter-gold.skia.org/cl/github/65087

Copy link
Member Author

@xster xster left a comment

Choose a reason for hiding this comment

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

The gold diff look ok to me

Copy link
Member Author

Choose a reason for hiding this comment

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

This is "the main thing" this PR does. Our spacing, sizes were a bit off.

Copy link
Member Author

Choose a reason for hiding this comment

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

This is "the second thing" this PR does. Ups our template package.

Copy link
Member Author

Choose a reason for hiding this comment

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

This is the "third thing". Asserts the new icon looks in goldens.

Copy link
Member Author

Choose a reason for hiding this comment

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

This is "the fourth thing". Our colors are a bit off now.

Copy link
Contributor

Choose a reason for hiding this comment

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

nit: on iOS 14 this seems to be pure black with 20% alpha (0x33000000) and pure white with 20% alpha (0x33FFFFF) for light and dark.

Copy link
Contributor

@LongCatIsLooong LongCatIsLooong left a comment

Choose a reason for hiding this comment

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

Thank you for going over the laborious process! With the previous pull request, CupertinoIcons now has 100% coverage of all the SF symbol codepoints?

Copy link
Contributor

Choose a reason for hiding this comment

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

I wonder why the golden tests weren't failing prior to this change?

Copy link
Member Author

Choose a reason for hiding this comment

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

There aren't any golden tests prior. I just added it :)

Copy link
Contributor

Choose a reason for hiding this comment

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

nit: on iOS 14 this seems to be pure black with 20% alpha (0x33000000) and pure white with 20% alpha (0x33FFFFF) for light and dark.

@xster
Copy link
Member Author

xster commented Sep 3, 2020

CupertinoIcons now has 100% coverage of all the SF symbol codepoints?

Correct. It didn't initially but I just ended up backfilling all the glyphs we had from before. flutter/website#4570 for more details.

@xster
Copy link
Member Author

xster commented Sep 3, 2020

Umm I can't reply to #65087 (comment) for some reason. Ah cool, thanks for checking. Was this from sketch?

@LongCatIsLooong
Copy link
Contributor

no those are from Xcode 12

@xster xster force-pushed the cupertino-icon-4 branch 3 times, most recently from eff54a3 to 93242d8 Compare September 10, 2020 17:21
Copy link
Member Author

Choose a reason for hiding this comment

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

@pennzht @yjbanov I'm unfortunately removing the flutter/flutter <-> flutter/gallery linkage here.

The reason being that flutter/flutter can no longer proactively control the pub dependencies it uses (since they're effectively controlled by flutter/gallery with the one version rule) and increases maintenance cost.

I've been trying to cycle package updates through flutter/gallery first as well but have trouble rolling to gallery head and haven't been able to resolve it this week flutter/gallery#282 (comment) to unblock Flutter's 1.22 branch cut.

Some context: flutter/gallery#254 (comment), flutter/gallery#254 (comment).

Could web benchmarks be driven off of flutter/flutter's gallery https://github.com/flutter/flutter/tree/master/dev/integration_tests/flutter_gallery instead of the flutter/gallery gallery?

Is this acceptable?

Copy link
Contributor

Choose a reason for hiding this comment

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

Is this acceptable?

That would be very unfortunate. We were going to expand usage of the new gallery to benchmark the CanvasKit renderer as well. This will halt that effort too.

We have similar linkage between flutter/flutter and flutter/plugins. What are we doing wrong with flutter/gallery that it leads to so much pain?

Copy link
Member Author

Choose a reason for hiding this comment

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

Could you point me to it? I didn't find it in the codebase.

Copy link
Contributor

Choose a reason for hiding this comment

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

The macrobenchmarks app depends on several plugins, such as shared_preferences and url_launcher.

Copy link
Member Author

Choose a reason for hiding this comment

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

Ah I see what you mean. Right it does. flutter/flutter has pub dependencies against released pub packages which is fine. Pub can dependency resolve the asks in pubspec.yaml for all pubspecs in the repo and produce a pubspec.lock (which seems to be fed back into pubspec.yaml in flutter/flutter's case). It doesn't add a git dependency on the flutter/plugin repo.

The difference here is that it's no longer a 1-tiered resolution. The pubspec.lock resolution in the gallery repo is already resolved. Those become the specific pubspec.yaml asks feeding into flutter/flutter.

If I change a shared_preferences dependency in flutter/flutter today, I can use flutter update-packages --force-upgrade. It'll find all instances and pull a valid resolved version. It can't account for flutter/gallery.

This is of course solvable, but it implies building more tooling into flutter/flutter to account for flutter/gallery and push synchronized PRs back into flutter/gallery.

Copy link
Contributor

Choose a reason for hiding this comment

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

@pennzht has a plan to fix this (https://docs.google.com/document/d/1eI9OqjGbyKSAGQVupN6Wjz3NmrOjhLG2JSPWkvJMyfs). In the meantime, is it possible to make it work with the current setup, so we have time to fix it in the next couple of weeks?

Copy link
Member Author

Choose a reason for hiding this comment

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

Thanks for taking this on. Yes, I can wait. I've done a reduced-scope workaround for the time being. My timing concerns are mainly around getting our visuals correct now that iOS 14 is launched so I'd like to get this through at some point this month but it's not urgent.

Copy link
Contributor

Choose a reason for hiding this comment

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

Ok, so let's remove the gallery benchmarks for now. After a discussion with @pennzht @Hixie @jmagman @jonahwilliams and @christopherfujino we decided to move the benchmarks into the customer shard. We'll start working on that.

@xster xster requested a review from pennzht September 11, 2020 17:47
@xster xster requested a review from yjbanov September 11, 2020 17:47
Copy link
Contributor

@yjbanov yjbanov left a comment

Choose a reason for hiding this comment

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

LGTM for gallery benchmark removal.

@xster
Copy link
Member Author

xster commented Oct 16, 2020

Looks like all the failures are infra flakes failing to git clone. Restarting

@xster
Copy link
Member Author

xster commented Oct 16, 2020

Screen Shot 2020-10-16 at 1 21 45 PM

a few of the retries flaked again on clone :S

running again

@xster
Copy link
Member Author

xster commented Oct 17, 2020

Screen Shot 2020-10-16 at 10 34 32 PM

Looks like the flake reruns finished but isn't updating back the github checks for some reason. Submitting.

@xster xster merged commit 3302a12 into flutter:master Oct 17, 2020
@xster xster deleted the cupertino-icon-4 branch October 17, 2020 05:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c: contributor-productivity Team-specific productivity, code health, technical debt. f: cupertino flutter/packages/flutter/cupertino repository framework flutter/packages/flutter repository. See also f: labels. tool Affects the "flutter" command-line tool. See also t: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants