Skip to content

Commit 8064f03

Browse files
authored
Merge branch 'trunk' into pos-orders-fix-status-bar-handling
2 parents 92be6f7 + d3538d8 commit 8064f03

File tree

95 files changed

+12071
-2788
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

95 files changed

+12071
-2788
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/bash -eu
2+
3+
"$(dirname "${BASH_SOURCE[0]}")/restore-cache.sh"
4+
5+
echo "--- :rubygems: Setting up Gems"
6+
install_gems
7+
8+
echo "--- :closed_lock_with_key: Installing Secrets"
9+
bundle exec fastlane run configure_apply
10+
11+
echo "--- :mag: Retrieving app selection from metadata"
12+
APP_TO_BUILD="$(buildkite-agent meta-data get "app-to-build")"
13+
echo "Selected app: ${APP_TO_BUILD}"
14+
15+
echo "--- :hammer_and_wrench: Building and uploading to Firebase App Distribution"
16+
bundle exec fastlane build_and_upload_prototype_build_fad app:"${APP_TO_BUILD}"
17+

.buildkite/pipeline.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,3 +118,32 @@ steps:
118118
- label: "🐘 Populate Gradle build cache"
119119
command: .buildkite/commands/gradle-cache-build.sh
120120
plugins: [$CI_TOOLKIT]
121+
122+
########################################
123+
# Optional Prototype Builds for trunk branch, distributed via Firebase App Distribution (FAD)
124+
########################################
125+
- group: "🚀 Prototype Build"
126+
if: "build.branch == 'trunk'"
127+
steps:
128+
- block: ":rocket: Build Prototype and distribute via Firebase"
129+
prompt: Select which app to build and distribute via Firebase App Distribution
130+
key: prototype_builds_fad_triggered
131+
fields:
132+
- select: "App to Build"
133+
key: "app-to-build"
134+
hint: "Which WooCommerce app should be built? 📱"
135+
required: true
136+
default: "WooCommerce"
137+
options:
138+
- label: "📱 WooCommerce Mobile"
139+
value: "WooCommerce"
140+
- label: "⌚️ WooCommerce Wear"
141+
value: "WooCommerce-Wear"
142+
- label: ":firebase: Prototype Build (FAD)"
143+
depends_on: prototype_builds_fad_triggered
144+
command: |
145+
".buildkite/commands/prototype-build-fad.sh"
146+
plugins: [$CI_TOOLKIT]
147+
artifact_paths:
148+
- "WooCommerce/build/outputs/apk/**/*"
149+
- "WooCommerce-Wear/build/outputs/apk/**/*"

.buildkite/release-pipelines/new-hotfix-release.yml

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,6 @@
22
---
33

44
steps:
5-
- block: "What version code do you want to use for the new hotfix release?"
6-
fields:
7-
- text: "Version Code"
8-
key: "version_code"
9-
format: "[0-9]+" # Only allow numbers
105
- label: "New Hotfix Release"
116
plugins: [$CI_TOOLKIT]
127
command: |
@@ -16,12 +11,8 @@ steps:
1611
echo '--- :ruby: Setup Ruby Tools'
1712
install_gems
1813
19-
# Get the version code from the Buildkite 'block' step
20-
VERSION_CODE=$(buildkite-agent meta-data get version_code)
21-
2214
echo '--- :fire: Start New Hotfix Release'
23-
# Note: we need to double the dollar sign in front of `{VERSION_CODE}` below, so that the env var is interpreted *at runtime*, instead of too soon during `pipeline upload`
24-
bundle exec fastlane new_hotfix_release version_name:$${VERSION} version_code:$${VERSION_CODE} skip_confirm:true
15+
bundle exec fastlane new_hotfix_release version_name:"$RELEASE_VERSION" version_code:"$VERSION_CODE" skip_confirm:true
2516
agents:
2617
queue: "tumblr-metal"
2718
retry:

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
<!--
22
Contains editorialized release notes. Raw release notes should go into `RELEASE-NOTES.txt`.
33
-->
4+
## 23.8
5+
This update smooths your workflow with fixes to back navigation, shipping rate crashes, and payment screen layout. POS also gets improvements, including faster Local Catalog settings, better handling of deleted products, and automatic scrolling to your newest orders.
6+
47
## 23.7
58
Selling in-person just got faster! We've supercharged Woo POS with lightning-fast product search, instant barcode scanning, and near-instant loading. Your in-store experience is now smoother than ever.
69

Gemfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@ source 'https://rubygems.org'
44

