Skip to content

[Mobile] Checks theme colors for validity and fallbacks to defaults#25440

Merged
antonis merged 6 commits intomasterfrom
rnmobile/2635_InvalidThemeColors
Sep 25, 2020
Merged

[Mobile] Checks theme colors for validity and fallbacks to defaults#25440
antonis merged 6 commits intomasterfrom
rnmobile/2635_InvalidThemeColors

Conversation

@antonis
Copy link
Copy Markdown
Member

@antonis antonis commented Sep 18, 2020

Fixes wordpress-mobile/gutenberg-mobile#2635

Gutenberg Mobile PR -> wordpress-mobile/gutenberg-mobile#2639

Description

How has this been tested?

Broken theme

  1. Open the app and select a theme with broken colors (e.g. MayWood available in premium)
  2. Open the editor (close and open again due to 2637)
  3. Add a block that has color palette (e.g. Cover or Buttons)
  4. Confirm that the default colors are loaded

Normal theme

  1. Open the app and select a theme (e.g. Seedlet)
  2. Open the editor (close and open again due to 2637)
  3. Add a block that has color palette (e.g. Cover or Buttons)
  4. Confirm that the theme colors are loaded

Types of changes

Bug fix

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.
  • I've updated all React Native files affected by any refactorings/renamings in this PR.

@antonis antonis added [Type] Bug An existing feature does not function as intended Mobile App - i.e. Android or iOS Native mobile impl of the block editor. (Note: used in scripts, ping mobile folks to change) labels Sep 18, 2020
@antonis antonis self-assigned this Sep 18, 2020
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Sep 18, 2020

Size Change: +94 B (0%)

Total Size: 1.17 MB

Filename Size Change
build/block-editor/index.js 128 kB +94 B (0%)
ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.14 kB 0 B
build/annotations/index.js 3.52 kB 0 B
build/api-fetch/index.js 3.35 kB 0 B
build/autop/index.js 2.72 kB 0 B
build/blob/index.js 620 B 0 B
build/block-directory/index.js 8.53 kB 0 B
build/block-directory/style-rtl.css 943 B 0 B
build/block-directory/style.css 942 B 0 B
build/block-editor/style-rtl.css 11.1 kB 0 B
build/block-editor/style.css 11.1 kB 0 B
build/block-library/editor-rtl.css 8.58 kB 0 B
build/block-library/editor.css 8.58 kB 0 B
build/block-library/index.js 135 kB 0 B
build/block-library/style-rtl.css 7.61 kB 0 B
build/block-library/style.css 7.6 kB 0 B
build/block-library/theme-rtl.css 741 B 0 B
build/block-library/theme.css 741 B 0 B
build/block-serialization-default-parser/index.js 1.78 kB 0 B
build/block-serialization-spec-parser/index.js 3.1 kB 0 B
build/blocks/index.js 47.5 kB 0 B
build/components/index.js 167 kB 0 B
build/components/style-rtl.css 15.5 kB 0 B
build/components/style.css 15.5 kB 0 B
build/compose/index.js 9.42 kB 0 B
build/core-data/index.js 12 kB 0 B
build/data-controls/index.js 1.27 kB 0 B
build/data/index.js 8.43 kB 0 B
build/date/index.js 31.9 kB 0 B
build/deprecated/index.js 772 B 0 B
build/dom-ready/index.js 568 B 0 B
build/dom/index.js 4.42 kB 0 B
build/edit-navigation/index.js 10.4 kB 0 B
build/edit-navigation/style-rtl.css 868 B 0 B
build/edit-navigation/style.css 871 B 0 B
build/edit-post/index.js 306 kB 0 B
build/edit-post/style-rtl.css 6.25 kB 0 B
build/edit-post/style.css 6.24 kB 0 B
build/edit-site/index.js 20.3 kB 0 B
build/edit-site/style-rtl.css 3.51 kB 0 B
build/edit-site/style.css 3.51 kB 0 B
build/edit-widgets/index.js 17.5 kB 0 B
build/edit-widgets/style-rtl.css 2.8 kB 0 B
build/edit-widgets/style.css 2.8 kB 0 B
build/editor/editor-styles-rtl.css 492 B 0 B
build/editor/editor-styles.css 493 B 0 B
build/editor/index.js 45.4 kB 0 B
build/editor/style-rtl.css 3.83 kB 0 B
build/editor/style.css 3.82 kB 0 B
build/element/index.js 4.44 kB 0 B
build/escape-html/index.js 733 B 0 B
build/format-library/index.js 7.49 kB 0 B
build/format-library/style-rtl.css 547 B 0 B
build/format-library/style.css 548 B 0 B
build/hooks/index.js 1.74 kB 0 B
build/html-entities/index.js 621 B 0 B
build/i18n/index.js 3.55 kB 0 B
build/is-shallow-equal/index.js 709 B 0 B
build/keyboard-shortcuts/index.js 2.39 kB 0 B
build/keycodes/index.js 1.85 kB 0 B
build/list-reusable-blocks/index.js 3.02 kB 0 B
build/list-reusable-blocks/style-rtl.css 476 B 0 B
build/list-reusable-blocks/style.css 476 B 0 B
build/media-utils/index.js 5.12 kB 0 B
build/notices/index.js 1.69 kB 0 B
build/nux/index.js 3.27 kB 0 B
build/nux/style-rtl.css 671 B 0 B
build/nux/style.css 668 B 0 B
build/plugins/index.js 2.44 kB 0 B
build/primitives/index.js 1.34 kB 0 B
build/priority-queue/index.js 789 B 0 B
build/redux-routine/index.js 2.85 kB 0 B
build/rich-text/index.js 13.7 kB 0 B
build/server-side-render/index.js 2.61 kB 0 B
build/shortcode/index.js 1.7 kB 0 B
build/token-list/index.js 1.24 kB 0 B
build/url/index.js 4.06 kB 0 B
build/viewport/index.js 1.74 kB 0 B
build/warning/index.js 1.13 kB 0 B
build/wordcount/index.js 1.17 kB 0 B

