wordpress-mobile / wordpress-mobile/WordPress-Android

[Jetpack Social] Convert `_wpas_skip` metadata to `_wpas_skip_publicize`

Open
#18,864 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

[Type] Task Jetpack
Dominant language
Kotlin
Stars
3.2k
Forks
1.4k
Avg merge
1d 11h
Merged PRs (30d)
69

Description

Currently some of our clients are using _wpas_skip metadata to represent the sharing social accounts that were manually disabled by the user. Back-end is migrating to a new standard, using the key _wpas_skip_publicize. Android never supported the legacy way and from this PR started to support _wpas_skip_publicize, but we might get the legacy _wpas_skip metadata in PostModel that might've been added in another client. The purpose of this issue is to detect if the metadata contains any _wpas_skip and then migrate it to the new standard _wpas_skip_publicize.

Legacy key: _wpas_skip_<keyringConnectionID>
New key: _wpas_skip_publicize_<publicizeConnectionID>

When receiving a post with any legacy keys in the metadata, we should update it with the new format. It's very important to use the correct ID: legacy key used the keyring connection ID and the new key uses the publicize connection ID.

Discussion: p1690306257631299-slack-C05362VSXFU

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at PostModel metadata handling and trace how keyring connection IDs map to publicize connection IDs. Verify that every wpas_skip entry is migrated to wpas_skip_publicize, while preserving the intended disabled social accounts.

Written by the indexing model from the issue text.

Assessment

Tech stack
kotlin
Domain
mobile
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.