Ticket #80 (closed defect: fixed)
Certain long URL's can't open in Instaviz
| Reported by: | glen.low@… | Owned by: | |
|---|---|---|---|
| Priority: | high: does not work as expected | Milestone: | 1.3 sharing release |
| Component: | Version: | 1.2 | |
| Keywords: | Cc: |
Description
iPhoneOS as of 2.2.1 has this bug: it will refuse to open any URL longer than about 1,000 characters containing significant %-encoding and where the % character is not aligned on a multiple-of-3 index. While we can mandate the instaviz: URL should be fully %-encoded, including alphanumeric characters, that would triple the size of the resulting URL. So it's best to support the base64 encoding instead, and clean up the URL format.
See #79 for initial description of the URL format.
The instaviz: scheme now includes an inner URL. Some examples:
instaviz:data:;base64,ZGlncmFw ...
Embedded graph as a data URL, with graph base64-encoded. This should allow arbitrary size graphs to pass unscathed in from the the system. Note that the base64 punctuation i.e. + / and = is unencoded. Note also that you can use text/plain, text/vnd.graphviz as the content type, after the data: part.
instaviz:data:,digraph%7Bhello-%3Eworld%7D
Embedded graph as a data URL, with graph %-encoded. The whole URL should be smaller than about 1,000 characters in order to work. Note that you can use text/plain, text/vnd.graphviz as the content type, after the data: part.
instaviz:http://somewhere.com/somegraph.gv
The graph will be fetched from the http URL. We'll support http and https schemes in this way.