compressed-size-action

Copy link
Copy Markdown
Contributor

@chipsnyder chipsnyder left a comment

Choose a reason for hiding this comment

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

Using Maywood I wasn't able to recreate this issue but overall the fix looks good just left a couple smaller suggestions

import { getTranslation } from '../i18n-cache';
import initialHtml from './initial-html';
import setupApiFetch from './api-fetch-setup';
import { SETTINGS_DEFAULTS } from '../../block-editor/src/store/defaults.js';
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Hey @antonis, for imports from another module we usually would import SETTINGS_DEFAULTS like what's below.

Suggested change
import { SETTINGS_DEFAULTS } from '../../block-editor/src/store/defaults.js';
import { SETTINGS_DEFAULTS } from '@wordpress/block-editor';

gradients = validGradients;
}
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This looks good overall. Since it's the same code in both places I wonder if we would be better off creating a helper that both modules could use. Maybe a function in the block-editor component as both spots reference that already

@antonis antonis requested a review from chipsnyder September 21, 2020 11:56
@antonis antonis marked this pull request as draft September 21, 2020 13:18
@antonis antonis force-pushed the rnmobile/2635_InvalidThemeColors branch from f04670f to 006cf34 Compare September 21, 2020 15:26
@antonis antonis marked this pull request as ready for review September 21, 2020 15:30
@antonis antonis marked this pull request as draft September 22, 2020 06:53
@antonis
Copy link
Copy Markdown
Member Author

antonis commented Sep 22, 2020

Converted to DRAFT till we figure out how to handle the removal of default colors with #25419

@antonis
Copy link
Copy Markdown
Member Author

antonis commented Sep 24, 2020

Trying to import from '@wordpress/block-editor'results a lint-js error when I try to commit.
Unable to resolve path to module '@wordpress/block-editor' import/no-unresolved

This seems to be ok on CI. Probably something is wrong in my local setup.

@antonis antonis marked this pull request as ready for review September 24, 2020 20:32
@jd-alexander
Copy link
Copy Markdown
Contributor

@antonis could you try running npm run dev in the root of the Gutenberg folder to see if it helps?

Copy link
Copy Markdown
Contributor

@chipsnyder chipsnyder left a comment

Choose a reason for hiding this comment

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

LGTM! I tested with the suggested theme and everything worked well 🚀

@antonis antonis merged commit 51233ab into master Sep 25, 2020
@antonis antonis deleted the rnmobile/2635_InvalidThemeColors branch September 25, 2020 14:07
@github-actions github-actions Bot added this to the Gutenberg 9.1 milestone Sep 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Mobile App - i.e. Android or iOS Native mobile impl of the block editor. (Note: used in scripts, ping mobile folks to change) [Type] Bug An existing feature does not function as intended

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants