Add the ability to disable split Spotlight RDM
Categories
(Firefox :: Messaging System, task, P1)
Tracking
()
People
(Reporter: aminomancer, Assigned: jprickett)
References
(Blocks 1 open bug)
Details
Attachments
(2 files)
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-beta+
|
Details | Review |
For the "Import- Embedded Modal - all users" experiment, we're using illustrations that take up the entire space of the illustration area. But when the window is too small to accommodate the full split Spotlight card, it shrinks to a half-width card, where the secondary section is displayed above the main section, as a tiny banner. The illustration is rendered in this banner area using a "fill" tiling approach rather than a "fit" approach, so most of these giant illustrations will be cut off, making them useless.
In the future, we may add the ability to provide 2 different illustrations: one for normal mode, and one for RDM. But right now, doubling the number of illustrations needed for this experiment is too much. So instead we will be okay with simply disabling RDM for these messages. So that means adding a property that will translate to an HTMl attribute that can be referenced in the RDM styles.
Investigate what happens when RDM is disabled. Does that change the window's minimum width? What if you set a min-width
rule on the outer container of the .spotlightBox
(i.e. the container of the browser the document is rendered in, styled in browser.css)? Otherwise, do scrollbars appear? This is really an open-ended assignment, since we don't have any preconceptions about how this should be handled. Try to produce the best result for cases where the window is sized really small, but don't sweat it too much, as there is no optimal solution — that's what RDM is ultimately for. In this case, we're making an informed tradeoff on the basis that most users' windows will be much bigger than this.
Note: we also considered adding a targeting attribute for "current window size." The problem is that window size can be changed after the message shows, so it doesn't really solve our problem — we'd still have to disable RDM for these messages. And if we're disabling RDM and it's still possible for the spotlight to render in too small a window, then it seems superfluous to exclude users with already-tiny windows.
Reporter | ||
Updated•10 months ago
|
Reporter | ||
Updated•10 months ago
|
Updated•9 months ago
|
Assignee | ||
Updated•9 months ago
|
Assignee | ||
Comment 1•9 months ago
|
||
There is a static width set on the content section of the split layout, and the image section is naturally responsive and will shrink to allow the entire container to fit the width of the screen if it is smaller than the current breakpoint at which it typically switches to RDM (800px).
The two most straightforward options are either to allow the split layout to remain at it's static width (800px) allowing overflow to scroll, or to let the container shrink to fit the screen, while allowing the image section to also shrink. The first option makes a bit more sense to me in this context considering the original concern was cutting off the image.
Reporter | ||
Comment 2•9 months ago
|
||
Yeah it seems quite difficult to dynamically shrink the entire container. That would require JS and it's probably not worth the effort, since this is really just a workaround anyway.
Assignee | ||
Comment 3•9 months ago
|
||
Updated•9 months ago
|
Updated•8 months ago
|
Comment 5•8 months ago
|
||
Backed out for causing fxms failures
- backout: https://hg.mozilla.org/integration/autoland/rev/f980acc6338fc3d7c1e803669e13d1e11f1073cf
- push: https://treeherder.mozilla.org/jobs?repo=autoland&group_state=expanded&selectedTaskRun=YkoxaQnCROmFvnY2aPQfDg.0&revision=d488b0a57d95389e9b1ffb56bf04351df75256a5
- failure log: https://treeherder.mozilla.org/logviewer?job_id=450652371&repo=autoland&lineNumber=3224
[task 2024-03-13T19:09:39.861Z] "MultiMessage": {
[task 2024-03-13T19:09:39.861Z] "description": "An object containing an array of messages.",
[task 2024-03-13T19:09:39.861Z] "type": "object",
[task 2024-03-13T19:09:39.861Z] "properties": {
[task 2024-03-13T19:09:39.861Z] "template": {
[task 2024-03-13T19:09:39.861Z] "type": "string",
[task 2024-03-13T19:09:39.861Z] "const": "multi"
[task 2024-03-13T19:09:39.861Z] },
[task 2024-03-13T19:09:39.861Z] "messages": {
[task 2024-03-13T19:09:39.861Z] "type": "array",
[task 2024-03-13T19:09:39.861Z] "description": "An array of messages.",
[task 2024-03-13T19:09:39.861Z] "items": {
[task 2024-03-13T19:09:39.861Z] "$ref": "chrome://browser/content/asrouter/schemas/MessagingExperiment.schema.json#/$defs/TemplatedMessage"
[task 2024-03-13T19:09:39.861Z] }
[task 2024-03-13T19:09:39.861Z] }
[task 2024-03-13T19:09:39.861Z] },
[task 2024-03-13T19:09:39.861Z] "required": [
[task 2024-03-13T19:09:39.861Z] "template",
[task 2024-03-13T19:09:39.861Z] "messages"
[task 2024-03-13T19:09:39.861Z] ]
[task 2024-03-13T19:09:39.861Z] }
[task 2024-03-13T19:09:39.861Z] }
[task 2024-03-13T19:09:39.862Z] }
[task 2024-03-13T19:09:39.862Z]
[task 2024-03-13T19:09:39.862Z]
[task 2024-03-13T19:09:39.862Z] Traceback (most recent call last):
[task 2024-03-13T19:09:39.862Z] File "make-schemas.py", line 472, in <module>
[task 2024-03-13T19:09:39.862Z] main(args.check)
[task 2024-03-13T19:09:39.862Z] File "make-schemas.py", line 453, in main
[task 2024-03-13T19:09:39.862Z] check_diff(schema_def, schema)
[task 2024-03-13T19:09:39.862Z] File "make-schemas.py", line 405, in check_diff
[task 2024-03-13T19:09:39.862Z] raise ValueError("Schemas do not match!")
[task 2024-03-13T19:09:39.862Z] ValueError: Schemas do not match!
[task 2024-03-13T19:09:39.862Z] Creating default state directory: /builds/worker/.mozbuild
[task 2024-03-13T19:09:39.862Z] Creating local state directory: /builds/worker/.mozbuild/srcdirs/gecko-8a5b87fe5d69
[taskcluster 2024-03-13 19:09:40.212Z] === Task Finished ===
[taskcluster 2024-03-13 19:09:40.212Z] Unsuccessful task run with exit code: 1 completed in 32.055 seconds
Assignee | ||
Comment 6•8 months ago
|
||
The error was due to an improper schema change and update. Fixed and re-landing.
Comment 8•8 months ago
•
|
||
Backed out for causing newtab failures on aboutwelcome
- backout: https://hg.mozilla.org/integration/autoland/rev/d476aa78172f93642d6b404f0b4e7adbb1e7cbe5
- push: https://treeherder.mozilla.org/jobs?repo=autoland&group_state=expanded&selectedTaskRun=NgNFBBphT-CavAC0wKa1tw.0&revision=4707e617d3896e3756310f69a4d5ac448e4b8045
- failure log: https://treeherder.mozilla.org/logviewer?job_id=450669619&repo=autoland&lineNumber=2439
[task 2024-03-13T22:20:25.354Z] TEST-START | karma /builds/worker/checkouts/gecko/browser/components/aboutwelcome
[task 2024-03-13T22:20:25.354Z] TEST-UNEXPECTED-FAIL | karma /builds/worker/checkouts/gecko/browser/components/aboutwelcome | Coverage for branches (78.74%) in file /builds/worker/checkouts/gecko/browser/components/aboutwelcome/content-src/components/MultiStageProtonScreen.jsx does not meet per file threshold (79.07%)
[task 2024-03-13T22:20:25.354Z] -----karma stdout below this line---
[task 2024-03-13T22:20:25.354Z]
[task 2024-03-13T22:20:25.354Z] > about-welcome@1.0.0 testmc:unit
[task 2024-03-13T22:20:25.354Z] > karma start karma.mc.config.js
[task 2024-03-13T22:20:25.354Z]
[task 2024-03-13T22:20:25.354Z]
Also Test-Verify failures: TEST-UNEXPECTED-FAIL | browser/components/aboutwelcome/tests/browser/browser_aboutwelcome_configurable_ui.js | Uncaught exception in test bound test_aboutwelcome_logo_selection - undefined - timed out after 50 tries.
Assignee | ||
Comment 9•8 months ago
|
||
[Tracking Requested - why for this release]: This is necessary for embedded migration wizard spotlight experiment
Updated•8 months ago
|
Comment 10•8 months ago
|
||
Comment 11•8 months ago
|
||
bugherder |
Assignee | ||
Comment 12•8 months ago
|
||
Original Revision: https://phabricator.services.mozilla.com/D201902
Updated•8 months ago
|
Comment 13•8 months ago
|
||
Uplift Approval Request
- Is Android affected?: no
- Needs manual QE test: yes
- User impact if declined: None. Embedded migration wizard experiment will not run in 125.
- Risk associated with taking this patch: Low.
- Fix verified in Nightly: no
- String changes made/needed: none
- Explanation of risk level: No logic changes. Just the addition of an option attribute that is targeting via CSS.
- Steps to reproduce for manual QE testing: Test steps available in original phab patch D201902
- Code covered by automated testing: yes
Comment 14•8 months ago
|
||
Uplift Approval Request
- Risk associated with taking this patch: Low.
- Fix verified in Nightly: no
- User impact if declined: None. Embedded migration wizard experiment will not run in 125.
- Steps to reproduce for manual QE testing: Test steps available in original phab patch D201902
- Code covered by automated testing: yes
- Explanation of risk level: No logic changes. Just the addition of an option attribute that is targeting via CSS.
- String changes made/needed: none
- Is Android affected?: no
- Needs manual QE test: yes
Updated•8 months ago
|
Updated•8 months ago
|
Updated•8 months ago
|
Comment 15•8 months ago
|
||
uplift |
Comment 16•7 months ago
|
||
I have verified this task using the steps from here and I can confirm the following:
- The spotlight does not change in size if the browser is horizontally resized under 800px.
- A horizontal scrollbar is displayed.
Verified using the latest Firefox Release 125.0.1 (Build ID: 20240416043247), latest Firefox Beta 126.0b3 (Build ID: 20240419092609), and the latest Firefox Nightly 127.0a1 (Build ID: 20240421091131) installed on Windows 10 x64, macOS 14.1.1, and Ubuntu 22.04 x64.
Description
•