negan07 / ancistrus

Netgear's D7000 Nighthawk Router Experience Distributed Project
https://negan07.github.io/ancistrus/
GNU General Public License v2.0
66 stars 17 forks source link

Chrome browser home page cache retain old fw version #91

Closed Shockeh closed 2 years ago

Shockeh commented 2 years ago

Hi negan07,

Possible red herring, but when logged in via SSH, all packages show as latest versions, but the Web GUI continues to report Build 875, 2021-11-03 21:22 UTC, and that there's a new Monolithic Firmware Available.

I've --force-reinstalled ancistrus-core just to see if that made any difference, but no luck.

Shockeh commented 2 years ago

Addendum: I've tried reinstalling mini_httpd without success, after noticing a number of the headings under the Ancistrus panel are now blank:

image

m0lz commented 2 years ago

The "new Monolithic Firmware Available" report may have been due to this issue ... https://github.com/negan07/ancistrus/issues/90 .. During troubleshooting that issue, there was a build #916 released, which was subsequently removed, and now on conclusion of that issue there is a new build #917 So possibly prior to regression you received the update notice.

Shockeh commented 2 years ago

Thanks @m0lz - Just to check, I tried reflashing with 917, but the same behaviour recurred, still shows at 875.

Although I did get something new, upon login I got a popup: Warning ! Repository update not available !Error code: 1

negan07 commented 2 years ago

clean the D7000 related cache browser and try again Repository results up here for me

Which browser do you have in use ?

Linden1 commented 2 years ago

Mine reports build 875 too in Chrome. Look at the date and the firmware version. 875 But if I switch to firefox the build and date are correct 917 I don't have an issue. Just wanted to support this thread and say I haven't found a way to fix it other than to use firefox. No amount of GUI refreshing or cache clearing fixes it. Just use firefox.

negan07 commented 2 years ago

The file informations are fetch from router firmware's file system, in particular /usr/etc/svn.info

If the file is changed it contains updated infos. The browser can't fetch the old file with old infos because they're no more available so it means that it keeps them into its internal cache.

Clearing the cache related to D7000 or 192.168.0.1 will delete also the old page infos.

To clear the cache you can also act manually reloading not the whole pagebut the internal frame only.

Otherwise, use the button Refresh GUI present on ancistrus -> core setup -> utilities

Linden1 commented 2 years ago

I got it fixed in chrome. I signed out of my Google account, cleared the cache then signed back in and synced again. A strange one but it's definitely not an issue with 917.

negan07 commented 2 years ago

It's an old browser related one. I can't force the refresh on the whole index page because it is controlled by vendor cgi and I can't trick it because no code is available.

I decided to force a refresh in the internal frame with this: https://github.com/negan07/ancistrus/commit/6ae89771cd75dcf7f948a93c90acaa9438feee48

document.getElementById('formframe').contentDocument.location.reload(true); but probably this method doesn't have effects on latest chrome versions, while working on mozilla/gecko, edge & safari

So this report is useful, because I can investigate the reasons on chrome too

negan07 commented 2 years ago

I've just tried with all the typical browsers, altering manually /etc/svn.info with another firmware version string or anything else, obtaining a successful page refresh in any case, with router's ip login & just in case also with www.routerlogin.net

At this point I ask:

Linden1 commented 2 years ago

The error is back.

  • the chrome version in use (laptop/mobile also) Version 101.0.4951.54 (Official Build) (64-bit) on Windows 10 Laptop
  • any particular plugin installed related All plugins disabled
  • the page debug info tool output of the loaded page if you can How do we do this? I'm willing to help.
negan07 commented 2 years ago

the dev tools can be called with ctrl + shift + I elements tab see for errors (some problems & warnings are normally present)

Linden1 commented 2 years ago

No errors, just these: 1 2 3

Linden1 commented 2 years ago

This is a strange one. Not only is it showing as build 875 with the wrong date, it's also showing the update banner for build 917. Untitled

negan07 commented 2 years ago

same for me

If you want to try modifying /etc/svn.info on the fly telnet/ssh the router and type:

sed -i "s|917|mumblemumble|" /etc/svn.info

then refresh the page and see

You see the banner because the old cached page makes a comparison between version number and a file on the github repository containing the latest version number, and of course it advice for the upgrade because 875<917

Linden1 commented 2 years ago

sed -i "s|917|mumblemumble|" /etc/svn.info followed by a refresh makes no difference

edit However, clearing the cache and cookies now works :D mumblemumble lol

negan07 commented 2 years ago

how do you refresh ? clicking ancistrus tab ? or anything else ?

negan07 commented 2 years ago

if you want to repeat the experiment

sed -i "s|mumblemumble|anything|" /etc/svn.info

and so on: put between the pipes |old|new|

negan07 commented 2 years ago

Do you still obtain 875 even after clearing it all ? I'm using a portable version up to date of chrome without any gmail account association: can this create stucks ?

Linden1 commented 2 years ago

nevermind. I messed it up. I've managed to change it back to 917 and the refresh works. But yes, I do think this is actually a chrome problem as firefox is fine and refreshes to changes straight away.

negan07 commented 2 years ago

I didn't encounter any issues with: ie, safari, edge, chrome, mozilla, mozilla ESR

I made the code modification some time ago and since that the recurrent reports of old version cached have stopped...

Linden1 commented 2 years ago

I certainly shouldn't have a cache issue, I very rarely use chrome for network stuff. I've always preferred firefox for that. If you're going to push a new monolithic with the regresses then I think we should wait for that to do anything else with this. My problem is gone so I can't debug anymore really.

negan07 commented 2 years ago

I'm waiting to push the monolithic because I would like to see the evolution of this minor issue, but it's hard if I can't reproduce the situation involved.

@Shockeh: any news about this ?

Linden1 commented 2 years ago

Issue - Ancistrus menu items missing re: post #2. I could only replicate by installing the firmware using the rescue image method (startup.sh)

Replicated by:

  1. reset nvram
  2. flash latest rescue image
  3. add ancistrus using the startup.sh script.

Observation:

  1. 'Core Setup' menu populated
  2. 'Management' 'Networking' Storage' and 'General' menus are empty.
  3. Rootfs partition space used 80%

I can deduce from this some items are left out to keep the rootfs usage down, and it's up to the user to install any packages they need.

Flashing with 917 monolithic fixes this.

negan07 commented 2 years ago

This is not related to browser cache retain

https://github.com/negan07/ancistrus/wiki/Rescue-firmware-&-startup.sh#behaviour

Point number 5: Install the essential packages including ancistrus-core and opkg itself to flash.

The essential packages are: zlib openssl curl ancistrus-core utelnetd opkg

Where: zlib openssl curl utelnetd are already present on vendor firmware, but older and with some configuration differences so they are replaced.

ancistrus-core opkg

are new

The startup.sh has not been created to install all the packages starting from a vendor firmware. Each one can decide to install its useful packages, so the menus are void at the beginning because packages are not installed yet.

negan07 commented 2 years ago

Nothing news have come from the opener: no way to reproduce the problems as tested above. If something new happen, report here or open another