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

Merge 23.1 code freeze and 23.1.0.1 beta with conflicts resolution #21395

Merged
merged 22 commits into from
Aug 23, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
bfe859c
Exclude private connections from other users
dvdchr Aug 17, 2023
ed51ded
Add tests
dvdchr Aug 17, 2023
12a3aa7
Hide Jetpack Social for private posts
wargcm Aug 17, 2023
86cd46f
Bump version number
mokagio Aug 21, 2023
55e4cd6
Update draft release notes for 23.1.
mokagio Aug 21, 2023
731b46d
Update draft release notes for 23.1.
mokagio Aug 21, 2023
eb6ec2f
Release Notes: add new section for next version (23.2)
mokagio Aug 21, 2023
2ddf30f
Remove Jetpack-only entries from WordPress 23.1 release notes
mokagio Aug 21, 2023
7e4be2c
Remove Jetpack-only annotation from Jetpack 23.1 raw release notes
mokagio Aug 21, 2023
6677e48
Use production versions of internal pods for release 23.1
mokagio Aug 21, 2023
410e597
Update strings for localization
mokagio Aug 21, 2023
418252c
Distinguish between `DashboardGoogleDomainsCard-` `Cell` and `View` i18n
mokagio Aug 21, 2023
f4c60b9
Update strings for localization
mokagio Aug 21, 2023
4196edc
Merge pull request #21362 from wordpress-mobile/issue/21290-hide-soci…
wargcm Aug 21, 2023
d46538f
Merge pull request #21354 from wordpress-mobile/fix/jp-social-exclude…
dvdchr Aug 22, 2023
fe58a1b
Update app translations – `Localizable.strings`
mokagio Aug 22, 2023
fa06801
Update WordPress metadata translations
mokagio Aug 22, 2023
f882c04
Update Jetpack metadata translations
mokagio Aug 22, 2023
4cc4b83
Manually fix `ro` string that didn't pass linting
mokagio Aug 22, 2023
d980c4c
Bump version number
mokagio Aug 22, 2023
a42c198
Disable testPagesCardHeaderNavigation for fixing. (#21379)
tiagomar Aug 21, 2023
913d528
Merge 'origin/trunk' into merge/release-23.1.0.1-into-trunk
mokagio Aug 23, 2023
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
24 changes: 12 additions & 12 deletions Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -93,12 +93,12 @@ PODS:
- SDWebImage (5.11.1):
- SDWebImage/Core (= 5.11.1)
- SDWebImage/Core (5.11.1)
- Sentry (8.9.4):
- Sentry/Core (= 8.9.4)
- SentryPrivate (= 8.9.4)
- Sentry/Core (8.9.4):
- SentryPrivate (= 8.9.4)
- SentryPrivate (8.9.4)
- Sentry (8.10.0):
- Sentry/Core (= 8.10.0)
- SentryPrivate (= 8.10.0)
- Sentry/Core (8.10.0):
- SentryPrivate (= 8.10.0)
- SentryPrivate (8.10.0)
- Sodium (0.9.1)
- Starscream (3.0.6)
- SVProgressHUD (2.2.5)
Expand All @@ -122,8 +122,8 @@ PODS:
- WordPressShared (~> 2.0-beta)
- wpxmlrpc (~> 0.10)
- WordPressShared (2.2.0)
- WordPressUI (1.14.0)
- WPMediaPicker (1.8.10-beta.1)
- WordPressUI (1.14.1)
- WPMediaPicker (1.8.10)
- wpxmlrpc (0.10.0)
- ZendeskCommonUISDK (6.1.2)
- ZendeskCoreSDK (2.5.1)
Expand Down Expand Up @@ -270,8 +270,8 @@ SPEC CHECKSUMS:
OHHTTPStubs: 90eac6d8f2c18317baeca36698523dc67c513831
Reachability: 33e18b67625424e47b6cde6d202dce689ad7af96
SDWebImage: a7f831e1a65eb5e285e3fb046a23fcfbf08e696d
Sentry: 56c76eed917f7dffd46db50906afbf5c9aa2673a
SentryPrivate: f3be34b5deb9fe676fdfb1f1ad5cdb1b740c5688
Sentry: 71cd4427146ac56eab6e70401ac7a24384c3d3b5
SentryPrivate: 9334613897c85a9e30f2c9d7a331af8aaa4fe71f
Sodium: 23d11554ecd556196d313cf6130d406dfe7ac6da
Starscream: ef3ece99d765eeccb67de105bfa143f929026cf5
SVProgressHUD: 1428aafac632c1f86f62aa4243ec12008d7a51d6
Expand All @@ -282,8 +282,8 @@ SPEC CHECKSUMS:
WordPressAuthenticator: 9bfb316cb165e1997b73aa94d92fadc991cc9725
WordPressKit: f33a89b148d9cce96933f0900701aff592a796f7
WordPressShared: 87f3ee89b0a3e83106106f13a8b71605fb8eb6d2
WordPressUI: 09b5477f8678446f27e651cccb6b6401bd19d9a3
WPMediaPicker: d669d11c38f78597edcb338a58a0d973ae51912a
WordPressUI: a29887ef603cecc8f1c168dc3b9880715785482d
WPMediaPicker: 332812329cbdc672cdb385b8ac3a389f668d3012
wpxmlrpc: 68db063041e85d186db21f674adf08d9c70627fd
ZendeskCommonUISDK: 5f0a83f412e07ae23701f18c412fe783b3249ef5
ZendeskCoreSDK: 19a18e5ef2edcb18f4dbc0ea0d12bd31f515712a
Expand Down
21 changes: 15 additions & 6 deletions WordPress/Classes/Services/SharingSyncService.swift
Original file line number Diff line number Diff line change
Expand Up @@ -28,18 +28,27 @@ import WordPressKit
/// - failure: An optional failure block accepting an `NSError` parameter.
///
@objc open func syncPublicizeConnectionsForBlog(_ blog: Blog, success: (() -> Void)?, failure: ((NSError?) -> Void)?) {
let blogObjectID = blog.objectID
guard let remote = remoteForBlog(blog) else {
guard let remote = remoteForBlog(blog),
let blogID = blog.dotComID else {
failure?(Error.siteWithNoRemote as NSError)
return
}

remote.getPublicizeConnections(blog.dotComID!, success: { remoteConnections in
remote.getPublicizeConnections(blogID, success: { [blogObjectID = blog.objectID] remoteConnections in
let currentUserID: NSNumber = self.coreDataStack.performQuery { context in
guard let blog = try? context.existingObject(with: blogObjectID) as? Blog,
let accountID = blog.account?.userID else {
return NSNumber(value: 0)
}
return accountID
}

// Ensure that we're only processing shared or owned connections
let authorizedConnections = remoteConnections.filter { $0.shared || $0.userID.isEqual(to: currentUserID) }

// Process the results
self.mergePublicizeConnectionsForBlog(blogObjectID, remoteConnections: remoteConnections, onComplete: success)
},
failure: failure)
self.mergePublicizeConnectionsForBlog(blogObjectID, remoteConnections: authorizedConnections, onComplete: success)
}, failure: failure)
}

/// Called when syncing Publicize connections. Merges synced and cached data, removing
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ extension DashboardGoogleDomainsCardCell: DashboardGoogleDomainsCardCellProtocol
private extension DashboardGoogleDomainsCardCell {
enum Strings {
static let cardTitle = NSLocalizedString(
"mySite.domain.focus.card.title",
"mySite.domain.focus.cardCell.title",
value: "News",
comment: "Title for the domain focus card on My Site"
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,19 +55,19 @@ private extension DashboardGoogleDomainsCardView {
enum Strings {

static let contentTitle = NSLocalizedString(
"mySite.domain.focus.card.title",
"mySite.domain.focus.cardView.title",
value: "Reclaim your Google Domains",
comment: "Title of the domain focus card on My Site"
)

static let contentDescription = NSLocalizedString(
"mySite.domain.focus.card.description",
"mySite.domain.focus.cardView.description",
value: "As you may know, Google Domains has been sold to Squarespace. Transfer your domains to WordPress.com now, and we'll pay all transfer fees plus an extra year of your domain registration.",
comment: "Description of the domain focus card on My Site"
)

static let buttonTitle = NSLocalizedString(
"mySite.domain.focus.card.button.title",
"mySite.domain.focus.cardView.button.title",
value: "Transfer your domains",
comment: "Button title of the domain focus card on My Site"
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ extension PostSettingsViewController {
&& blogSupportsPublicize
&& blogHasNoConnections
&& blogHasServices
&& !isPostPrivate
}

@objc func createNoConnectionView() -> UIView {
Expand Down Expand Up @@ -45,6 +46,7 @@ extension PostSettingsViewController {
&& blogSupportsPublicize
&& blogHasConnections
&& blogHasSharingLimit
&& !isPostPrivate
}

@objc func createRemainingSharesView() -> UIView {
Expand Down Expand Up @@ -92,6 +94,10 @@ extension PostSettingsViewController {

private extension PostSettingsViewController {

var isPostPrivate: Bool {
apost.status == .publishPrivate
}

func hideNoConnectionViewKey() -> String {
guard let dotComID = apost.blog.dotComID?.stringValue else {
return Constants.hideNoConnectionViewKey
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -624,6 +624,10 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath

- (NSInteger)numberOfRowsForShareSection
{
if ([self.apost.status isEqualToString:@"private"]) {
return 0;
}

if (self.apost.blog.supportsPublicize && self.publicizeConnections.count > 0) {
// One row per publicize connection plus an extra row for the publicze message
return self.publicizeConnections.count + 1;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ extension PrepublishingViewController {
/// Determines whether the account and the post's blog is eligible to see the Jetpack Social row.
func canDisplaySocialRow(isJetpack: Bool = AppConfiguration.isJetpack,
isFeatureEnabled: Bool = RemoteFeatureFlag.jetpackSocialImprovements.enabled()) -> Bool {
guard isJetpack && isFeatureEnabled else {
guard isJetpack && isFeatureEnabled && !isPostPrivate else {
return false
}

Expand Down Expand Up @@ -86,6 +86,15 @@ private extension PrepublishingViewController {
}
}

var isPostPrivate: Bool {
coreDataStack.performQuery { [postObjectID = post.objectID] context in
guard let post = (try? context.existingObject(with: postObjectID)) as? Post else {
return false
}
return post.status == .publishPrivate
}
}

// MARK: Auto Sharing View

func configureAutoSharingView(for cell: UITableViewCell) {
Expand Down
30 changes: 8 additions & 22 deletions WordPress/Jetpack/Resources/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1,22 +1,8 @@
Version 23.0 is here! Do we look older?

To celebrate, we made design improvements across the app so you can share content on social media more easily. We’re all about that social life.

You’ll notice the new Blaze Campaign card in your dashboard, where you can see the most recent campaign, a campaigns list screen, and a campaign details screen. That’s hot.

We made some Gallery block updates in the block editor.

- We removed the visual gap that appears between selected gallery blocks and the toolbar.
- The gallery caption button is no longer visible on mobile devices.
- The correct gallery block will stay selected while you’re adding media.

You might be happy to hear that we squashed several bugs in the media picker.

- Your screen won’t flash anymore when you open the media picker.
- Media files have stopped rearranging themselves and will now behave.
- The image count no longer includes other media types.
- Thumbnail image sizes are now smaller. Faster loading, less memory—what’s not to love?

We also sped up loading time for the Total Likes stats card and fixed an issue that caused the stats screen to stall the app.

Finally, the app won’t crash when you update notifications, posts, or reader content, or when you’re cleaning up followed topics in the reader. (But wear a helmet anyway. Safety first.)
* [*] Block editor: Hide undo/redo buttons when using the HTML editor [#21253]
* [*] Block editor: Display custom color value in mobile Cover Block color picker [https://github.com/WordPress/gutenberg/pull/51414]
* [**] Block editor: Display outline around selected Social Link block [https://github.com/WordPress/gutenberg/pull/53377]
* [**] Block editor: Fix font customization not getting updated. [https://github.com/WordPress/gutenberg/pull/53391]
* [*] [internal] Fix Core Data multithreaded access exception in Blogging Reminders [#21232]
* [*] [internal] Remove one of the image loading subsystems for avatars and consolidate the cache [#21259]
* [*] Fixed a crash that could occur when following sites in Reader. [#21341]
* [**] Add a "Domain Focus" Card to the Dashboard that opens a screen that allows tranfer of Google Domains. This card can also be hidden across all sites of the account by accesing the More button. [#21368]
83 changes: 81 additions & 2 deletions WordPress/Resources/en.lproj/Localizable.strings
Original file line number Diff line number Diff line change
Expand Up @@ -1386,6 +1386,9 @@
/* Shown while the app waits for the username changing web service to return. */
"Changing username" = "Changing username";

/* Option for users to rate a chat bot answer as helpful. */
"chat.rateHelpful" = "Rate as helpful";

/* Title for a button that opens up the 'Getting More Views and Traffic' support page when tapped. */
"Check out our top tips to increase your views and traffic" = "Check out our top tips to increase your views and traffic";

Expand Down Expand Up @@ -4930,6 +4933,18 @@ Please install the %3$@ to use the app with this site.";
/* Title for the card displaying today's stats. */
"my-sites.stats.card.title" = "Today's Stats";

/* Title for the domain focus card on My Site */
"mySite.domain.focus.cardCell.title" = "News";

/* Button title of the domain focus card on My Site */
"mySite.domain.focus.cardView.button.title" = "Transfer your domains";

/* Description of the domain focus card on My Site */
"mySite.domain.focus.cardView.description" = "As you may know, Google Domains has been sold to Squarespace. Transfer your domains to WordPress.com now, and we'll pay all transfer fees plus an extra year of your domain registration.";

/* Title of the domain focus card on My Site */
"mySite.domain.focus.cardView.title" = "Reclaim your Google Domains";

/* Accessibility label for the Email text field.
Header for a comment author's name, shown when editing a comment.
Name text field placeholder
Expand Down Expand Up @@ -7660,7 +7675,7 @@ Example: given a notice format "Following %@" and empty site name, this will be
/* A hint shown to the user in stats informing the user how many likes one of their posts has received. The %1$@ placeholder will be replaced with the title of a post, the %2$@ with the number of likes. */
"stats.insights.totalLikes.guideText.plural" = "Your latest post %1$@ has received %2$@ likes.";

/* A hint shown to the user in stats informing the user that one of their posts has received a like. The %1$@ placeholder will be replaced with the title of a post, and the %2$@ will be replaced by a number. */
/* A hint shown to the user in stats informing the user that one of their posts has received a like. The %1$@ placeholder will be replaced with the title of a post, and the %2$@ will be replaced by the numeral one. */
"stats.insights.totalLikes.guideText.singular" = "Your latest post %1$@ has received %2$@ like.";

/* The status of the post. Should be the same as in core WP. */
Expand Down Expand Up @@ -7773,6 +7788,69 @@ Example: given a notice format "Following %@" and empty site name, this will be
/* Option in Support view to visit the WordPress.org support forums. */
"support.button.visitForum.title" = "Visit WordPress.org";

/* Indicator that the chat bot is processing user's input. */
"support.chatBot.botThinkingIndicator" = "Thinking...";

/* Dismiss the current view */
"support.chatBot.close.title" = "Close";

/* Button for users to contact the support team directly. */
"support.chatBot.contactSupport" = "Contact support";

/* Initial message shown to the user when the chat starts. */
"support.chatBot.firstMessage" = "What can I help you with? If I can't answer your question I'll help you open a support ticket with our team!";

/* Placeholder text for the chat input field. */
"support.chatBot.inputPlaceholder" = "Send a message...";

/* An example question shown to a user seeking support */
"support.chatBot.questionFive" = "I forgot my login information";

/* An example question shown to a user seeking support */
"support.chatBot.questionFour" = "Why can't I login?";

/* An example question shown to a user seeking support */
"support.chatBot.questionOne" = "What is my site address?";

/* An example question shown to a user seeking support */
"support.chatBot.questionSix" = "How can I use my custom domain in the app?";

/* An example question shown to a user seeking support */
"support.chatBot.questionThree" = "I can't upload photos/videos";

/* An example question shown to a user seeking support */
"support.chatBot.questionTwo" = "Help, my site is down!";

/* Option for users to report a chat bot answer as inaccurate. */
"support.chatBot.reportInaccuracy" = "Report as inaccurate";

/* Button title referring to the sources of information. */
"support.chatBot.sources" = "Sources";

/* Prompt for users suggesting to select a default question from the list to start a support chat. */
"support.chatBot.suggestionsPrompt" = "Not sure what to ask?";

/* Notice informing user that there was an error submitting their support ticket. */
"support.chatBot.ticketCreationFailure" = "Error submitting support ticket";

/* Notice informing user that their support ticket is being created. */
"support.chatBot.ticketCreationLoading" = "Creating support ticket...";

/* Notice informing user that their support ticket has been created. */
"support.chatBot.ticketCreationSuccess" = "Ticket created";

/* Title of the view that shows support chat bot. */
"support.chatBot.title" = "Contact Support";

/* A title for a text that displays a transcript of an answer in a support chat */
"support.chatBot.zendesk.answer" = "Answer";

/* A title for a text that displays a transcript of user's question in a support chat */
"support.chatBot.zendesk.question" = "Question";

/* A title for a text that displays a transcript from a conversation between Jetpack Mobile Bot (chat bot) and a user */
"support.chatBot.zendesk.transcript" = "Jetpack Mobile Bot transcript";

/* Suggestion in Support view to visit the Forums. */
"support.row.communityForum.title" = "Ask a question in the community forum and get help from our group of volunteers.";

Expand Down Expand Up @@ -10014,7 +10092,8 @@ from anywhere.";
"You recently made changes to this post but didn't save them. Choose a version to load:\n\nFrom this device\nSaved on %@\n\nFrom another device\nSaved on %@\n" = "You recently made changes to this post but didn't save them. Choose a version to load:\n\nFrom this device\nSaved on %1$@\n\nFrom another device\nSaved on %2$@\n";

/* Informs that the user has replied to this comment.
Notification text - below a comment notification detail */
Notification text - below a comment notification detail
Text to look for */
"You replied to this comment." = "You replied to this comment.";

/* No comment provided by engineer. */
Expand Down
22 changes: 6 additions & 16 deletions WordPress/Resources/release_notes.txt
Original file line number Diff line number Diff line change
@@ -1,16 +1,6 @@
Version 23.0 is here! Do we look older?

To celebrate, we made some Gallery block updates in the block editor.

- We removed the visual gap that appears between selected gallery blocks and the toolbar.
- The gallery caption button is no longer visible on mobile devices.
- The correct gallery block will stay selected while you’re adding media.

We also squashed several bugs in the media picker.

- Your screen won’t flash anymore when you open the media picker.
- Media files have stopped rearranging themselves and will now behave.
- The image count no longer includes other media types.
- Thumbnail image sizes are now smaller. Faster loading, less memory—what’s not to love?

Finally, the app should no longer crash when you update a post. (But wear a helmet anyway. Safety first.)
* [*] Block editor: Hide undo/redo buttons when using the HTML editor [#21253]
* [*] Block editor: Display custom color value in mobile Cover Block color picker [https://github.com/WordPress/gutenberg/pull/51414]
* [**] Block editor: Display outline around selected Social Link block [https://github.com/WordPress/gutenberg/pull/53377]
* [**] Block editor: Fix font customization not getting updated. [https://github.com/WordPress/gutenberg/pull/53391]
* [*] [internal] Fix Core Data multithreaded access exception in Blogging Reminders [#21232]
* [*] [internal] Remove one of the image loading subsystems for avatars and consolidate the cache [#21259]
4 changes: 2 additions & 2 deletions WordPress/Resources/ro.lproj/Localizable.strings
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Translation-Revision-Date: 2023-08-14 04:13:32+0000 */
/* Translation-Revision-Date: 2023-08-18 12:59:15+0000 */
/* Plural-Forms: nplurals=3; plural=(n == 1) ? 0 : ((n == 0 || n % 100 >= 2 && n % 100 <= 19) ? 1 : 2); */
/* Generator: GlotPress/4.0.0-alpha.7 */
/* Language: ro */
Expand Down Expand Up @@ -4864,7 +4864,7 @@
"Please enter your credentials" = "Te rog să-ți introduci datele de conectare";

/* Instructions for alert asking for email. */
"Please enter your email address." = "Te rog să-ți introduci adresa de email.";
"Please enter your email address." = "Te rog să introduci adresa ta de email.";

/* A short prompt asking the user to properly fill out all login fields. */
"Please fill out all the fields" = "Te rog să completezi toate câmpurile";
Expand Down
Loading