Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.70.0 #4491

Merged
merged 273 commits into from
Jan 20, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
273 commits
Select commit Hold shift + click to select a range
769e7f5
Merge pull request #4015 from wordpress-mobile/add/tiled-gallery-bloc…
guarani Sep 23, 2021
1effda7
Update Jetpack reference
Sep 28, 2021
79ba857
Update reference to Gutenberg
Sep 29, 2021
5231b63
Update Gutenberg reference
Oct 4, 2021
e9a2eab
Bringing columns attributes changes for Jetpack Tiled Gallery to gbmo…
Oct 20, 2021
c4c30ad
Merge pull request #4141 from wordpress-mobile/tiled-gallery-columns
illusaen Oct 20, 2021
c189092
Updating submodule hash for jetpack -- Jetpack Tiled Gallery save wor…
Oct 21, 2021
4421546
Skippiing jetpack tiled gallery unit test for now as the infinite rec…
Oct 27, 2021
f647bb2
Merge branch 'develop' into add/tiled-gallery-block
Oct 28, 2021
a4de645
Merge branch 'add/tiled-gallery-block' into add/squared-aspect-ratio
Oct 28, 2021
47b351c
Updating jetpack hash for merge conflict.
Oct 28, 2021
a281afa
Update Jetpack reference
Oct 29, 2021
8b7374e
Merge branch 'develop' into tiled-gallery-save-workaround
Oct 29, 2021
4cf52c1
Merge branch 'add/tiled-gallery-block' into tiled-gallery-save-workar…
Oct 29, 2021
2089328
Updating hash
Nov 1, 2021
cc4977b
update gutenberg submodule ref
guarani Nov 2, 2021
0d2e9ea
Merge branch 'develop' into add/tiled-gallery-block
guarani Nov 2, 2021
175cf65
Merged in latest from feature branch
guarani Nov 2, 2021
1eba9e8
Update to Gutenberg feature branch
guarani Nov 2, 2021
123fda4
Merge pull request #4143 from wordpress-mobile/tiled-gallery-save-wor…
guarani Nov 2, 2021
ce1d870
Update latest reference to Jetpack
Nov 2, 2021
d935709
Merge branch 'add/tiled-gallery-block' into add/squared-aspect-ratio
Nov 2, 2021
cb131a1
Update reference to Jetpack
Nov 2, 2021
392c454
Merge pull request #4017 from wordpress-mobile/add/squared-aspect-ratio
Nov 2, 2021
e17bba2
Update reference to Jetpack
Nov 2, 2021
c1815d9
Update reference to Jetpack
Nov 2, 2021
6cc83e5
Update Jetpack submodule ref
guarani Nov 2, 2021
01d3700
Update reference to Jetpack
Nov 3, 2021
e60ce19
Merge pull request #4194 from wordpress-mobile/update/tiled-gallery-p…
Nov 3, 2021
da045bc
Update Jetpack submodule hash
guarani Nov 3, 2021
2886706
Merge branch 'add/tiled-gallery-block' into fix/tiled-gallery-inner-b…
guarani Nov 3, 2021
6d145bc
Merge pull request #4196 from wordpress-mobile/fix/tiled-gallery-inne…
guarani Nov 3, 2021
bf98f1c
Updating submodule hash for jetpack for removing save workaround.
Nov 4, 2021
0df518a
Update Jetpack reference
Nov 5, 2021
1ff00a2
Merge branch 'add/tiled-gallery-block' into fix/block-icon-colour
Nov 5, 2021
8c37fa9
Merge pull request #4193 from wordpress-mobile/fix/block-icon-colour
Nov 5, 2021
cdc521d
Updating hash.
Nov 5, 2021
d94b390
Merge branch 'add/tiled-gallery-block' into tiled-gallery-removing-wo…
Nov 5, 2021
a0b6626
Merge pull request #4205 from wordpress-mobile/tiled-gallery-removing…
illusaen Nov 5, 2021
2bea4ca
Update Jetpack hash
guarani Nov 9, 2021
800c516
Update submodule hash
guarani Nov 10, 2021
d27f566
Merge pull request #4221 from wordpress-mobile/add/tiled-gallery-bloc…
guarani Nov 10, 2021
b2f3322
Merge branch 'develop' into add/tiled-gallery-block
Nov 16, 2021
065b950
Update reference to Gutenberg
Nov 16, 2021
d506905
Update reference to Jetpack
Nov 16, 2021
4400337
Merge branch 'develop' into try/hide-child-block-controls
Nov 16, 2021
69a694d
Merge branch 'add/tiled-gallery-block' into try/hide-child-block-cont…
Nov 16, 2021
dd1e456
Merge pull request #4246 from wordpress-mobile/try/hide-child-block-c…
Nov 16, 2021
a6155a4
'registerJetpackBlocks' before running tests
Nov 18, 2021
0e1c9ba
Merge pull request #4255 from wordpress-mobile/fix/tiled-gallery/fail…
Nov 18, 2021
82b1ea4
Update Gutenberg and Jetpack references
Nov 25, 2021
908a327
Merge branch 'develop' into add/tiled-gallery-block
Nov 25, 2021
ac1c22c
Update Jetpack submodule ref
guarani Nov 16, 2021
9cd6271
Merge pull request #4249 from wordpress-mobile/add/tiled-gallery-bloc…
guarani Nov 25, 2021
342bc46
Update reference to Jetpack
Nov 26, 2021
c716a26
Update reference to Jetpack
Nov 29, 2021
96d1a0d
Merge pull request #4304 from wordpress-mobile/update/tiled-gallery-l…
Nov 29, 2021
c9b3202
Update bundle for iOS build
Dec 3, 2021
239447d
Update Gutenberg reference
Dec 8, 2021
b08ac80
Update Gutenberg reference
Dec 8, 2021
bf63f4d
Merge branch 'develop' into update/hide-help-button-from-ube
Dec 8, 2021
eeef532
Bundle changes
Dec 8, 2021
a814387
Empty commit to rerun buildkite tests.
Dec 8, 2021
38a5e1e
Update referencr to Gutenberg
Dec 9, 2021
9103cfe
Update Gutenberg reference
Dec 9, 2021
ec625d5
Merge branch 'update/hide-help-button-from-ube' of https://github.com…
Dec 9, 2021
0f4408e
Merge branch 'update/hide-help-button-from-ube' of https://github.com…
Dec 9, 2021
72918fc
Revert .gitmodules change
Dec 9, 2021
029faec
Hide help button via external-style-overrides.css
Dec 9, 2021
3568736
Update reference to Gutenberg
Dec 9, 2021
685695e
Apply bundle changes
Dec 9, 2021
317e869
Merge branch 'update/hide-help-button-from-ube' of github.com:wordpre…
Dec 9, 2021
985ff06
Merge branch 'develop' into update/hide-help-button-from-ube
Dec 9, 2021
6d2d8ce
Apply package-lock changes
Dec 10, 2021
808564d
Merge branch 'update/hide-help-button-from-ube' of https://github.com…
Dec 10, 2021
fcf4bc6
Update reference to Gutenberg
Dec 10, 2021
a2f6b5d
Apply package-lock changes
Dec 10, 2021
a508a6f
Update Gutenberg reference
Dec 10, 2021
8507071
Update bundle
Dec 10, 2021
b3e5b7b
Update Gutenberg reference
Dec 14, 2021
99c5cd7
Merge branch 'develop' into update/hide-help-button-from-ube
Dec 14, 2021
9ba149c
Bundle changes
Dec 14, 2021
8f8c2f9
Apply package-lock changes
Dec 14, 2021
bcb75bd
Enable .css files to be referenced from resources folder in iOS
Dec 14, 2021
748f72e
Update release notes
Dec 14, 2021
41219f2
Apply bundle changes
Dec 14, 2021
d8e832b
Update Gutenberg reference
Dec 17, 2021
26964d0
Merge branch 'update/hide-help-button-from-ube' of github.com:wordpre…
Dec 17, 2021
79e5caf
Apply changes from package.json and package-lock.json
Dec 17, 2021
2e7154b
Apply bundle changes
Dec 17, 2021
6b3246f
Apply changes to package-lock.json
Dec 17, 2021
979b47c
Apply package-lock changes
Dec 17, 2021
fae6265
Update reference to Gutenberg
Dec 21, 2021
4dedd70
Merge branch 'develop' into add/color-contrast-checker
Dec 21, 2021
d97aefc
Update gutenberg submodule ref
mchowning Dec 21, 2021
17f58bb
Run Androind native-bridge tests on CI
mchowning Dec 21, 2021
b1bf851
Update Gutenberg reference
mchowning Dec 21, 2021
ead1c7e
Add release note for Hebrew and Indonesian langauge handling fix
mchowning Dec 21, 2021
2a4a781
Update Gutenberg reference
Dec 22, 2021
ff7c03a
Use i18n update script when generating JS bundle
fluiddot Dec 29, 2021
6e241e1
Remove makepot commands and no longer needed scripts
fluiddot Dec 29, 2021
3e66063
Remove translation files of jetpack and layout-grid
fluiddot Dec 29, 2021
6693dda
Use translation files from i18n-cache folder
fluiddot Dec 29, 2021
5405d5d
Update localization strings files
fluiddot Dec 29, 2021
109eb44
Merge branch 'add/i18n-update-script' into add/use-i18n-update-on-bundle
fluiddot Dec 30, 2021
b015a64
Update localization strings files
fluiddot Dec 30, 2021
3b4b6d1
Merge remote-tracking branch 'origin/develop' into fix/deprecated-lan…
mchowning Jan 4, 2022
7d5a272
Merge branch 'add/i18n-update-script' into add/use-i18n-update-on-bundle
fluiddot Jan 5, 2022
3fc857a
Update android-build-image docker image version
fluiddot Jan 5, 2022
5d65aff
Add skip if cache option to i18n update script
fluiddot Jan 5, 2022
3a68754
Update .gitignore
fluiddot Jan 5, 2022
3c3bb03
Attach i18n update to postinstall command
fluiddot Jan 5, 2022
b423c75
Extract update gutenberg i18n cache to a function
fluiddot Jan 5, 2022
f89eb16
Fix i18n update upon dependencies install
fluiddot Jan 5, 2022
fb9e3f5
Update i18n cache path in CircleCI jobs
fluiddot Jan 5, 2022
45422de
Update gb-mobile-image docker image version
fluiddot Jan 5, 2022
0520b72
Merge branch 'develop' into add/tiled-gallery-block
guarani Jan 5, 2022
de7cbda
Update Jetpack submodule
guarani Jan 5, 2022
c07e890
Update Jetpack submodule ref
guarani Jan 5, 2022
78d7fed
Update Jetpack submodule ref
guarani Jan 7, 2022
9af4de6
Add i18n check cache script
fluiddot Jan 7, 2022
fee0e59
Add Tiled Gallery to Jetpack test setup
guarani Jan 7, 2022
25730b1
Merge pull request #4439 from wordpress-mobile/fix/tiled-gallery-bloc…
guarani Jan 7, 2022
9008dbd
Merge branch 'add/tiled-gallery-block' into fix/tiled-gallery-block-p…
guarani Jan 7, 2022
19053a8
Update Jetpack reference
Jan 7, 2022
ec0f28c
Merge branch 'add/tiled-gallery-block' into tiled-gallery/set-max-col…
Jan 7, 2022
e5d4dda
Update Jetpack reference
Jan 7, 2022
bd6e430
Merge pull request #4441 from wordpress-mobile/tiled-gallery/set-max-…
Jan 7, 2022
3e818b9
Make Tiled Gallery unavailable on prod
guarani Jan 7, 2022
535b7ee
Update script description
fluiddot Jan 7, 2022
0832eda
Update Gutenberg ref
fluiddot Jan 7, 2022
c896b94
Remove git conflict resolution markers
Jan 7, 2022
9a78ea8
Revert accidental whitespace change
Jan 7, 2022
144a07d
Add WP_CLI_ALLOW_ROOT env variable to pipeline
fluiddot Jan 7, 2022
aa5e99a
Update Gutenberg version
dcalhoun Jan 7, 2022
089c867
Update Jetpack submodule ref
guarani Jan 7, 2022
89a1eab
Merge branch 'add/tiled-gallery-block' into fix/tiled-gallery-block-p…
guarani Jan 7, 2022
952c88b
Update Jetpack submodule ref
guarani Jan 7, 2022
b014564
Update Jetpack submodule ref
guarani Jan 7, 2022
9c998ce
Update gb-mobile-image version for testing
fluiddot Jan 7, 2022
a161e6b
Merge branch 'add/tiled-gallery-block' into fix/tiled-gallery-block-p…
guarani Jan 7, 2022
c68a1b3
Update Gutenberg ref
fluiddot Jan 7, 2022
ce8a4e2
Merge pull request #4433 from wordpress-mobile/fix/tiled-gallery-bloc…
guarani Jan 7, 2022
b218d8c
Add release notes entry
dcalhoun Jan 7, 2022
bd4947d
Update Gutenberg version
dcalhoun Jan 7, 2022
22d7e15
Merge pull request #4443 from wordpress-mobile/bug/fix-link-picker-fr…
dcalhoun Jan 7, 2022
dcae8cf
Merge branch 'develop' into merge_release_1.69.0_to_develop
mkevins Jan 10, 2022
77409a4
Update gutenberg reference
mkevins Jan 10, 2022
68d7091
Merge pull request #4448 from wordpress-mobile/merge_release_1.69.0_t…
mkevins Jan 10, 2022
40fa739
Use latest gb-mobile-image version
fluiddot Jan 10, 2022
b0c47c9
Update Gutenberg ref
fluiddot Jan 10, 2022
7350438
Merge branch 'develop' into add/use-i18n-update-on-bundle
fluiddot Jan 10, 2022
2f735a6
Remove wrong parameter validation
fluiddot Jan 11, 2022
c44a212
Remove unnecessary plugin_name parameter
fluiddot Jan 11, 2022
657b6d0
Update reference to Jetpack
Jan 11, 2022
b86cf37
Merge branch 'develop' into add/tiled-gallery-block
Jan 11, 2022
fc7373d
Update Gutenberg ref
fluiddot Jan 11, 2022
5f65209
Update release notes
fluiddot Jan 11, 2022
6e81af1
Update Gutenberg ref with merge commit
fluiddot Jan 11, 2022
07f28c3
Update Gutenberg reference
Jan 12, 2022
669ec8d
Merge branch 'develop' into add/color-contrast-checker
Jan 12, 2022
3a3b2cf
Update README
Jan 12, 2022
e797969
Add i18n section to README
fluiddot Jan 12, 2022
233d8e9
Update i18n section in README
fluiddot Jan 12, 2022
764b98b
Update i18n section in README
fluiddot Jan 12, 2022
d32ded6
Update Gutenberg ref
geriux Jan 12, 2022
c5d0818
Update Gutenberg ref
geriux Jan 12, 2022
4c8d396
Merge pull request #4411 from wordpress-mobile/add/use-i18n-update-on…
fluiddot Jan 12, 2022
3f38e94
Merge branch 'develop' into fix/gallery-migration-bug
geriux Jan 12, 2022
10d2046
Merge pull request #4456 from wordpress-mobile/fix/gallery-migration-bug
geriux Jan 12, 2022
777b22f
Update Gutenberg reference
Jan 12, 2022
4bb4748
Merge branch 'develop' into add/color-contrast-checker
Jan 12, 2022
7436215
Merge pull request #4357 from wordpress-mobile/add/color-contrast-che…
Jan 12, 2022
62970b5
Update i18n section in README.md
fluiddot Jan 13, 2022
65c2402
Update i18n section in README.md
fluiddot Jan 13, 2022
c847b87
Merge pull request #4455 from wordpress-mobile/add/i18n-documentation
fluiddot Jan 13, 2022
bfa74ef
Update Jetpack submodule ref
guarani Jan 13, 2022
48a10a8
Update reference to Gutenberg
Jan 14, 2022
3da0cb1
Merge branch 'develop' into update/hide-help-button-from-ube
Jan 14, 2022
dcf59dc
Update RELEASE-NOTES
Jan 14, 2022
a6abe3f
Update RELEASE-NOTES
Jan 14, 2022
0b2cf47
Apply bundle updates
Jan 14, 2022
53b3cf3
Update Gutenberg reference
Jan 14, 2022
642e4ba
Merge branch 'develop' into add/tiled-gallery-block
guarani Jan 14, 2022
a83bf5b
Update Gutenberg submodule ref
guarani Jan 14, 2022
e2c8aef
Merge pull request #4352 from wordpress-mobile/update/hide-help-butto…
Jan 14, 2022
149e7b0
Update Gutenberg ref
geriux Jan 14, 2022
6751674
Merge pull request #4463 from wordpress-mobile/fix/font-size-loop
geriux Jan 14, 2022
4f53695
Update bundle
guarani Jan 14, 2022
4cc7081
Merge branch 'develop' into add/tiled-gallery-block
guarani Jan 14, 2022
3b9cb42
Update Gutenberg submodule ref
guarani Jan 14, 2022
f9d6886
Update Gutenberg ref with merge commit
fluiddot Jan 14, 2022
af4894a
Merge branch 'develop' into fix/buttons-alignment-options
fluiddot Jan 14, 2022
ceeb2b9
Remove i18n cache .gitignore file
fluiddot Jan 14, 2022
e974ac6
Merge pull request #4451 from wordpress-mobile/fix/buttons-alignment-…
fluiddot Jan 14, 2022
4c12a08
Add clean:i18n command
fluiddot Jan 14, 2022
6642e84
Merge pull request #4469 from wordpress-mobile/add/clean-i18n-cache
fluiddot Jan 14, 2022
b852594
Merge remote-tracking branch 'origin/develop' into fix/deprecated-lan…
mchowning Jan 14, 2022
104dbb6
Update gutenberg submodule ref
mchowning Jan 14, 2022
f376fdb
Merge pull request #4397 from wordpress-mobile/fix/deprecated-languag…
mchowning Jan 14, 2022
a89bdd7
Force check i18n cache when cleaning project
fluiddot Jan 14, 2022
c02c750
Merge pull request #4474 from wordpress-mobile/fix/clean-i18n-cache-c…
guarani Jan 14, 2022
628e86f
Fix missing Featured Image translations (#4464)
jhnstn Jan 14, 2022
87e4a4a
Update Gutenberg version
dcalhoun Jan 14, 2022
710ed80
Update Gutenberg version
dcalhoun Jan 14, 2022
308016d
Add release notes entry
dcalhoun Jan 14, 2022
eb435db
Merge branch 'develop' into add/tiled-gallery-block
guarani Jan 17, 2022
96b8ec9
Update Gutenberg submodule ref
guarani Jan 17, 2022
464565f
Assure directory for localization strings files output
fluiddot Jan 17, 2022
05632ad
Updated bundle
guarani Jan 17, 2022
078a321
Update gutenberg submodule hash to 726264362d2a01ff0b12b20560348c68e7…
wpmobilebot Jan 17, 2022
3e2f1e4
Point to Gutenberg hash with wp-mobile-utils v1.40.0
hypest Jan 17, 2022
1d26f2c
Bump GB hash
hypest Jan 17, 2022
579d296
Update release notes
fluiddot Jan 17, 2022
fd2e100
Ignore local environment .tool-versions configuration file
dcalhoun Jan 16, 2022
e452e1d
Format .gitignore file
dcalhoun Jan 17, 2022
f26c2de
Merge pull request #4476 from wordpress-mobile/chore/ignore-tool-vers…
dcalhoun Jan 17, 2022
e4a5e5d
Update Gutenberg version
dcalhoun Jan 17, 2022
63905aa
Merge pull request #4475 from wordpress-mobile/bug/wrap-overflowing-c…
dcalhoun Jan 17, 2022
3d3dbd4
Update Gutenberg ref
geriux Jan 18, 2022
504d1f8
Update Release notes
geriux Jan 18, 2022
8629e5c
Merge pull request #4471 from wordpress-mobile/fix/highlight-text-imp…
geriux Jan 18, 2022
b9eb1e4
Merge pull request #4478 from wordpress-mobile/fix/localization-strin…
fluiddot Jan 18, 2022
8a38219
Update gutenberg submodule ref
mchowning Jan 18, 2022
3430ea1
Merge remote-tracking branch 'origin/develop' into fix/bump-wp-utils-lib
mchowning Jan 18, 2022
f63c4a1
Merge pull request #4480 from wordpress-mobile/fix/bump-wp-utils-lib
mchowning Jan 18, 2022
114db7b
Update submodule references
Jan 19, 2022
68f5386
Merge branch 'develop' into add/tiled-gallery-block
Jan 19, 2022
a094b39
Apply bundle changes
Jan 19, 2022
fb4f225
Revert changes to JSON files
Jan 19, 2022
bc18ab0
Revert accidental deletion of json files
Jan 19, 2022
8021f59
Update gutenberg submodule hash to 8e4b568c540e99a586e047c955ea722060…
wpmobilebot Jan 19, 2022
0b38fca
Update Gutenberg ref with merge commit
fluiddot Jan 19, 2022
78b5f55
Merge branch 'develop' into version-toolkit/gutenberg/rnmobile/fix/tr…
fluiddot Jan 19, 2022
dab3005
Update Gutenberg submodule ref
guarani Jan 19, 2022
c1d6f4b
Merge pull request #4479 from wordpress-mobile/version-toolkit/gutenb…
fluiddot Jan 19, 2022
b4525c7
Fix Tiled Gallery capability
guarani Jan 19, 2022
3af4c54
Merge branch 'develop' into add/tiled-gallery-block
guarani Jan 19, 2022
9df7385
Point to latest Gutenberg submodule
guarani Jan 19, 2022
2a4997b
Updated Tiled Gallery test
guarani Jan 19, 2022
a3a0ffb
Merge pull request #4291 from wordpress-mobile/add/tiled-gallery-block
guarani Jan 19, 2022
797d652
Merge branch 'develop' into merge_release_1.69.1_to_develop
mkevins Jan 19, 2022
b5a044d
Update gutenberg reference
mkevins Jan 19, 2022
93f8a1c
Merge pull request #4489 from wordpress-mobile/merge_release_1.69.1_t…
mkevins Jan 20, 2022
7ff25d3
Release script: Update gb mobile version to 1.70.0
fluiddot Jan 20, 2022
b321a7c
Release script: Update gutenberg ref
fluiddot Jan 20, 2022
aca8648
Release script: Update bundle for: 1.70.0
fluiddot Jan 20, 2022
c243eb1
Update Gutenberg ref
fluiddot Jan 20, 2022
c242a26
Add 1.70.0 section to release notes
fluiddot Jan 20, 2022
936093f
Update bundle
fluiddot Jan 20, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .buildkite/pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ steps:
image: "public.ecr.aws/automattic/gb-mobile-image:latest"
environment:
- "CI=true"
# Allow WP-CLI to be run as root, otherwise it throws an exception.
# Reference: https://git.io/J9q2S
- "WP_CLI_ALLOW_ROOT=true"
command: |
source /root/.bashrc

Expand Down
9 changes: 6 additions & 3 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ commands:
key: npm-i18n-v5-cache-v{{ .Environment.CACHE_TRIGGER_VERSION }}-job-{{ .Environment.CIRCLE_JOB }}-{{ checksum "package-lock.json" }}
paths:
- ~/.npm
- i18n-cache/data
- src/i18n-cache
npm-install-full:
steps:
- restore_cache:
Expand All @@ -39,7 +39,7 @@ commands:
key: npm-i18n-v5-cache-v{{ .Environment.CACHE_TRIGGER_VERSION }}-job-{{ .Environment.CIRCLE_JOB }}-{{ checksum "gutenberg/package-lock.json" }}
paths:
- ~/.npm
- i18n-cache/data
- src/i18n-cache
checkout-shallow:
steps:
- run:
Expand Down Expand Up @@ -248,8 +248,11 @@ jobs:
- install-node-version
- npm-install
- run:
name: Run Android native unit tests
name: Run Android native-editor unit tests
command: cd gutenberg/packages/react-native-editor/android && ./gradlew testDebug
- run:
name: Run Android native-bridge unit tests
command: cd gutenberg/packages/react-native-bridge/android && ./gradlew test
ios-device-checks:
parameters:
post-to-slack:
Expand Down
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ bundle/ios/assets/gutenberg/packages/block-library/src/*

# Local configuration file (sdk path, etc)
local.properties
.tool-versions

# XCode
build/
Expand Down Expand Up @@ -117,6 +118,11 @@ bin/wp-cli.phar
/junit.xml

# Cocoapods

ios/Pods
ios/vendor

# i18n update
i18n-test/

# i18n cache
src/i18n-cache/
2 changes: 1 addition & 1 deletion Gutenberg.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Pod::Spec.new do |s|
s.requires_arc = true
s.preserve_paths = 'bundle/ios/*'
s.swift_version = '5.0'
s.resources = ['gutenberg/packages/react-native-bridge/common/**/*.{js,css,json}', 'src/block-support/supported-blocks.json', 'resources/**/*.js']
s.resources = ['gutenberg/packages/react-native-bridge/common/**/*.{js,css,json}', 'src/block-support/supported-blocks.json', 'resources/**/*.{js,css}']

s.dependency 'React', react_native_version
s.dependency 'React-CoreModules', react_native_version
Expand Down
77 changes: 77 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,83 @@ To have the linter also _fix_ the violations run: `npm run lint:fix`.

You might want to use Visual Studio Code as an editor. The project includes the configuration needed to use the above codestyle and linting tools automatically.

## Internationalization (i18n)

The support for i18n in the project is provided by three main areas for the different plugins included in Gutenberg Mobile:
1. Translations files download
2. Locale setup
3. Localization strings file generation

### Main areas

#### Translation files download
A translation file is basically a JSON object that contains key-value items with the translation for each individual string. This content is fetched from [translate.wordpress.org](https://translate.wordpress.org/) that holds translations for WordPress and a list of different plugins like Gutenberg.

These files are cached under the folder located at `src/i18n-cache/<PLUGIN_NAME>`, and can be optimized depending on the command used for fetching them. Additionally, an index file (`index.js`) is generated that acts as the entry point to import and get translations for each plugin.

Fetched translations contain all the strings of the plugin, including strings that are not used in the native version of the editor, however, and in order to reduce their file size, they can be optimized by filtering out the unused strings.

By default, when installing dependencies, un-optimized translations will be downloaded for the plugins specified in the `i18n:check-cache` NPM command within the `package.json` file. The reason for getting the un-optimized version is purely for speed reasons, as the optimization process takes up several minutes.

For the optimized versions, similarly, we have the `i18n:update` NPM command that can be used for this purpose. This command is also automatically run when generating the bundle via `npm run bundle`, this way we guarantee that a new version of the bundle contains up-to-date translations. On the other hand, it's important to mention that this command also generates the localization strings files described in a later section.

#### Locale setup
This is done upon the [editor initialization](https://github.com/wordpress-mobile/gutenberg-mobile/blob/develop/src/index.js), an array containing the following items related to each plugin is passed:
```
[
{
domain: <DOMAIN / PLUGIN NAME>, (i.e. `jetpack`)
getTranslation: <CALLBACK_FOR_GETTING_TRANSLATION> (i.e. `getTranslation` function imported from `src/i18n-cache/jetpack/index.js`)
},
...
]
```

#### Localization strings file generation
Some of the strings referenced in the editor are only used in the native version, these strings are not included in the translations fetched from [translate.wordpress.org](https://translate.wordpress.org/), however, they are part of the WordPress app translations. For this reason, we generate the following localization strings files, which contain these types of string, for each platform, and that are bundled and incorporated in the translation pipeline of the app.
- [`bundle/android/strings.xml`](https://github.com/wordpress-mobile/gutenberg-mobile/blob/develop/bundle/android/strings.xml)
- [`bundle/ios/GutenbergNativeTranslations.swift`](https://github.com/wordpress-mobile/gutenberg-mobile/blob/develop/bundle/ios/GutenbergNativeTranslations.swift)

These files are generated via the `i18n:update` NPM command, and like translations, they are also produced when generating the bundle.

### NPM commands
- `npm run i18n:update`: Downloads optimized translations and generate localization strings files for all plugins. **NOTE:** This command is attached to `bundle` NPM command via `prebundle:js`, so it will be automatically executed when generating a bundle.
- `npm run i18n:check-cache`: Downloads un-optimized translations for plugins that don't have a cache folder. **NOTE:** This command is attached to dependency installation via `postinstall`, so it will be automatically executed when installing dependencies.

### How to add a new plugin
1. Identify the i18n domain, which usually matches the plugin's name (i.e. `jetpack`).
2. Identify the path to the plugin source code (i.e. `./jetpack/projects/plugins/jetpack/extensions`).
3. Append the plugin's name to the arguments of `i18n:check-cache` NPM command.
4. Append the plugin's name and source code path to the arguments of `i18n:update` NPM command.
5. Add the i18n domain of the plugin and the callback for getting translation to the [editor initialization](https://github.com/wordpress-mobile/gutenberg-mobile/blob/develop/src/index.js).
*Example:*
```
import { getTranslation as getJetpackTranslation } from './i18n-translations/jetpack';
...

const pluginTranslations = [
{
domain: 'jetpack',
getTranslation: getJetpackTranslation,
},
...
];
```

## Caveats
- Strings that are only used in the native version, and reference a [context](https://developer.wordpress.org/plugins/internationalization/how-to-internationalize-your-plugin/#disambiguation-by-context), won't be included in the localization strings files hence, they won't be translated. This is a limitation in the format of the localization strings files.
- Localization strings files don’t support domains, so the strings extracted from plugins that are only used in the native version, will be unified in the same file, which might involve string conflicts.

## Troubleshooting

### A string is missing the translation
This can be produced by several causes, check the following steps in order to identify the source:
- Verify that the string uses the `__` i18n function or similar ([reference](https://github.com/WordPress/gutenberg/blob/trunk/packages/i18n/README.md)).
- Check for warnings in the output when running `i18n:update` NPM command, especially the following ones:
- Parsing files issues (i.e. `Debug (make-pot): Could not parse file <FILE>`)
- Missing strings in translation files (i.e. `WARNING: The following strings are missing from translations:`)
- If the string is only used in the native version, the translation won't be available until the a new version of the app is cut and its translations are requested. Check if the string is included in the localization strings files, if not, verify the output of `i18n:update` NPM command and look for warnings that reference the string.

## License

Gutenberg Mobile is an Open Source project covered by the [GNU General Public License version 2](LICENSE).
Expand Down
11 changes: 11 additions & 0 deletions RELEASE-NOTES.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
Unreleased
---

1.70.0
---
* [**] Fix content justification attribute in Buttons block [https://github.com/wordpress-mobile/gutenberg-mobile/pull/4451]
* [*] Hide help button from Unsupported Block Editor. [https://github.com/wordpress-mobile/gutenberg-mobile/pull/4352/]
* [*] Add contrast checker to text-based blocks [https://github.com/wordpress-mobile/gutenberg-mobile/pull/4357]
* [*] Fix missing Featured Image translations [https://github.com/wordpress-mobile/gutenberg-mobile/pull/4464]
* [*] Fix missing translations of color settings [https://github.com/wordpress-mobile/gutenberg-mobile/pull/4479]
* [*] Fix cut-off setting labels by properly wrapping the text [https://github.com/wordpress-mobile/gutenberg-mobile/pull/4475]
* [*] Highlight text: fix applying formatting for non-selected text [https://github.com/wordpress-mobile/gutenberg-mobile/pull/4471]
* [**] Fix Android handling of Hebrew and Indonesian translations [https://github.com/wordpress-mobile/gutenberg-mobile/pull/4397]

1.69.1
---
* [*] Fix app freeze when closing link picker while virtual keyboard is hidden [https://github.com/wordpress-mobile/gutenberg-mobile/pull/4443]
Expand Down
68 changes: 68 additions & 0 deletions bin/i18n-check-cache.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
#!/bin/bash
#
# Checks i18n cache folders in order to guarantee that translations are present for provided plugins.
# A cache folder will be created, in case a plugin doesn't have it, with its translations that
# will be fetched before creation.
#
# NOTE: The translations fetched are NOT OPTIMIZED, the reason for this is purely for making
# the script fast as it will be mainly used upon dependency installation.

# Exit if any command fails
set -euo pipefail

function error() {
echo -e "\033[0;31m$1\033[0m"
exit 1
}

function arrayLength() { echo "$#"; }

function check_plugin_cache() {
local plugin_name=$1
local i18n_cache_folder="$TRANSLATIONS_OUTPUT_PATH/$plugin_name"

if [[ ! -d $i18n_cache_folder ]]; then
NOT_FOUND_PLUGIN_I18N_CACHE+=( $i18n_cache_folder )
echo -e "Couldn't find i18n cache folder (\"$i18n_cache_folder\") for plugin \"$plugin_name\", downloading un-optimized translations for creating the cache."
fetch_translations "$plugin_name" "$TRANSLATIONS_OUTPUT_PATH"
fi
}

function update_gutenberg_i18n_cache() {
local output_path=$1

echo "Update \"react-native-editor\" package i18n cache"
cp -r "$output_path/gutenberg/data" gutenberg/packages/react-native-editor/i18n-cache
cp "$output_path/gutenberg/index.js" gutenberg/packages/react-native-editor/i18n-cache/index.native.js
}

function fetch_translations() {
local plugin_name=$1
local output_path=$2

echo -e "\n\033[1mDownload I18n translations for \"$plugin_name\" plugin\033[0m"
node gutenberg/packages/react-native-editor/bin/i18n-translations-download "$plugin_name" "$output_path"
}

# Get parameters
PLUGINS=( "$@" )

# Define constants
TRANSLATIONS_OUTPUT_PATH="src/i18n-cache"

echo -e "\n\033[1m== Checking i18n cache ==\033[0m"

# Check plugins cache
for PLUGIN in "${PLUGINS[@]+"${PLUGINS[@]}"}"; do
check_plugin_cache "$PLUGIN"
done

# Check Gutenberg cache
check_plugin_cache "gutenberg"

if [[ $(arrayLength "${NOT_FOUND_PLUGIN_I18N_CACHE[@]+"${NOT_FOUND_PLUGIN_I18N_CACHE[@]}"}") -eq 0 ]]; then
echo -e "i18n cache for provided plugins is present ✅"
fi

# We need to guarantee that i18n cache within react-native-editor package is updated
update_gutenberg_i18n_cache "$TRANSLATIONS_OUTPUT_PATH"
11 changes: 0 additions & 11 deletions bin/i18n-download.sh

This file was deleted.

45 changes: 30 additions & 15 deletions bin/i18n-update.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,20 +27,15 @@ while test $# -gt 0; do
case "$1" in
-h|--help)
echo "options:"
echo "-h, --help show brief help"
echo "-p, --path local path for generating files (by default a temp folder will be used)"
echo "-d, --debug print extra info for debugging"
echo "-h, --help show brief help"
echo "-p, --path local path for generating files (by default a temp folder will be used)"
exit 0
;;
-p|--path*)
shift
LOCAL_PATH=$1
shift
;;
-d|--debug*)
shift
DEBUG='true'
;;
*)
break
;;
Expand All @@ -54,6 +49,23 @@ function error() {

function arrayLength() { echo "$#"; }

function check_plugin() {
local plugin_folder=$1

if [[ ! -d $plugin_folder ]]; then
NOT_FOUND_PLUGIN_FOLDERS+=( $plugin_folder )
echo -e "\033[0;31mPlugin folder \"$plugin_folder\" doesn't exist.\033[0m"
fi
}

function update_gutenberg_i18n_cache() {
local output_path=$1

echo "Update \"react-native-editor\" package i18n cache"
cp -r "$output_path/gutenberg/data" gutenberg/packages/react-native-editor/i18n-cache
cp "$output_path/gutenberg/index.js" gutenberg/packages/react-native-editor/i18n-cache/index.native.js
}

function fetch_translations() {
local plugin_name=$1
local output_path=$2
Expand All @@ -63,9 +75,7 @@ function fetch_translations() {
node gutenberg/packages/react-native-editor/bin/i18n-translations-download "$plugin_name" "$output_path" "$used_strings_file"

if [[ "$plugin_name" == "gutenberg" ]]; then
echo "Update \"react-native-editor\" package i18n cache"
cp -r "$output_path/gutenberg/data" gutenberg/packages/react-native-editor/i18n-cache
cp "$output_path/gutenberg/index.js" gutenberg/packages/react-native-editor/i18n-cache/index.native.js
update_gutenberg_i18n_cache "$output_path"
fi
}

Expand All @@ -80,21 +90,27 @@ fi
# Get parameters
PLUGINS=( "$@" )

# Define constants
TRANSLATIONS_OUTPUT_PATH="src/i18n-cache"

echo -e "\n\033[1m== Updating i18n localizations ==\033[0m"

# Validate parameters
if [[ $((${#PLUGINS[@]}%2)) -ne 0 ]]; then
error "Plugin arguments must be supplied as tuples (i.e. domain path/to/plugin)."
fi

# Check plugins parameters
for (( index=0; index<${#PLUGINS[@]}; index+=2 )); do
PLUGIN_FOLDER=${PLUGINS[index+1]}

if [[ ! -d $PLUGIN_FOLDER ]]; then
NOT_FOUND_PLUGIN_FOLDERS+=( $PLUGIN_FOLDER )
echo -e "\033[0;31mPlugin folder \"$PLUGIN_FOLDER\" doesn't exist.\033[0m"
fi
check_plugin "$PLUGIN_FOLDER"
done

# Check Gutenberg plugin
check_plugin "./gutenberg"

# Stop if can't find any plugin folder
if [[ $(arrayLength "${NOT_FOUND_PLUGIN_FOLDERS[@]+"${NOT_FOUND_PLUGIN_FOLDERS[@]}"}") -gt 0 ]]; then
exit 1
fi
Expand All @@ -110,7 +126,6 @@ npm run build:gutenberg
METRO_CONFIG="metro.config.js" node gutenberg/packages/react-native-editor/bin/extract-used-strings "$USED_STRINGS_PATH" "${PLUGINS[@]}"

# Download translations of plugins (i.e. Jetpack)
TRANSLATIONS_OUTPUT_PATH="src/i18n-cache"
for (( index=0; index<${#PLUGINS[@]}; index+=2 )); do
PLUGIN_NAME=${PLUGINS[index]}

Expand Down
Loading