mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-05 16:46:26 +00:00
5276f71303
- Some code refactoring: Creating file filesList.js, which contains generic functions for using file lists (arrays whose entries keep file names and statistics) and corresponding listing files. They can be (and are) used in another application, and previously were in file conflictCheck.js. conflictCheck.js is now even more focussed on the 2-way-sync logic of roaming. - Added some safe-exception-catches, and showing the error in the UI. Currently, the code just malfunctions (broken dialog buttons?) in that case. This should help with bug 244589 and bug 244720, if the fix below fails, and other future unexpected problems. - Making the status message actually show something. - Renaming dumbObject() to ddumpObject() to match ddump() for easier replace - fixed bug 246201 - infinite conflicts - less conflicts, if files non-existant - potentially transfer less (if we know we have the file already) - code doc improved - pref API usage In filesList.js: - Changing listing file to actually use Unixtime as claimed (breaks existing files, but should only cause conflicts once) - Using indexed file lists, should be faster, probably not significant for roaming - Allow last modified time to differ 1 sec, because of FAT inaccuracy, not needed for roaming - Option to allow newer files, not needed for roaming - Fixing bug 244589 and probably bug 244720 by moving dom creation after the empty filename check. - minimal API change for extractFiles()
61 lines
2.3 KiB
Plaintext
61 lines
2.3 KiB
Plaintext
todo:
|
|
- firefox: doesn't start up after the roaming dialog closed - bug 209880
|
|
- don't show conflict again during download, if user already chose
|
|
server version during upload
|
|
|
|
don't care (for now):
|
|
- conflict
|
|
- some files failed, see XXX - update: eh, where was that?
|
|
- world gone
|
|
- problem: ddump, xpcom not defined after files done and dialog closed
|
|
solution: close dialog only when done with processing.
|
|
workaround: gTimeout
|
|
- problem: cancel by user in progress dialog: xpconnect errors
|
|
solution: prevent dialog closure (even if cancel pressed) until we're done.
|
|
- listing progressmeter doesn't work
|
|
- If one file is missing on both server and client and we didn't upload, but
|
|
there is no conflict, we still show one. That's due to that commented-out
|
|
check in compareFiles(). Mind the warning there and fix it.
|
|
- no preselection in conflict dialog
|
|
- not using statusText for FTP errors (reason 'file not readable' in this case)
|
|
|
|
Enhance
|
|
- better error dialog
|
|
- protocols
|
|
- HTTPS
|
|
- LDAP (already done by Sun?)
|
|
- IMAP
|
|
- password encrypt?
|
|
- no upload at switch profile
|
|
|
|
roaming urls
|
|
<ftp://user@ftp-server//path/to/dir/>
|
|
<http://user@http-server/path/to/dir/>
|
|
Mind the number of slashes.
|
|
Servers used: wu-FTPd and Apache with mod_roaming.
|
|
|
|
|
|
Feedback
|
|
- why do I need to implement nsIDocShellTreeItem for a http xml file *download*?
|
|
- onStopRequest (e.g. Request: http://ben:pgpben@http.server.bucksch.org/roaming/ben/listing.xml, StatusCode: NS_OK, HTTPResponse 200) called *before* the file finished. ftp and http: onStopRequest *before* onStatus(SENDING_TO), but only for the first file
|
|
|
|
clipboard
|
|
|
|
undefined.message=Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIURI.password]
|
|
undefined.result=2147500037
|
|
undefined.name=NS_ERROR_FAILURE
|
|
undefined.filename=chrome://sroaming/content/transfer/transfer.js
|
|
undefined.lineNumber=225
|
|
undefined.columnNumber=4294967295
|
|
|
|
WARNING: NS_ENSURE_TRUE(!aQualifiedName.IsEmpty()) failed, file ../../../../mozilla/content/base/src/nsNodeInfoManager.cpp, line 287
|
|
|
|
[4]
|
|
onStatus:
|
|
Request: ftp://...
|
|
StatusCode: NET_STATUS_SENDING_TO
|
|
StatusArg: ftp.server.bucksch.org
|
|
request to change listing.xml from done (NS_OK) to busy (NET_STATUS_SENDING_TO)
|
|
SetProgressStatus(1): listing.xml, busy, NET_STATUS_SENDING_TO
|
|
Setting listing.xml from done to busy
|