That error makes it look as though TW5 is using a JavaScript construct not supported by Android 2.3.3. Is anyone in a position to run TW5 on 2.3.3 with dev tools so that we can analyse the error a little better? I'm reluctant to sink time into getting an Android emulator running (VirtualBox runs appallingly slowly on my machine).
Many thanks Jeremy On Sun, Aug 25, 2013 at 8:34 AM, mgsimon <[email protected]> wrote: > The current version of TiddlyWiki5 does not work with Android OS 2.3.3! > > I tried to open http://five.tiddlywiki.com/ with the browser by OS and > not with AndTidWiki in an android emulator with OS version 2.3.3. and get > following internal javascript error. > > "Error executing boot module $:/core/modules/widgets/import.js: > SyntaxError: Parse error" > > AndTidWiki cannot handle TiddlyWiki if the core browser is not be able to > open this file without any error! > > Am Samstag, 24. August 2013 19:55:32 UTC+2 schrieb Jeremy Ruston: >> >> >>>> Yes, looks like that's the case. Like I said, that's in Android 2.3, >>> and the built-in browser is hardly up-to-date. On another device, with >>> Android 4.0.3, SVGs are displayed and saving works. So may some text >>> fallback aka "graceful degradation"? >>> >> >> Yes, it would be useful if SVGs degraded somehow.... I'll give it some >> thought. >> >> Best wishes >> >> Jeremy >> >>> >>> >>>> Best wishes >>>> >>>> Jeremy >>>> >>>> >>>>> >>>>> Best regards, >>>>> Yakov. >>>>> >>>>>> >>>>>> Best wishes >>>>>> >>>>>> Jeremy >>>>>> >>>>>> >>>>>> On Thu, Aug 22, 2013 at 2:11 PM, Yakov <yakov.litv...@gmail.**com>wrote: >>>>>> >>>>>>> Hi Jeremy, >>>>>>> >>>>>>> what's the usual way of getting TW5? I've saved the page of [1] via >>>>>>> FireFox (which brought an .htm) and that instance is not able to save >>>>>>> (TiddlyFox sais >>>>>>> >>>>>>> [Exception... "Component returned failure code: 0x80004005 >>>>>>> (NS_ERROR_FAILURE) [nsILocalFile.create]" nsresult: "0x80004005 >>>>>>> (NS_ERROR_FAILURE)" location: "JS frame :: chrome://tiddlyfox/content/ >>>>>>> **ove****rlay.js :: TiddlyFox.saveFile :: line 96" data: no] >>>>>>> >>>>>>> on an attempt to save; I accepted TiddlyFox to save when the prompt >>>>>>> appeared onload). Can't see any "download" button at [1] :) >>>>>>> >>>>>>> Best regards, >>>>>>> Yakov. >>>>>>> >>>>>>> [1] five.tiddlywiki.com >>>>>>> >>>>>>> понедельник, 19 августа 2013 г., 16:57:42 UTC+4 пользователь Jeremy >>>>>>> Ruston написал: >>>>>>>> >>>>>>>> Hi Yakov >>>>>>>> >>>>>>>> Thanks for that. I've committed a first pass at a saver for >>>>>>>> AndTidWiki to GitHub and five.tiddlywiki.com, I'd be very grateful >>>>>>>> if you could give it a go. >>>>>>>> >>>>>>>> The code is here: >>>>>>>> >>>>>>>> https://github.com/Jermolene/**T******iddlyWiki5/commit/** >>>>>>>> 1fd59a4bd312******ead20251da80dd7bce**b52f9c2bb0<https://github.com/Jermolene/TiddlyWiki5/commit/1fd59a4bd312ead20251da80dd7bceb52f9c2bb0> >>>>>>>> >>>>>>>> Best wishes >>>>>>>> >>>>>>>> Jeremy >>>>>>>> >>>>>>>> >>>>>>>> On Sat, Aug 17, 2013 at 11:25 AM, Yakov >>>>>>>> <yakov.litv...@gmail.**com>wrote: >>>>>>>> >>>>>>>>> Hi Jeremy, >>>>>>>>> >>>>>>>>> четверг, 15 августа 2013 г., 21:34:50 UTC+4 пользователь Jeremy >>>>>>>>> Ruston написал: >>>>>>>>>> >>>>>>>>>> Hi Yakov >>>>>>>>>> >>>>>>>>>> checked that. AndTidWiki changes saveFile function: its test is >>>>>>>>>>> the following >>>>>>>>>>> >>>>>>>>>>> function (fileUrl,content) { >>>>>>>>>>> return window.twi.saveFile(fileUrl,**co********ntent); >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> so presumably to make TW5 work with ATW, one should use that >>>>>>>>>>> window.twi.saveFile interface in the TW5 saving engine. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> That's great. There's two other things we need to figure out: >>>>>>>>>> >>>>>>>>>> 1) How AndTidWiki detects a TiddlyWiki document to determine if >>>>>>>>>> it should inject it's code (it's possible that it injects it's code >>>>>>>>>> into >>>>>>>>>> all HTML files, not just specifically TiddlyWikis). Right now TW5 is >>>>>>>>>> unlikely to be detected as a TiddlyWiki file. >>>>>>>>>> >>>>>>>>>> I wouldn't expect ATW somehow detect a TW file. And my test >>>>>>>>> somewhat confirms this: an html >>>>>>>>> >>>>>>>>> <html> >>>>>>>>> <body> >>>>>>>>> <p><a href="javascript:;" onclick=' >>>>>>>>> alert(saveFile); >>>>>>>>> '>let's try</a></p> >>>>>>>>> </body> >>>>>>>>> </html> >>>>>>>>> >>>>>>>>> shows the save text of saveFile onclick. >>>>>>>>> >>>>>>>>> 2) How the fileUrl parameter has been mangled and encoded by the >>>>>>>>>> time that the saveFile() function is called. >>>>>>>>>> >>>>>>>>>> Well, the simplest idea for this is to create a function that >>>>>>>>> copies the way the path is formed in TWc in saveChanges before it >>>>>>>>> is passed to saveFile, isn't it? According to the current core >>>>>>>>> code, that would be >>>>>>>>> >>>>>>>>> var originalPath = document.location.toString(); // not netscape, >>>>>>>>> convertUriToUTF8 >>>>>>>>> is not needed in ATW >>>>>>>>> >>>>>>>>> // Remove any location or query part of the URL >>>>>>>>> var argPos = originalPath.indexOf("?"); >>>>>>>>> if(argPos != -1) >>>>>>>>> originalPath = originalPath.substr(0,argPos); >>>>>>>>> var hashPos = originalPath.indexOf("#"); >>>>>>>>> if(hashPos != -1) >>>>>>>>> originalPath = originalPath.substr(0,hashPos)********; >>>>>>>>> >>>>>>>>> // Convert file://localhost/ to file:/// (is not needed >>>>>>>>> in ATW) >>>>>>>>> if(originalPath.indexOf("file:********//localhost/") == 0) >>>>>>>>> originalPath = "file://" + originalPath.substr(16); >>>>>>>>> >>>>>>>>> // Convert to a native file format (in ATW, the >>>>>>>>> third case takes place) >>>>>>>>> //# "file:///x:/path/path/path..." - pc local file --> >>>>>>>>> "x:\path\path\path..." >>>>>>>>> //# "file://///server/share/path/**p******ath/path..." - FireFox >>>>>>>>> pc network file --> "\\server\share\path\path\**path******..." >>>>>>>>> //# "file:///path/path/path..." - mac/unix local file --> >>>>>>>>> "/path/path/path..." >>>>>>>>> //# "file://server/share/path/**path******/path..." - pc network >>>>>>>>> file --> "\\server\share\path\path\**path******..." >>>>>>>>> var localPath; >>>>>>>>> if(originalPath.charAt(9) == ":") // pc local file >>>>>>>>> localPath = unescape(originalPath.substr(**8******)).replace(new >>>>>>>>> RegExp("/","g"),"\\"); >>>>>>>>> else if(originalPath.indexOf("file:********/////") == 0) // >>>>>>>>> FireFox pc network file >>>>>>>>> localPath = "\\\\" + >>>>>>>>> unescape(originalPath.substr(**1******0)).replace(new >>>>>>>>> RegExp("/","g"),"\\"); >>>>>>>>> else if(originalPath.indexOf("file:********///") == 0) // >>>>>>>>> mac/unix local file >>>>>>>>> localPath = unescape(originalPath.substr(**7******)); >>>>>>>>> else if(originalPath.indexOf("file:********/") == 0) // mac/unix >>>>>>>>> local file >>>>>>>>> localPath = unescape(originalPath.substr(**5******)); >>>>>>>>> else // pc network file >>>>>>>>> localPath = "\\\\" + >>>>>>>>> unescape(originalPath.substr(**7******)).replace(new >>>>>>>>> RegExp("/","g"),"\\"); >>>>>>>>> >>>>>>>>> return localPath; >>>>>>>>> >>>>>>>>> So probably this can be shortened further (cut unnecessary cases, >>>>>>>>> localhost cut etc). >>>>>>>>> >>>>>>>>> A quick hack to determine the answer to (2) would be if you could >>>>>>>>>> modify a TW classic file to insert "alert(localPath)" just before >>>>>>>>>> the call >>>>>>>>>> to saveFile() in the saveMain() function. Then can you attempt a >>>>>>>>>> save under >>>>>>>>>> AndTidWiki, and note the path that is alerted. Ideally, could you >>>>>>>>>> include a >>>>>>>>>> character like "%" in the filename. >>>>>>>>>> >>>>>>>>> >>>>>>>>> An example of originalPath is "file:///mnt/sdcard/...../atw >>>>>>>>> test.html" and the corresponding localPath is >>>>>>>>> "/mnt/sdcard/...../atw test.html". >>>>>>>>> >>>>>>>>> Best regards, >>>>>>>>> Yakov. >>>>>>>>> >>>>>>>>> >>>>>>>>>> I'm not sure how to deal with (1); if you can help with (2) I'll >>>>>>>>>> create an exploratory TW5 saver for AndTidWiki and we can experiment >>>>>>>>>> further. >>>>>>>>>> >>>>>>>>>> Many thanks, >>>>>>>>>> >>>>>>>>>> Jeremy >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Best regards, >>>>>>>>>>> Yakov. >>>>>>>>>>> >>>>>>>>>>> четверг, 15 августа 2013 г., 11:13:21 UTC+4 пользователь Jeremy >>>>>>>>>>> Ruston написал: >>>>>>>>>>>> >>>>>>>>>>>> Hi Yakov >>>>>>>>>>>> >>>>>>>>>>>> There are two ways that TiddlyWiki can interact with a server: >>>>>>>>>>>> >>>>>>>>>>>> 1. By saving the entire file to the server (this is how >>>>>>>>>>>> TiddlySpot works, and the iPhone/iPad app TWEdit) >>>>>>>>>>>> 2. By syncing changes to individual tiddlers to the server >>>>>>>>>>>> (this is how TiddlyWeb/TiddlySpace works) >>>>>>>>>>>> >>>>>>>>>>>> I would expect AndTidWiki to work using the first technique. >>>>>>>>>>>> Typically that would be done by injecting code that overrides the >>>>>>>>>>>> saveChanges function, or the lower level saveFile/loadFile >>>>>>>>>>>> functions. >>>>>>>>>>>> >>>>>>>>>>>> You can see an example of the technique in the source to >>>>>>>>>>>> TiddlyFox. This is the javascript file that TiddlyFox injects into >>>>>>>>>>>> TiddlyWiki documents: >>>>>>>>>>>> >>>>>>>>>>>> https://github.com/TiddlyWiki/************ >>>>>>>>>>>> TiddlyFox/blob/master/content/************inject.js<https://github.com/TiddlyWiki/TiddlyFox/blob/master/content/inject.js> >>>>>>>>>>>> >>>>>>>>>>>> You can see the internal functions being overridden at lines 50 >>>>>>>>>>>> to 53. >>>>>>>>>>>> >>>>>>>>>>>> Best wishes >>>>>>>>>>>> >>>>>>>>>>>> Jeremy >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Thu, Aug 15, 2013 at 12:27 AM, Yakov <yakov.litv...@gmail.** >>>>>>>>>>>> com> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> пятница, 2 августа 2013 г., 14:27:41 UTC+4 пользователь Jeremy >>>>>>>>>>>>> Ruston написал: >>>>>>>>>>>>> >>>>>>>>>>>>>> понедельник, 29 июля 2013 г., 15:43:02 UTC+4 пользователь >>>>>>>>>>>>>>> Arlen Beiler написал: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Using TiddlyWiki5 which I just downloaded in AndTidWiki, I >>>>>>>>>>>>>>>> can edit fine, but when I try to save it, I get an Internal >>>>>>>>>>>>>>>> Javascript >>>>>>>>>>>>>>>> Error. "Uncaught TypeError: Cannot call method 'getItem' of >>>>>>>>>>>>>>>> null". >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> That's unfortunate. Theoretically it's possible to >>>>>>>>>>>>>>> "emulate" the saving engine of TWc in TW5 by a plugin, but >>>>>>>>>>>>>>> that's far from >>>>>>>>>>>>>>> my knowledge (I haven't researched TW5 core yet, and also don't >>>>>>>>>>>>>>> quite >>>>>>>>>>>>>>> understand how ATW and TW interact). >>>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> I agree that we should be able to make TW5 work with the >>>>>>>>>>>>>> existing AndTidWiki app. I don't have an Android device for >>>>>>>>>>>>>> testing, and >>>>>>>>>>>>>> have had bad experiences in the past with the poor performance >>>>>>>>>>>>>> of the >>>>>>>>>>>>>> Android emulator. So I'd be very grateful if anyone can help with >>>>>>>>>>>>>> information on the way that AndTidWiki works. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Hi Jeremy, >>>>>>>>>>>>> >>>>>>>>>>>>> I'm not familiar with how TiddlyWiki interacts with any server >>>>>>>>>>>>> side, so may be you can help me with that first.. >>>>>>>>>>>>> >>>>>>>>>>>>> the chain >>>>>>>>>>>>> config.macros.saveChanges.**onCl**********ick - saveChanges - >>>>>>>>>>>>> saveMain - saveFile - ... >>>>>>>>>>>>> doesn't seem to have anything that's "awaiting" server side, so >>>>>>>>>>>>> >>>>>>>>>>>>> my only guess on where server side can jump in is >>>>>>>>>>>>> >>>>>>>>>>>>> TiddlyWiki.prototype.**allTiddle**********rsAsHtml - >>>>>>>>>>>>> TiddlyWiki.prototype.getSaver - TW21Saver/some other saver - >>>>>>>>>>>>> .externalize - >>>>>>>>>>>>> .externalizeTiddler >>>>>>>>>>>>> >>>>>>>>>>>>> so is it true that usually server sides create their own >>>>>>>>>>>>> SaverBase instance with their own externalizeTiddler method and >>>>>>>>>>>>> change >>>>>>>>>>>>> TiddlyWiki.prototype.getSaver and that's how they make TW use >>>>>>>>>>>>> some new >>>>>>>>>>>>> functionality to save? Or is it done somehow else? >>>>>>>>>>>>> >>>>>>>>>>>>> Best regards, >>>>>>>>>>>>> Yakov. >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> On Mon, Jul 29, 2013 at 4:39 AM, Yakov < >>>>>>>>>>>>>>>> yakov.litv...@gmail.**com> wrote: >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Hi Leo, >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> by the way, have you tried AndTidWiki? As for now, I only >>>>>>>>>>>>>>>>> use TiddlyWiki Classic on Android, so don't know if TW5 works >>>>>>>>>>>>>>>>> with it. As a >>>>>>>>>>>>>>>>> side note: with AndTidWiki, I only have to add >>>>>>>>>>>>>>>>> ToggleLeft/RightSidebar [1], >>>>>>>>>>>>>>>>> add a line-menu on top by changing PageTemplate and a few CSS >>>>>>>>>>>>>>>>> adjustments, >>>>>>>>>>>>>>>>> while FireFox needs some more work on styles (in fact, I need >>>>>>>>>>>>>>>>> to create a >>>>>>>>>>>>>>>>> plugin which will apply different styles depending on what >>>>>>>>>>>>>>>>> "browser" opened >>>>>>>>>>>>>>>>> TW). >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> Best regards, >>>>>>>>>>>>>>>>> Yakov. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> [1] http://tiddlytools.com/#**Toggle************** >>>>>>>>>>>>>>>>> RightSidebar%**20ToggleLeftSideb**************ar<http://tiddlytools.com/#ToggleRightSidebar%20ToggleLeftSidebar> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> вторник, 16 июля 2013 г., 8:54:26 UTC+4 пользователь Leo >>>>>>>>>>>>>>>>> Staley написал: >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Thank you Eric! I didn't know how to do that from my >>>>>>>>>>>>>>>>>> Android. Firefox didn't install it when I clicked on it like >>>>>>>>>>>>>>>>>> I thought it >>>>>>>>>>>>>>>>>> should have. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> After downloading it with another browser (because >>>>>>>>>>>>>>>>>> firefox didn't let me "save link" on long-press) and opening >>>>>>>>>>>>>>>>>> the file using >>>>>>>>>>>>>>>>>> firefox, I was able to install it. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Sadly though, no "save" button appears under the tools >>>>>>>>>>>>>>>>>> menu. The button at the top, to download a copy of the page >>>>>>>>>>>>>>>>>> worked once, >>>>>>>>>>>>>>>>>> but i'm having trouble doing it again. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Additionally, when i create a new tiddler, I first have >>>>>>>>>>>>>>>>>> to delete the existing text in both the title and the main >>>>>>>>>>>>>>>>>> text area, which >>>>>>>>>>>>>>>>>> takes some time with an android keyboard. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> Eric, How compatible are most of the items on TiddlyTools >>>>>>>>>>>>>>>>>> with Tiddly5? Is development still continuing with the >>>>>>>>>>>>>>>>>> current edition of >>>>>>>>>>>>>>>>>> Tiddlywiki, and if so, in what Capacity? Forgive me for >>>>>>>>>>>>>>>>>> being such a noob. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> On Monday, July 15, 2013 9:15:47 PM UTC-7, Eric Shulman >>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On Monday, July 15, 2013 9:13:16 PM UTC-7, Leo Staley >>>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> More significantly, There was no way to save any >>>>>>>>>>>>>>>>>>>> changes I made. Took me a while to realize that. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> As Jeremy noted in his previous post: >>>>>>>>>>>>>>>>>>> "... install TiddlyFox to save changes locally on the >>>>>>>>>>>>>>>>>>> device (https://github.com/TiddlyWiki************** >>>>>>>>>>>>>>>>>>> /TiddlyFox/raw/master/tiddlyfo**************x.xpi<https://github.com/TiddlyWiki/TiddlyFox/raw/master/tiddlyfox.xpi> >>>>>>>>>>>>>>>>>>> )." >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> enjoy, >>>>>>>>>>>>>>>>>>> -e >>>>>>>>>>>>>>>>>>> Eric Shulman >>>>>>>>>>>>>>>>>>> TiddlyTools / ELS Design Studios >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> HELP ME TO HELP YOU - MAKE A CONTRIBUTION TO MY "TIP >>>>>>>>>>>>>>>>>>> JAR"... >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> http://www.TiddlyTools.com/#D**************onations<http://www.TiddlyTools.com/#Donations> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Professional TiddlyWiki Consulting Services... >>>>>>>>>>>>>>>>>>> Analysis, Design, and Custom Solutions: >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> http://www.TiddlyTools.com/#C**************ontact<http://www.TiddlyTools.com/#Contact> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Jeremy Ruston >>>>>>>>>>>> mailto:[email protected] >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Jeremy Ruston >>>>>>>>>> mailto:[email protected] >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Jeremy Ruston >>>>>>>> mailto:[email protected] >>>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Jeremy Ruston >>>>>> mailto:[email protected] >>>>>> >>>>> >>>> >>>> >>>> -- >>>> Jeremy Ruston >>>> mailto:[email protected] >>>> >>> >> >> >> -- >> Jeremy Ruston >> mailto:[email protected] >> > -- Jeremy Ruston mailto:[email protected] -- You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/tiddlywikidev. For more options, visit https://groups.google.com/groups/opt_out.
