Workbox service-worker won't work on second html - service-worker

Hey everyone i'm new to Workbox and iv'e been using the CLI to generate a SW with precaching, i have two html files index and restaurant_details my issue is that when i go offline to access index page that holds all of the restaurant reviews i have and i can click to see the details, now that page works fine and all the cached files are working great but when i try to view details of a restaurant that i already visited and that has its own files cached the SW disappears completely and it's cache with it.
The odd thing is that if i plug out my Ethernet cable and see if the restaurant details work fine they do and the SW stays on and the cached files get retrieved and it all works fine, could someone explain to me why that would happen and what i can do to fix it.

Related

Webpack url-loader PDF data URI link for Vue site stops working in iOS 14

I have a Vue.js website with a PDF file which is included in my ultimate javascript bundle via webpack. (It's my CV.) The following build and delivery process has worked perfectly fine for me since 2017, but suddenly stopped working in iOS 14:
Build the PDF with LaTeX.
Use webpack's url-loader to include the PDF in my webpack bundle as a base64 data URI.
Load that URL into a vuex data store, and then just deliver it as a link when clicked.
For the last three years, this has worked fine: I've been able to click on the link and get a working PDF. It's been kind of random and platform-specific whether the PDF opens in-browser or shows up in a download folder, and whether it gets the filename I've asked it to get or not, but, well, that doesn't matter to me. And the core functionality of click the link and get the PDF has worked on every browser and every platform I've ever tried it on.
All of a sudden, with iOS 14, it's stopped working. Now, when I try to activate the PDF link in iOS Safari, nothing happens at all. When I do it in iOS Chrome, it produces a little popup claiming it downloaded a document, but nothing seems to actually be able to open the document. And when I do it in iOS DuckDuckGo, it just displays the base64 data URI in the address bar.
Interestingly, if I take the dataURI that DDG displays in the address bar and copy and paste it into Safari or Chrome on iOS, it actually displays my pdf. So the browsers still have the capacity to display a PDF from a data URI. It just doesn't want to do so from my link.
And my site still works as expected on the desktop. Including in Safari on the desktop. Also, it still works on my wife's phone (she's still on iOS 13). So this is clearly something Apple changed in iOS 14. But what? And how to get my site working again?
I'm guessing that Apple has changed the behavior of the renderer in iOS in some fashion to cause it to break across browsers but nowhere else (since browsers in iOS are all still required to rely on webkit, right?)
This is a pretty important feature to me. I made this decision deliberately for perceived performance---combined with pre-rendering, everything on my site, including the PDF, loads very close to instantly from the user perspective. So I'd really like to keep it.
I'm using Webpack 2.6.1 and Vue 2.3.3. This is a stable build that has been working flawlessly for three years, so I haven't felt the need to update anything except for security updates.
After searching around, I did find this Apple dev discussion which suggests that in iOS 14, Apple newly blocks redirects to data URIs. But I'm not doing a redirect, I'm actually navigating directly to the URI through a link. And the linked discussion suggests that the newly banned behavior just brings Apple in line with what other browsers already ban---but my code works in every other browser, so that can't be it.
Relevant code, to the extent it matters (though it's so basic and obvious that I doubt a simple code fix will be the answer here):
from my webpack.base.js:
{
test: /\.(pdf)$/,
loader: 'url-loader'
},
from my vuex store, in state.js
import cvURL from './assets/pdf/gowdercv.pdf';
from the component containing the link that points to PDF:
<p><a :href="cvURL" download="gowdercv.pdf"><img src="../../assets/icons/file-pdf.svg" class="cvicon"> Download in PDF</a></p>
which is loaded as a computed property to the component, i.e.,
computed: {
cvURL: function(){return this.$store.state.cvURL;},
Does anyone know how to get functionality back in iOS? Is there a workaround built in recent versions of webpack or vue for this? Thanks!
Update: after some help off SO, an acquaintance turned up this similar problem, which also came up with a solution: turning the base64 URI into a blob and passing that data url. Which also solves my problem. Though that SO doesn't have an accepted answer, so I can't vote to close my own question as a duplicate, alas.

First attempt at file download does not work. Need to click link twice and it works

I am having a really weird situation and would appreciate any help that can be provided.
My setup is pretty simple. I have an ember app that communicates with a Rails backend. I hit a certain route and a spreadsheet report is generated and placed in the public folder of the rails app. So far so good.
The rails backend then sends a response with the path to the file to the front-end that I place in a href that people can click on to download the file. This is where the weirdness happens. The first time that the link to download is clicked, I get a 404. What's weird is that if I click the link again or copy and paste the url into the address bar, the download works. No matter how I attempt to download the file, the first attempt always fails and all subsequent attempts succeed. I even set it up so that on one click I try to download the file twice and the first attempt fails and the second one works. This is definitely not ideal though.
edit: Also ... This only happens in production. In development, the download works perfectly fine.
I have no idea what the issue is and would appreciate any help in this.
Thanks

Transferred site doesn't show content with PMWiki

A relatively simple pmwiki site has been copied to a new server. All of the formatting (non-wiki) code works however the wiki content comes up as blank.
If I add a new page, that page shows up just fine.
I have checked the permissions and ownership of the files in wiki.d folder. All files (new and old) look identical.
I have eliminated the search optimization file in hopes that the old would be treated like the new.
Is there another file that references older files that might be keeping them from being seen? Any ideas would be welcome.
I've never had this problem before in copying a pmwiki site.
Here is the site http://pecarru.mobilify.pw/
Here is the new page http://pecarru.mobilify.pw/index.php?n=Main.NewPage
All pages should have text in the white box
The page-source is available by appending &action=source, so that tells us there is no problem accessing the content.
Additionally, the content looks normal -- no weird characters that I can see (which sometime cause trouble on a new server).
However, I do see "smart quotes" in several pages; try changing changing them to dumb-quotes and see if the page will now render.
I see that the WikiSandbox page and content in the PmWiki group renders, so it's not every page that has a problem.
If editing doesn't resolve the issue, try disabling recipes in \local\config.php until the content appears.
Something is choking on render.

how to extract css and html from already opened page which has been changed and modifed locally

i am faced with a huge problem. I have been developing a website since many days now. I have a style1.css which i use through dream weaver. today morning i was starting work on a new page and i by mistake linked an old style1.css from another website folder into my current HTML/JSP page(that i started work on today) and i continued everything. It got saved and the latest style1.css got replaced by the older one and got updated. This is screwed up eveything, and i dont have a backup because i never made such a blunder ever and the file that i linked was from an older backup. I didnt know. Now i have an old Reg.html(the proper one) page open in my Opera browser. What i want to do is copy the css and HTML from the browser itself from memory. Because if i view source and click on my linked CSS file, it shows the current(wrong one) and also the HTML source maybe wrong. I have replaced about 3-4 days of work, i cannot afford to rework, so if there any way i can extract html and css from an opened page from memory. (what i am saying is that if i refresh, my work is gone, so i havent refreshed it and carefully trying to extract out.) I tried recuva file recovery software locally, in my css folder, but it doesnt work. in windows previuos versions also there is nothing. In dreamweaver is there any backup mechanism from which i can restore it? I think my only option is to extract from opera. Is there any software or mechanism i can use to do that? or do i have to work again. The latter means that i have to do all the work again on multiple pages. Please help me! :(

An iframe tab code that was working now shows a blank screen

I'm making some fanpages.
I have a code that show an image to the user before liking the page, and another image or content after liking the page.
I created several pages with this code and all of them worked fine.
but about 5 days ago, I created one with the same code, and it just showed the "after like" content, even when I haven't liked the page.
and today, I created a new one, and it just shows a blank page. neither the after or the before.
I've checked on the previous fanpages and those are still working, so it's just the new pages that aren't working.
they'r using the facebook php sdk
the procedure I use is:
* upload files to my server
* create a new app
* add urls for page tab (both normal and secure url)
* add app to my page
is someone having the same issue?
does someone know why is that problem and how it can be solved?
thanks,
Abraham
if you have php errors turned off, and you throw a fatal php error before any html output, you might also see a blank screen.
Try uploading a dummy file with some simple text as your main app page, and see if it works.
If so, try tracking down any error that might prevent the page from rendering.
To get output on php errors, add this to the top of your page:
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
?>

Resources