Losing data between updates (chrome packaged app) - google-chrome

I'm working on a chrome packaged app that saves a lot of data locally. I recently put it on the chrome store. To my dismay, whenever my user's chrome installation updated the app (v1.1.1 to v1.1.2 for example), all their local data was gone (indexeddb data). Why is this so?
Is it the expected behavior to wipe out all the databases on an update?
Is there any way to prevent this other than not pushing out updates?
(Also where can I report this issue/bug, if it is one?)
Update: filed a bug report, but now I can't reproduce the issue. Not sure if it was fixed or my situation was a fluke.

The documentation is fuzzy on this:
https://developer.chrome.com/trunk/apps/app_lifecycle.html
Preventing data loss
Users can uninstall your app at any time. When uninstalled, no executing code or private data is left behind. This can lead to data loss since the users may be uninstalling an app that has locally edited, unsynchronized data. You should stash data to prevent data loss.
I hope they will elaborate on this, because zapping user data on every upgrade is not a great user experience.

I put in an issue:
http://code.google.com/p/chromium/issues/detail?id=169417
one of the developers got back to me and said:
I can't remember the release numbers off the top of my head, but at
some point when we turned on correct partitioned storage, there would
have been one-time data loss. This was done before packaged apps
rolled out officially to stable. If the loss of data happened across
an chrome upgrade, then I would say it's expected. It certainly
shouldn't be happening anymore.

Related

Google Sheet Stuck and unable to update, too many old versions?