55
gem 'danger-dangermattic', '~> 1.2'
66
gem 'fastlane', '~> 2.216'
7+
gem 'fastlane-plugin-firebase_app_distribution', '~> 0.10'
78
gem 'nokogiri'
89
gem 'rubocop', '~> 1.65'
910

1011
### Fastlane Plugins
1112

12-
gem 'fastlane-plugin-wpmreleasetoolkit', '~> 13.5'
13+
gem 'fastlane-plugin-wpmreleasetoolkit', '~> 13.7'
1314
# gem 'fastlane-plugin-wpmreleasetoolkit', path: '../../release-toolkit'
1415
# gem 'fastlane-plugin-wpmreleasetoolkit', git: 'https://github.com/wordpress-mobile/release-toolkit', branch: ''
1516

Gemfile.lock

Lines changed: 33 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,21 @@ GEM
55
base64
66
nkf
77
rexml
8-
activesupport (8.0.3)
8+
activesupport (8.1.1)
99
base64
10-
benchmark (>= 0.3)
1110
bigdecimal
1211
concurrent-ruby (~> 1.0, >= 1.3.1)
1312
connection_pool (>= 2.2.5)
1413
drb
1514
i18n (>= 1.6, < 2)
15+
json
1616
logger (>= 1.4.2)
1717
minitest (>= 5.1)
1818
securerandom (>= 0.3)
1919
tzinfo (~> 2.0, >= 2.0.5)
2020
uri (>= 0.13.1)
21-
addressable (2.8.7)
22-
public_suffix (>= 2.0.2, < 7.0)
21+
addressable (2.8.8)
22+
public_suffix (>= 2.0.2, < 8.0)
2323
artifactory (3.0.17)
2424
ast (2.4.3)
2525
atomos (0.1.3)
@@ -44,7 +44,6 @@ GEM
4444
aws-eventstream (~> 1, >= 1.0.2)
4545
babosa (1.0.4)
4646
base64 (0.3.0)
47-
benchmark (0.4.1)
4847
bigdecimal (3.3.0)
4948
buildkit (1.6.1)
5049
sawyer (>= 0.6)
@@ -59,24 +58,24 @@ GEM
5958
commander (4.6.0)
6059
highline (~> 2.0.0)
6160
concurrent-ruby (1.3.5)
62-
connection_pool (2.5.4)
61+
connection_pool (2.5.5)
6362
cork (0.3.0)
6463
colored2 (~> 3.1)
65-
danger (9.5.1)
64+
danger (9.5.3)
6665
base64 (~> 0.2)
6766
claide (~> 1.0)
6867
claide-plugins (>= 0.9.2)
69-
colored2 (~> 3.1)
68+
colored2 (>= 3.1, < 5)
7069
cork (~> 0.1)
7170
faraday (>= 0.9.0, < 3.0)
7271
faraday-http-cache (~> 2.0)
73-
git (~> 1.13)
74-
kramdown (~> 2.3)
72+
git (>= 1.13, < 3.0)
73+
kramdown (>= 2.5.1, < 3.0)
7574
kramdown-parser-gfm (~> 1.0)
7675
octokit (>= 4.0)
7776
pstore (~> 0.1)
78-
terminal-table (>= 1, < 4)
79-
danger-dangermattic (1.2.2)
77+
terminal-table (>= 1, < 5)
78+
danger-dangermattic (1.2.4)
8079
danger (~> 9.4)
8180
danger-plugin-api (~> 1.0)
8281
danger-rubocop (~> 0.13)
@@ -168,7 +167,10 @@ GEM
168167
xcodeproj (>= 1.13.0, < 2.0.0)
169168
xcpretty (~> 0.4.1)
170169
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
171-
fastlane-plugin-wpmreleasetoolkit (13.5.1)
170+
fastlane-plugin-firebase_app_distribution (0.10.1)
171+
google-apis-firebaseappdistribution_v1 (~> 0.3.0)
172+
google-apis-firebaseappdistribution_v1alpha (~> 0.2.0)
173+
fastlane-plugin-wpmreleasetoolkit (13.7.0)
172174
activesupport (>= 6.1.7.1)
173175
buildkit (~> 1.5)
174176
chroma (= 0.2.0)
@@ -201,6 +203,10 @@ GEM
201203
representable (~> 3.0)
202204
retriable (>= 2.0, < 4.a)
203205
rexml
206+
google-apis-firebaseappdistribution_v1 (0.3.0)
207+
google-apis-core (>= 0.11.0, < 2.a)
208+
google-apis-firebaseappdistribution_v1alpha (0.2.0)
209+
google-apis-core (>= 0.11.0, < 2.a)
204210
google-apis-iamcredentials_v1 (0.17.0)
205211
google-apis-core (>= 0.11.0, < 2.a)
206212
google-apis-playcustomapp_v1 (0.13.0)
@@ -236,20 +242,20 @@ GEM
236242
concurrent-ruby (~> 1.0)
237243
java-properties (0.3.0)
238244
jmespath (1.6.2)
239-
json (2.15.1)
245+
json (2.16.0)
240246
jwt (2.10.2)
241247
base64
242248
kramdown (2.5.1)
243249
rexml (>= 3.3.9)
244250
kramdown-parser-gfm (1.1.0)
245251
kramdown (~> 2.0)
246-
language_server-protocol (3.17.0.4)
252+
language_server-protocol (3.17.0.5)
247253
lint_roller (1.1.0)
248254
logger (1.7.0)
249255
mini_magick (4.13.2)
250256
mini_mime (1.1.5)
251257
mini_portile2 (2.8.9)
252-
minitest (5.26.0)
258+
minitest (5.26.2)
253259
multi_json (1.17.0)
254260
multipart-post (2.4.1)
255261
mutex_m (0.3.0)
@@ -268,23 +274,23 @@ GEM
268274
optparse (0.6.0)
269275
os (1.1.4)
270276
parallel (1.27.0)
271-
parser (3.3.8.0)
277+
parser (3.3.10.0)
272278
ast (~> 2.4.1)
273279
racc
274280
plist (3.7.2)
275-
prism (1.4.0)
281+
prism (1.6.0)
276282
progress_bar (1.3.4)
277283
highline (>= 1.6)
278284
options (~> 2.3.0)
279285
pstore (0.2.0)
280-
public_suffix (6.0.2)
286+
public_suffix (7.0.0)
281287
racc (1.8.1)
282288
rainbow (3.1.1)
283289
rake (13.3.0)
284290
rake-compiler (1.3.0)
285291
rake
286292
rchardet (1.10.0)
287-
regexp_parser (2.10.0)
293+
regexp_parser (2.11.3)
288294
representable (3.2.0)
289295
declarative (< 0.1.0)
290296
trailblazer-option (>= 0.1.1, < 0.2.0)
@@ -293,24 +299,24 @@ GEM
293299
rexml (3.4.4)
294300
rmagick (4.3.0)
295301
rouge (3.28.0)
296-
rubocop (1.75.4)
302+
rubocop (1.81.7)
297303
json (~> 2.3)
298304
language_server-protocol (~> 3.17.0.2)
299305
lint_roller (~> 1.1.0)
300306
parallel (~> 1.10)
301307
parser (>= 3.3.0.2)
302308
rainbow (>= 2.2.2, < 4.0)
303309
regexp_parser (>= 2.9.3, < 3.0)
304-
rubocop-ast (>= 1.44.0, < 2.0)
310+
rubocop-ast (>= 1.47.1, < 2.0)
305311
ruby-progressbar (~> 1.7)
306312
unicode-display_width (>= 2.4.0, < 4.0)
307-
rubocop-ast (1.44.1)
313+
rubocop-ast (1.48.0)
308314
parser (>= 3.3.7.2)
309315
prism (~> 1.4)
310316
ruby-progressbar (1.13.0)
311317
ruby2_keywords (0.0.5)
312318
rubyzip (2.4.1)
313-
sawyer (0.9.2)
319+
sawyer (0.9.3)
314320
addressable (>= 2.3.5)
315321
faraday (>= 0.17.3, < 3)
316322
securerandom (0.4.1)
@@ -336,7 +342,7 @@ GEM
336342
concurrent-ruby (~> 1.0)
337343
uber (0.1.0)
338344
unicode-display_width (2.6.0)
339-
uri (1.0.4)
345+
uri (1.1.1)
340346
word_wrap (1.0.0)
341347
xcodeproj (1.27.0)
342348
CFPropertyList (>= 2.3.3, < 4.0)
@@ -356,7 +362,8 @@ PLATFORMS
356362
DEPENDENCIES
357363
danger-dangermattic (~> 1.2)
358364
fastlane (~> 2.216)
359-
fastlane-plugin-wpmreleasetoolkit (~> 13.5)
365+
fastlane-plugin-firebase_app_distribution (~> 0.10)
366+
fastlane-plugin-wpmreleasetoolkit (~> 13.7)
360367
nokogiri
361368
rmagick (~> 4.1)
362369
rubocop (~> 1.65)

