Content
View differences
Updated by Marc Alcobé about 1 year ago
**As a** user
**I want to** see the macros, links and GitHub macros properly in mobile also
**so that** I don't see the strange <> backlog macro format
### Acceptance criteria
Ensure all these options are supported and rendered properly in the mobile app:
* Links to resources:
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Link target</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Usage example</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Mobile desired format</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Status</p></th></tr></thead><tbody><tr design</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Wiki page</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">[[Wiki page]]</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Link (open browser)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">⚠️ Browser can't open error</p></td></tr><tr class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Wiki page with separate link name</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">[[Wiki page|The text of the link]]</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Link (open browser)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">⚠️ Browser can't open error</p></td></tr><tr class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Wiki page in the Sandbox project</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">[[Sandbox:Wiki page]]</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">?</p></td><td class="op-uc-table--cell"><p class="op-uc-p">?</p></td></tr><tr class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Work package with ID12</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">#12</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Link (open browser)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">⚠️ Browser can't open error</p></td></tr><tr class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Work package with ID 12 with subject and type</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">##12</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><i>[tbd]</i></p></td><td class="op-uc-table--cell"><p class="op-uc-p">❌ Not implemented</p></td></tr><tr class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Work package with ID 12 with subject, type, status, and dates</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">###12</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><i>[tbd]</i></p></td><td class="op-uc-table--cell"><p class="op-uc-p">❌ Not implemented</p></td></tr><tr class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Version by ID or name</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">version#3</code>, <code class="op-uc-code">version:"Release 1.0.0"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Link (open browser)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">✅ Already implemented</p></td></tr><tr class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Project by ID/name</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">project#12</code> , <code class="op-uc-code">project:"My project name"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Link (open browser)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">✅ Already implemented</p></td></tr><tr class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Attachment by filename</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">attachment:filename.zip</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">?</p></td><td class="op-uc-table--cell"><p class="op-uc-p">?</p></td></tr><tr class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Meeting by ID/name</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">meeting#12</code> , <code class="op-uc-code">meeting:"My meeting name"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Link (open browser)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">✅ Already implemented</p></td></tr><tr class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Document by ID/name</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">document#12</code> , <code class="op-uc-code">document:"My document name"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Link (open browser)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">❌ Not implemented</p></td></tr><tr class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">User by ID or login</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">user#4</code> , <code class="op-uc-code">user:"johndoe"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Mention link (open user profile in app)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">❌ Not implemented (opens browser)</p></td></tr><tr class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Forum message by ID</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">message#1218</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">Link (open browser)</p></td><td class="op-uc-table--cell"><p class="op-uc-p">✅ Already implemented</p></td></tr><tr class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Repository revision 43</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">r43</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">?</p></td><td class="op-uc-table--cell"><p class="op-uc-p">?</p></td></tr><tr class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Commit by hash</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">commit:f30e13e4</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">?</p></td><td class="op-uc-table--cell"><p class="op-uc-p">?</p></td></tr><tr class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Source file in the repository</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">source:"some/file"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p">?</p></td><td class="op-uc-table--cell"><p class="op-uc-p">?</p></td></tr></tbody></table></figure> class="op-uc-p"><br></p></td></tr></tbody></table></figure>
* Work package attributes:
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>Attribute</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>Usage example</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Mobile design</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">%Complete</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:8415:percentageDone</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Accountable</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:responsible</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Assignee</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:assignee</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Author</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:author</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Category</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:category</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Creation date</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:createdAt</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Custom Fields</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:"Name of the work package custom field"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Date of last update</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:updatedAt</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Description</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:description</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Estimated time</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:estimatedTime</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Finish date</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:dueDate</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Parent work package</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:parent</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Priority</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:priority</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Project</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:project</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Remaining hours</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:remainingTime</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Remaining work</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:8415:remainingTime</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Spent time</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:spentTime</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Start date</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:startDate</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Status</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:status</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Subject / Title</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:subject</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Version</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:version</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Work</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:8415:estimatedTime</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Work package type</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:type</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr></tbody></table></figure>
* Project attributes:
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>Attribute</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>Usage example</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Mobile design</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><i>Custom Fields</i></p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">projectValue:"Name of the project custom field"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Project active? (boolean)</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">projectValue:active</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Description</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">projectValue:description</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Identifier of the project</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">projectValue:identifier</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Name of the project</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">projectValue:name</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Status</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">projectValue:status</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Status description</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">projectValue:statusExplanation</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Parent project</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">projectValue:parent</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Project public? (boolean)</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">projectValue:public</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr></tbody></table></figure>
* GitHub macros:
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Pull request activities</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Usage example</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Mobile design</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">First referenced (usually when opened)</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><i>Automatically appears when a PR is linked to a work package</i></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Marked ready for review</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><i>Automatically appears when a PR is linked to a work package</i></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Merged</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><i>Automatically appears when a PR is linked to a work package</i></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Closed</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><i>Automatically appears when a PR is linked to a work package</i></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr></tbody></table></figure>
### Technical notes
* GitHub macros:
* API endpoint `/api/v3/work_packages/61641/github_pull_requests`
* Hard-coded status colours [here](https://github.com/opf/openproject/blob/4911b8a14921efe0c552ab2029389ac12bcaefcb/modules/github_integration/frontend/module/pull-request/pull-request-state.component.sass#L36).
* OpenProject supported macros and link to resources are specified [here](https://www.openproject.org/docs/user-guide/wysiwyg/#available-attributes-for-work-packages).
### Figma and visuals
https://www.figma.com/design/xiZOMN9Vdgm5RiZotIRa7p/Mobile-App---Work-packages?node-id=1064-5376
**I want to** see the macros, links and GitHub macros properly in mobile also
**so that** I don't see the strange <> backlog macro format
### Acceptance criteria
Ensure all these options are supported and rendered properly in the mobile app:
* Links to resources:
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Link target</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Usage example</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Mobile desired format</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Status</p></th></tr></thead><tbody><tr
* Work package attributes:
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>Attribute</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>Usage example</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Mobile design</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">%Complete</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:8415:percentageDone</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Accountable</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:responsible</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Assignee</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:assignee</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Author</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:author</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Category</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:category</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Creation date</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:createdAt</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Custom Fields</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:"Name of the work package custom field"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Date of last update</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:updatedAt</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Description</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:description</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Estimated time</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:estimatedTime</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Finish date</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:dueDate</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Parent work package</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:parent</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Priority</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:priority</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Project</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:project</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Remaining hours</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:remainingTime</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Remaining work</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:8415:remainingTime</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Spent time</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:spentTime</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Start date</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:startDate</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Status</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:status</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Subject / Title</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:subject</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Version</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:version</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Work</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:8415:estimatedTime</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Work package type</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">workPackageValue:1234:type</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr></tbody></table></figure>
* Project attributes:
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>Attribute</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p"><strong>Usage example</strong></p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Mobile design</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><i>Custom Fields</i></p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">projectValue:"Name of the project custom field"</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Project active? (boolean)</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">projectValue:active</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Description</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">projectValue:description</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Identifier of the project</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">projectValue:identifier</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Name of the project</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">projectValue:name</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Status</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">projectValue:status</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Status description</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">projectValue:statusExplanation</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Parent project</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">projectValue:parent</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p">Project public? (boolean)</p></td><td class="op-uc-table--cell" style="border-color:rgb(223, 223, 223);padding:7px 10px;"><p class="op-uc-p"><code class="op-uc-code">projectValue:public</code></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr></tbody></table></figure>
* GitHub macros:
<figure class="table op-uc-figure_align-center op-uc-figure"><table class="op-uc-table"><thead class="op-uc-table--head"><tr class="op-uc-table--row"><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Pull request activities</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Usage example</p></th><th class="op-uc-table--cell op-uc-table--cell_head"><p class="op-uc-p">Mobile design</p></th></tr></thead><tbody><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">First referenced (usually when opened)</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><i>Automatically appears when a PR is linked to a work package</i></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Marked ready for review</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><i>Automatically appears when a PR is linked to a work package</i></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Merged</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><i>Automatically appears when a PR is linked to a work package</i></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr><tr class="op-uc-table--row"><td class="op-uc-table--cell"><p class="op-uc-p">Closed</p></td><td class="op-uc-table--cell"><p class="op-uc-p"><i>Automatically appears when a PR is linked to a work package</i></p></td><td class="op-uc-table--cell"><p class="op-uc-p"><br></p></td></tr></tbody></table></figure>
### Technical notes
* GitHub macros:
* API endpoint `/api/v3/work_packages/61641/github_pull_requests`
* Hard-coded status colours [here](https://github.com/opf/openproject/blob/4911b8a14921efe0c552ab2029389ac12bcaefcb/modules/github_integration/frontend/module/pull-request/pull-request-state.component.sass#L36).
* OpenProject supported macros and link to resources are specified [here](https://www.openproject.org/docs/user-guide/wysiwyg/#available-attributes-for-work-packages).
### Figma and visuals
https://www.figma.com/design/xiZOMN9Vdgm5RiZotIRa7p/Mobile-App---Work-packages?node-id=1064-5376