TLDR:
Our Google Spreadsheet is broken and cannot be edited / saved. It keeps saying Trying to reconnect. To edit offline, turn on offline sync when you reconnect, and Reconnecting. Can it be due to the many versions saved? If so, what can be done if we don't want the sheet to change its ID?
Any help is highly appreciated!
Detailed Background:
We have a large Google Spreadsheet in our project (< 700k cells) and it's well under the 2 million cells size limit as described in here .
We have been programmatically updating this sheet by creating CSVs in the google drive with python, then using Google App Script to update the sheet with contents from the CSVs.
It has been fine for several weeks, today we started to have an issue, that is, when we manually open the sheet, it just keeps saying "Trying to reconnect. To edit offline, turn on offline sync when you reconnect", and "Reconnecting". We can make no changes to the sheets.
We tried to use different browsers (chrome, firefox, edge) and different OS (Windows, Mac), and we still have the same issue. So I don't think it's anything related to firewall / browser configuration.
We tried to make a copy of the sheet, and we are able to make changes to the copy. We can also access any other sheets and make changes without any problem.
The only difference between the actual sheet and the copied sheets is probably that the actual sheet has a lot of old versions (it has been updated every 3 minutes for weeks). Can that be a reason of failure to edit?
Another possibility is that many other scripts read this sheet. Can this be why? (It will be a pain to stop all the scripts / redirect all the scripts to another Spreadsheet)
Thanks a lot in advance!
Additional Details / Conclusions:
Using a database is definitely a better idea than a spreadsheet for such a large scale dataset.
An ".edu" domain was used. I believe we are using the G Suite version.
Just like the PC case, I am unable to make any changes when I use mobile version on Android.
From various sources, it seems that the old versions cannot be deleted (http://www.sevenminutescientist.com/2016/06/03/no-you-cannot-remove-a-revision-history-from-a-google-doc/)
When I look into the version history, it shows the following: "Google Docs encountered an error. Please try reloading this page, or coming back to it in a few minutes." I am unable to access any of the old versions.
Having issues with Google Drive constantly disconnecting you in Chrome? Error message: “Trying to connect. To edit offline, turn on offline sync when you reconnect”
This issue was encountered on a PC running Windows 10 64bit and Google Chrome (happens in the 32-bit and 64-bit versions). It doesn’t appear to happen in Firefox.
Cause: Kaspersky SSL Scanning (although it may still be an issue in Chrome as it doesn’t happen with other browsers and will likely be fixed by one of the parties soon)
Solution: Disable Kaspersky 2015 Encrypted Connection Scanning. Settings > Additional > Network > Disable encrypted connection scanning. NOTE: even if you disable Kaspersky via the temporary disable feature Google Docs still doesn’t work you have to turn off Encrypted Connection Scanning as it’s obviously always running even when Kaspersky is temporarily stopped (another bug as turning Kaspersky off should disable this).

phpMyAdmin apparently ignoring POST data, no error

I am running MAMP on my OSX dev environment, and it recently notified me that it could auto-update phpMyAdmin to version 4.6.5.2. I did so, and all seemed to be well, I was able to browse my databases as before.
Soon I learned that some things weren't working. When I take actions that use a GET request, such as clicking the Browse tab on a database, it works. When I do anything requiring POST, such as a Search, or an SQL query, it ignores the request and reloads the page, no error message appears on-screen.
No errors or warnings appear in my MySQL, Apache, or PHP log files. The problem occurs on all databases, and it's only affecting phpMyAdmin--other locally hosted sites accept POST requests as normal. I am able to read and write to the databases though other channels (e.g., command line, PHP scripts, etc).
Has anyone else encountered this?
Does anyone have an idea what might be causing it?
I'm currently trying to roll back the version, but I need to figure out how.
I have encountered the same. It looks like I have resolved the problem by clearing cookies. Also switching between different auth_type(http, cookie, config) modes in config.inc.php could help.

How to have database (mysql) snapshot for each bug submited

I am trying to find a way/tool to be able to do the following:
testers are testing the application on the main testing environment and find a bug.
They would generate a snapshot of the db used and attach it to the bug
Developer when working on the bug would be able to load this snapshot somewhere on the development server and used the instance created to work on this bug
Once the bug is fixed (and tested successfully) the instance created on the server would be destroyed.
The only thing I could think of is using Virtual Machine. Each developers would have a VM instance on the dev server and would be able to load snapshots of the bug they are working on in it. But this mean taking a snapshot of the whole environment (which is big). More over the testing are done on the dev server which is a replica of live. So nothing is changing except the db/middleware and front end.
I would love to be able to find a tool that would permit to just create/load snapshot of db (and even maybe middleware) and lets devs (so per dev instance) choosing which snapshot they want to work with.
Do you have any ideas of such tools or ways to do so?
I've tried to look around but haven't found anything helpful really.

How to automatically update MS-Access 2007 application

I have a front-end Access 2007 apllication which talks to MySql server.
I want to have a feature where the application on the user's computer can detect that there is a new version on the network (which is not difficult) and download the latest version to the local drive and launch it.
Does anybody has any knowledge or exprience how this can be done?
Thanks
Do you actually need to find out if there is a newer version?
We have a similar setup as well, and we just copy the frontend and all related files every time someone starts the application.
Our users don't start Access or the frontend itself. They actually start a batch file which looks something like this:
#echo off
xcopy x:\soft\frontend.mde c:\app\ /Y
c:\app\frontend.mde
When we started writing our app, we thought about auto-updating as well and decided that just copying everything everytime is enough.
We have enough bandwidth, so the copying doesn't create any performance problems (with about 200 users).
Plus, it makes some things easier for me as a developer when I can be sure that each time the application is started, the frontend is overwritten anyway.
I don't have to care about auto-compacting the frontend when it's closed (and users complaining that closing the app takes too long...), and I don't have to deal with corrupted frontends after crashes.
#Lumis - concerning the custom icon:
Ok, maybe I should have made this more clear. There is only one batch file, and it's in the same network folder as the frontend.
The users just have links on their desktops which all point to the same batch file in the network folder.
This means that:
future changes to the batch file are easy, because it's only one single
file in one central place
we can change the icon, because
what the user sees is a normal Windows link
(By the way, we did not change the icon. Our app is for internal use only, and I'm working in a manufacturing company, which means that all but very few users are absolutely non-technical and couldn't care less about the icon, as long as it's the same on all machines and they know how it looks like so they can find it quickly on their desktop...)
Tony Toews has one: Access Auto FE Updater
It appears to be free, but I'm not 100% sure.
Lumis's option is solid, however if you want to check the version and only copy the database when their is a new version, have a 'Version' field in a back end table, and a 'Version' constant in a front end module. Keep these in sync with each new production release. Compare the table version against the version in the module when the main form of the front end database opens.
If they don't match, have the database close, but have the database call a batch file as the last bit of code to run as it's closing. The database should finish closing before the batch file begins it's copy process. If needed, place a minor delay in the batch file code just to be sure there are no file locking issues.

Events not working in MS-Access

The database that I am working on (in MS-Access XP) seems to have become corrupted somehow. It no longer supports any events - clicks, change, update events, nothing seems to work. This is the error that I get:
The expression On Change you entered as the event property setting produced the following error: Object or class does not support the set of events.
What can I do to make events start working again? I have tried Tools->Database Utilities->Compact and Repair Database..., but it didn't help at all. Also, it hasn't been like this the whole time - events were originally working, but now nothing works, not even the auto-generated command buttons.
Compact and repair generally won't solve problems that happens in objects other than tables and indexes. Importing usually fixes those but maybe try a decompile and then an import. Decompile or how to reduce Microsoft Access MDB/MDE size and decrease start-up times
I encountered the same problem once and documented my trouble shooting steps here. The expression On Click you entered ...
Also see Corrupt Objects within a Corrupt Microsoft Access MDB
Long discussion summarized.
One page that might have a solution that might help is Errors using multiple versions of Access under Vista/Windows 7 This is basically a permissions problem into the registry.
Another suggestion is to to repair the Office 2003 installation in control panel. A2003 then reverts to using Version 11 of the library, but only until A2007 is used again, then the problem reappears.
The original poster stated "Okay, after a few restarts, it seems that removing the 2007 runtime did fix the problem for me. "
Tony alluded to this in his long string of comments, but this sounds exactly like the dueling Access registration problem. I hadn't used A2007 until recently (I had the runtime installed to test if a database developed in A2003 could be deployed under it -- it could -- but hadn't used it since that testing was completely), and when I run A2007 after I've been using A2003, it has to reconfigure itself. The other day, something went wrong during the A2003 reconfiguration (after having last run A2007) and I got errors similar to yours. Running A2007 (to re-register everything as A2007) and then running A2003 (to re-register everything as A2003) fixed the problem.
The key is that when the re-registration fails, Access doesn't necessarily know it the next time it runs, so you end up running in an environment that is partly registered for A2003 and partly for A2007. The way to restore it is to run the other version of Access. That is, if A2003 is launching without the reconfiguration notice, then close it down and run A2007 so it reconfigures itself and re-registers itself as the real Access. Then when you run A2003 next, it will re-register itself as the authoritative version of Access and your A2003 app should have all of its references in proper shape.
Yes, this is very annoying.
And time-consuming.
I don't know why MS seems to think this is something that doesn't need to be fixed. While I know they don't give a rat's ass about developers who need to run A2003 and A2007 side by side, there are plenty of end users who might have an A2007 runtime app installed but also have A2003 installed as part of their base Office installation.
This has been going on forever, so I doubt it will ever be fixed.
I have encountered the same problems many times in Access 2013. From a page on MS web site, I found the answer which solved my problem. I am sharing it here.
I copied the code safely somewhere else outside Access, in the Notepad++.
Then I deleted entire vent Procedure, with its code, which was not firing.
Created fresh Event procedure, and restored the code from Notepad++ to the newly created Event Procedure.
The event earlier not firing started without any glitch. The issue got solved.
I don't know why the problem appears. This problem has come up many times and every time it is resolved with the same solution.
Try it.
Try to decompile and recompile the database.
If that does not work, I usually create a new database and import everything from this one to the new one. If something is corrupted, I will encounter issues at that time and be able to fix it.
Can you see the code in your code modules? If so, cut and paste it somewhere safe. Then flip the HasModule setting for each form to false, repair the database, and restore the code to newly created code modules.
You decompile the database by adding the flag /decompile to the start-up options i.e.
msaccess.exe “C:\my_folder\mydb.mdb” /decompile
I find that solves most of my problems. If not then another one is to re-secure the database by running the security wizard. This basically makes a new db and imports all the objects for you
I had a similar problem. When it started I created a new version of the code by copying the database. This did not help. However, deleting the form from the new database and importing it from the original solved the issue. I did not receive any warnings of corrupted code or other. It simply just worked without any changes to the VBA etc. Bit weird all in all
I compacted the database (Access 2010) into a new one. No joy. Deleted the form that was not working and imported it from the old database. No joy. Recompiled. JOY! Not sure why it quit and why it now works. I suspect a problem with a large amount of text in a linked text box on the form.