RELEASE-NOTES.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
*** Use [*****] to indicate smoke tests of all critical flows should be run on the final APK before release (e.g. major library or targetSdk updates).
33
*** For entries which are touching the Android Wear app's, start entry with `[WEAR]` too.
44

5+
23.9
6+
-----
7+
8+
59
23.8
610
-----
711
- [*] Fixed system back button not working on Order Creation screen [https://github.com/woocommerce/woocommerce-android/pull/15016]
@@ -10,6 +14,7 @@
1014
- [*][Woo POS] Fixed payment screen layout to properly position payment instructions text [https://github.com/woocommerce/woocommerce-android/pull/14991]
1115
- [*][Woo POS] Automatically scroll to newly created orders when returning to the Orders screen [https://github.com/woocommerce/woocommerce-android/pull/14990]
1216
- [Internal] Restore coupon drawable files mistakenly removed in previous release [https://github.com/woocommerce/woocommerce-android/pull/15005]
17+
- [*] Fixed a rare crash that occurred when displaying shipping rates for a selected package [https://github.com/woocommerce/woocommerce-android/pull/15032]
1318

1419
23.7
1520
-----

WooCommerce/src/main/kotlin/com/woocommerce/android/model/OrderShipmentTracking.kt

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@ package com.woocommerce.android.model
22

33
import android.os.Parcelable
44
import kotlinx.parcelize.Parcelize
5+
import org.wordpress.android.fluxc.model.LocalOrRemoteId.LocalId
6+
import org.wordpress.android.fluxc.model.LocalOrRemoteId.RemoteId
57
import org.wordpress.android.fluxc.model.WCOrderShipmentTrackingModel
68

79
@Parcelize
810
data class OrderShipmentTracking(
9-
val id: Int = 0,
1011
val localSiteId: Int = 0,
1112
val orderId: Long = 0,
1213
val remoteTrackingId: String = "",
@@ -16,26 +17,25 @@ data class OrderShipmentTracking(
1617
val dateShipped: String,
1718
val isCustomProvider: Boolean = false
1819
) : Parcelable {
19-
fun toDataModel() = WCOrderShipmentTrackingModel().also { orderShipmentTrackingModel ->
20-
orderShipmentTrackingModel.id = this.id
21-
orderShipmentTrackingModel.orderId = this.orderId
22-
orderShipmentTrackingModel.localSiteId = this.localSiteId
23-
orderShipmentTrackingModel.remoteTrackingId = this.remoteTrackingId
24-
orderShipmentTrackingModel.trackingNumber = this.trackingNumber
25-
orderShipmentTrackingModel.dateShipped = this.dateShipped
26-
orderShipmentTrackingModel.trackingProvider = this.trackingProvider
27-
}
20+
fun toDataModel() = WCOrderShipmentTrackingModel(
21+
localSiteId = LocalId(this.localSiteId),
22+
orderId = RemoteId(this.orderId),
23+
remoteTrackingId = this.remoteTrackingId,
24+
trackingNumber = this.trackingNumber,
25+
trackingProvider = this.trackingProvider,
26+
trackingLink = this.trackingLink,
27+
dateShipped = this.dateShipped
28+
)
2829
}
2930

3031
fun WCOrderShipmentTrackingModel.toAppModel(): OrderShipmentTracking {
3132
return OrderShipmentTracking(
32-
id,
33-
localSiteId,
34-
orderId,
35-
remoteTrackingId,
36-
trackingNumber,
37-
trackingProvider,
38-
trackingLink,
39-
dateShipped
33+
localSiteId = localSiteId.value,
34+
orderId = orderId.value,
35+
remoteTrackingId = remoteTrackingId,
36+
trackingNumber = trackingNumber,
37+
trackingProvider = trackingProvider,
38+
trackingLink = trackingLink,
39+
dateShipped = dateShipped
4040
)
4141
}

WooCommerce/src/main/kotlin/com/woocommerce/android/model/ShippingLabelMapper.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import javax.inject.Inject
77
class ShippingLabelMapper @Inject constructor(private val addressMapper: ShippingLabelAddressMapper) {
88
fun toAppModel(databaseEntity: WCShippingLabelModel): ShippingLabel {
99
return ShippingLabel(
10-
id = databaseEntity.remoteShippingLabelId,
10+
id = databaseEntity.remoteShippingLabelId.value,
1111
trackingNumber = databaseEntity.trackingNumber,
1212
carrierId = databaseEntity.carrierId,
1313
serviceName = databaseEntity.serviceName,

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/bookings/BookingsRepository.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class BookingsRepository @Inject constructor(
2424
page: Int,
2525
perPage: Int,
2626
query: String? = null,
27-
filters: BookingFilters? = null,
27+
filters: BookingFilters = BookingFilters.EMPTY,
2828
order: BookingsOrderOption
2929
): Result<FetchResult> {
3030
val result = bookingsStore.fetchBookings(

0 commit comments

Comments
 (0)