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.

Reply via email to