No snippet displays on about:home

VERIFIED FIXED

Status

Snippets
General
VERIFIED FIXED
5 years ago
5 years ago

People

(Reporter: Alice0775 White, Assigned: mkelly)

Tracking

({regression})

unspecified
regression

Firefox Tracking Flags

(firefox25-)

Details

(Reporter)

Description

5 years ago
Build Identifier:
http://hg.mozilla.org/mozilla-central/rev/05d3797276d3
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20130801 Firefox/25.0 ID:20130801030223

Steps To Reproduce:
1. Open about:home

Actual Results:
No snippet display

And an error shows in Browser Console
NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMWindow.localStorage] @ about:home:101

Expected Results:
A snippet should display.
No error in Browser Console.

Regression window:
Good:
http://hg.mozilla.org/mozilla-central/rev/ffd57aa81b5f
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20130731 Firefox/25.0 ID:20130731050350
Bad:
http://hg.mozilla.org/mozilla-central/rev/c4dd1430498a
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20130731 Firefox/25.0 ID:20130731104250
Pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=ffd57aa81b5f&tochange=c4dd1430498a

Regressed by:
c5d66af1f8a9	Marco Bonardo — Bug 889442 - Remove special about: pages code from DOM Storage. r=mayhemer
(Reporter)

Updated

5 years ago
Summary: No snippet display on about:home → No snippet displays on about:home
(Reporter)

Updated

5 years ago
OS: Windows 7 → All
The error is due to the snippets code, the page code doesn't use localStorage for anything.

We need snippets code that can handle non-working localStorage.
Flags: needinfo?(mkelly)
(Assignee)

Comment 2

5 years ago
The only thing we use localStorage for right now is to store the user's country for geolocated snippets. I'm guessing the suggested place to store that is in IndexedDB now, right? Is there a specific place in IndexedDB that I should be storing it?
Flags: needinfo?(mkelly)
the page has a storage that wraps indexedDB for you, you can just do.

gSnippetsMap.set("key", "value") and gSnippetsMap.get("key")
PS: the map exists from FF22, bug 820834, it was wrapping localStorage before.
Component: DOM → General
Product: Core → Snippets
Version: 25 Branch → unspecified
I think this bug is causing other components to fail. Steps to reproduce for the SPS profiler:

0. /be me
1. Launch Firefox on a page that doesn't use localStorage.
2. Open Developer Tools / Profiler (shift-F5) and start profiling the page by clicking a stopwatch button in the left top corner.
3. Stop profiling by clicking the same button.
4. Confirm that profile was generated and there's some data displayed.
5. Go to any page that uses localStorage (like jshint.com)
6. Repeat steps 1 and 2.
7. Now profiler is stuck on the IDLE state and browser console displays NS_ERROR_NOT_AVAILABLE errors from StartProfile call.

Happy to provide more info if needed.
Blocks: 879007
That wouldn't be this bug (which only affects about:home because of a bug in snippets). It might be related to bug 889442, though?
No longer blocks: 879007
Assigning to mkelly to proceed towards a server side solution.
Assignee: nobody → mkelly
Status: NEW → ASSIGNED

Updated

5 years ago
Hardware: x86_64 → All
(Assignee)

Comment 8

5 years ago
> PS: the map exists from FF22, bug 820834, it was wrapping localStorage before.

Just an FYI, we can't use the pre-IndexedDB gSnippetsMap because it whitelists the keys that it pulls into the cache it uses, which means we can't read our geolocation-specific data from it as it doesn't load it from localStorage.

As a feature test I'm going to attempt to access localStorage and fallback to gSnippetsMap if it fails.
(Assignee)

Comment 9

5 years ago
Pull request is up at https://github.com/mozilla/snippets-service/pull/33 and waiting review from a teammate.

mak: Feel free to take a look at it as well if you want. :D
Blocks: 879007
No longer blocks: 879007
(Assignee)

Comment 10

5 years ago
Doh, put the wrong bug number in the commit message. This should be fixed by https://github.com/mozilla/snippets-service/commit/2d3d37daad3f1bf79b807d9d3f27e36bbc58ec54.

retornam: The fix should be available on stage in 15 minutes. We need to test that snippets work and snippet geolocation works in Firefox 20, Firefox 23, and Firefox 25. Let me know if you need any help getting the environment set up.
Tested in Firefox 20, 23 and nightly 26.0a1 (2013-08-07). All the snippets were shown
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
(Reporter)

Comment 12

5 years ago
Mmm!, No snippets is shown in Aurora25.0a2

http://hg.mozilla.org/releases/mozilla-aurora/rev/58e2271ca9d0
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Firefox/25.0 ID:20130808004004

STR
1. Start Aurora25.0a2 with newly created clean profile
   --- observe snippets --- OK snipets displays
2. Click Home Button
   --- observe snippets

Actual Results:
No snippets at Step2
http://cl.ly/image/1m0k3u2q0Y3a
and http://cl.ly/image/1a2g1N2j171Q


Did you change the snippets url in about:config to point to stage? https://snippets.allizom.org
(Reporter)

Comment 14

5 years ago
(In reply to raymond [:retornam] from comment #13)
> http://cl.ly/image/1m0k3u2q0Y3a
> and http://cl.ly/image/1a2g1N2j171Q
> 
> 
> Did you change the snippets url in about:config to point to stage?
> https://snippets.allizom.org

No, I mentioned in STR
1. Start Aurora25.0a2 with newly created clean profile
(Assignee)

Comment 15

5 years ago
The fix has been pushed to stage and production, retornam will be testing shortly.

Alice: Can you also attempt to reproduce now that production has the updated code?
(Reporter)

Comment 16

5 years ago
I can reproduce the problem with STR in comment#12
And an error shows in Browser Console when I click HOME Button

TypeError: gSnippetsMap is null @ about:home:120
(Assignee)

Comment 17

5 years ago
Of course right after I was all "It's working!" we realized it wasn't working. Doh!

I've pushed https://github.com/mozilla/snippets-service/commit/e2ad3d043115cece38373e3710cc17822a5b8eee and production seems to be working for me on Nightly now, can we re-test?
(Reporter)

Comment 18

5 years ago
Now fixed. I can no longer reproduce the problem.

Thanks.
Status: RESOLVED → VERIFIED

Updated

5 years ago
Component: General → General
Product: Snippets → Firefox

Updated

5 years ago
tracking-firefox25: ? → -
Component: General → General
Product: Firefox → Snippets
You need to log in before you can comment on or make changes to this bug.