{ "id": "119499", "key": "TIMOB-15044", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [ { "id": "14982", "description": "Release 3.2.0", "name": "Release 3.2.0", "archived": false, "released": true, "releaseDate": "2013-12-19" } ], "resolution": { "id": "7", "description": "", "name": "Invalid" }, "resolutiondate": "2014-05-27T15:53:43.000+0000", "created": "2013-09-05T09:41:59.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "module_imageview", "qe-testadded", "supportTeam" ], "versions": [ { "id": "14162", "description": "Release 3.1.0", "name": "Release 3.1.0", "archived": true, "released": true, "releaseDate": "2013-04-16" }, { "id": "15478", "description": "Release 3.1.1", "name": "Release 3.1.1", "archived": true, "released": true, "releaseDate": "2013-06-17" }, { "id": "15479", "description": "Release 3.1.2", "name": "Release 3.1.2", "archived": true, "released": true, "releaseDate": "2013-07-31" }, { "id": "15422", "description": "Release 3.3.0", "name": "Release 3.3.0", "archived": false, "released": true, "releaseDate": "2014-07-16" } ], "issuelinks": [ { "id": "33391", "type": { "id": "10002", "name": "Duplicate", "inward": "is duplicated by", "outward": "duplicates" }, "inwardIssue": { "id": "122936", "key": "TIMOB-15826", "fields": { "summary": "Android: ImageView does not properly handle the '@' symbol in URL ", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "Medium", "id": "3" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } }, { "id": "31674", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "112758", "key": "TIMOB-13545", "fields": { "summary": "Android: ImageView: Remote image with \"@\" character doesn't display", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "dpandey", "key": "dpandey", "displayName": "Deepti Pandey", "active": true, "timeZone": "Asia/Kolkata" }, "updated": "2014-06-19T12:42:45.000+0000", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" } ], "description": "h2. Description\r\nImageView path that contain a '@' symbol will not get handled properly by ImageView on Android. But the correct image is loaded when the application is run a second time.\r\n\r\nh2. TestCase\r\nI made a test app that should load two remote images, one with an '@' symbol in the URL and one without. Now for the first time it will not show the correct image, however from second time onwards will show the correct image. \r\n\r\n{code}\r\nvar win = Ti.UI.createWindow({\r\n\tbackgroundColor : 'white',\r\n\tlayout:'vertical'\r\n});\r\nvar image1 = Ti.UI.createImageView({\r\n\timage : 'http://media.reliancenetwork.com/dyna_images/mls/3555/1329678.jpg',\r\n\twidth : '320dip',\r\n\theight : '240dip'\r\n\t\r\n});\r\n\r\nvar image2 = Ti.UI.createImageView({\r\n\timage : 'http://cdn-1.eneighborhoods.com/x1/@v=-1855096842@/2611/692/1332692/1332692_1.jpg',\r\n\twidth : '320dip',\r\n\theight : '240dip'\r\n});\r\nwin.add(image1);\r\nwin.add(image2);\r\nwin.open();\r\n{code}", "attachment": [ { "id": "48360", "filename": "console_logs.txt", "author": { "name": "dpandey", "key": "dpandey", "displayName": "Deepti Pandey", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2014-05-27T10:28:24.000+0000", "size": 16453, "mimeType": "text/plain" }, { "id": "48361", "filename": "Screenshot.png", "author": { "name": "dpandey", "key": "dpandey", "displayName": "Deepti Pandey", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2014-05-27T10:47:49.000+0000", "size": 1105379, "mimeType": "image/png" } ], "flagged": false, "summary": "Android:ImageView does not properly handle '@' symbol in URL", "creator": { "name": "rsharma", "key": "rsharma", "displayName": "Rupesh Sharma", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "rsharma", "key": "rsharma", "displayName": "Rupesh Sharma", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Samsung S2 : android 4.1.2 version", "comment": { "comments": [ { "id": "269687", "author": { "name": "robert.chrzanowski", "key": "robert.chrzanowski", "displayName": "Robert Chrzanowski", "active": true, "timeZone": "America/New_York" }, "body": "Also worth noting is that the second time the image is loaded it is from the android image cache. It appears that the cache will correctly handle '@' symbols in the url.\r\n\r\nRunning the following code snippet before loading the ImageView will consistently cause the wrong image to load.\r\n\r\n{code}\r\n(function zapImageCache() {\r\n var appDataDir, cacheDir, dir, externalRoot;\r\n if (Ti.Filesystem.isExternalStoragePresent()) {\r\n appDataDir = Ti.Filesystem.getFile('appdata://').nativePath;\r\n externalRoot = appDataDir.substring(0, appDataDir.lastIndexOf('/'));\r\n cacheDir = \"\" + externalRoot + \"/Android/data/\" + Ti.App.id + \"/cache/_tmp/remote-cache\";\r\n dir = Ti.Filesystem.getFile(cacheDir);\r\n } else {\r\n dir = Ti.Filesystem.getFile(Ti.Filesystem.applicationCacheDirectory, '_tmp', 'remote-cache');\r\n }\r\n if (dir.exists()) {\r\n dir.deleteDirectory(true);\r\n }\r\n}());\r\n{code}", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-09-05T12:17:15.000+0000", "updated": "2013-09-05T13:35:34.000+0000" }, { "id": "270860", "author": { "name": "sunila", "key": "sunila", "displayName": "Sunila", "active": true, "timeZone": "Asia/Kolkata" }, "body": "Exclude valid characters for path segment in URL from encoding\r\n\r\nhttps://github.com/appcelerator/titanium_mobile/pull/4679", "updateAuthor": { "name": "sunila", "key": "sunila", "displayName": "Sunila", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2013-09-12T16:40:46.000+0000", "updated": "2013-09-12T16:40:46.000+0000" }, { "id": "274575", "author": { "name": "pagarwal", "key": "pagarwal", "displayName": "Priya Agarwal", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified the Fix with:\r\n\r\nAppc-Studio: 3.2.0.201310100354\r\nSdk:3.2.0.v20131009134844\r\nalloy:1.2.2\r\nnpm:1.3.2\r\ntitanium:3.2.0\r\ntitanium-code-processor:1.0.3\r\nDevice:Google Nexus 7(v4.3),ipodTouch1(v7.0)\r\nXcode: 5\r\n\r\n\r\nImageView having '@' symbol in url of image property for ImageView is working fine.", "updateAuthor": { "name": "pagarwal", "key": "pagarwal", "displayName": "Priya Agarwal", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2013-10-10T10:53:57.000+0000", "updated": "2013-10-10T10:53:57.000+0000" }, { "id": "306440", "author": { "name": "dpandey", "key": "dpandey", "displayName": "Deepti Pandey", "active": true, "timeZone": "Asia/Kolkata" }, "body": "Reopening this ticket as ImageView path that contain a '@' symbol \r\ndoes not show up .Also its not showing any placeholder but just a blank space. \r\nThis is not a regression .\r\n\r\nConfigurations used are:\r\nMac :10.9.3\r\nAppcelerator Studio, build:3.3.0.201405211748\r\nSDK - 3.3.0.v20140524224144\r\nacs-1.0.14\r\nalloy@1.4.0-alpha4\r\nnpm-1.3.2\r\ntitanium@3.3.0-alpha5\r\ntitanium-code-processor-1.1.1\r\nXcode :5.1.1\r\nDevices Used: \r\nNexus 5 (4.4.2), Nexus 7 (4.3) \r\nAndroid SDK tools : 22.6.3\r\n\r\n\r\nScreenshot and logs attached.", "updateAuthor": { "name": "dpandey", "key": "dpandey", "displayName": "Deepti Pandey", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2014-05-27T10:25:41.000+0000", "updated": "2014-05-27T10:25:41.000+0000" }, { "id": "306461", "author": { "name": "sunila", "key": "sunila", "displayName": "Sunila", "active": true, "timeZone": "Asia/Kolkata" }, "body": "I think the code is behaving correctly. The URL ''http://cdn-1.eneighborhoods.com/x1/@v=-1855096842@/2611/692/1332692/1332692_1.jpg' is returning a 503 - Service unavailable (even though the response still return an image)\r\nHere is the response captured through fiddler for the above url from the browser\r\n\r\nHTTP/1.1 503 Service Unavailable\r\nServer: Microsoft-IIS/6.0\r\nServer: CDN01\r\nAccess-Control-Allow-Methods: GET\r\nAccess-Control-Allow-Origin: *\r\nX-Powered-By: ASP.NET\r\nAccess-Control-Allow-Headers: No-Image\r\nNo-Image: true\r\nContent-Type: image/jpeg\r\nContent-Length: 16978\r\nCache-Control: private, max-age=0\r\nExpires: Tue, 27 May 2014 15:37:40 GMT\r\nDate: Tue, 27 May 2014 15:37:40 GMT\r\nConnection: keep-alive\r\n\r\n\r\nTry the below url \r\n\r\nhttp://cdn-1.eneighborhoods.com/x2/@v=-1936834507@/2611/4/475/1406475/1406475_1.jpg", "updateAuthor": { "name": "sunila", "key": "sunila", "displayName": "Sunila", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2014-05-27T15:50:27.000+0000", "updated": "2014-05-27T15:50:27.000+0000" }, { "id": "306462", "author": { "name": "sunila", "key": "sunila", "displayName": "Sunila", "active": true, "timeZone": "Asia/Kolkata" }, "body": "See the comments, the url in the sample is no longer valid.", "updateAuthor": { "name": "sunila", "key": "sunila", "displayName": "Sunila", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2014-05-27T15:53:43.000+0000", "updated": "2014-05-27T15:53:43.000+0000" }, { "id": "306479", "author": { "name": "n3wc", "key": "n3wc", "displayName": "jesse newcomer", "active": true, "timeZone": "America/Havana" }, "body": "the images come and go based off of home sales. if you need other examples go to a property details page on remax.com and right click>view image in the carousel to get more valid images with @ in the url. this is a very high priority for the remax app as nearly all of our details images contain @", "updateAuthor": { "name": "n3wc", "key": "n3wc", "displayName": "jesse newcomer", "active": true, "timeZone": "America/Havana" }, "created": "2014-05-27T17:30:10.000+0000", "updated": "2014-05-27T17:30:10.000+0000" }, { "id": "306505", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~n3wc] Please add a test case that describes your issue.", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-05-27T18:39:29.000+0000", "updated": "2014-05-27T18:39:29.000+0000" }, { "id": "306524", "author": { "name": "n3wc", "key": "n3wc", "displayName": "jesse newcomer", "active": true, "timeZone": "America/Havana" }, "body": "My apologies, I got the notification from Deepti about reopening the ticket and responded before verifying personally. \r\n\r\nI downloaded 3.3.0.v20140524224144 and tried to reproduce with both remote and local images with @ in the path and was not able to reproduce on a samsung galaxy tab or nexus 4.\r\n\r\nI did not update to Appcelerator Studio, build:3.3.0.201405211748 or alloy@1.4.0-alpha4 ", "updateAuthor": { "name": "n3wc", "key": "n3wc", "displayName": "jesse newcomer", "active": true, "timeZone": "America/Havana" }, "created": "2014-05-27T20:08:02.000+0000", "updated": "2014-05-27T20:08:02.000+0000" }, { "id": "307309", "author": { "name": "dpandey", "key": "dpandey", "displayName": "Deepti Pandey", "active": true, "timeZone": "Asia/Kolkata" }, "body": "Verified that ImageView properly handles '@' symbol in URL when used images link given by Sunila. Hence closing this ticket.\r\nAppc Studio: 3.3.0.201405271647\r\nSDK build: 3.3.0.v20140602174112\r\nacs: 1.0.14\r\nnpm: 1.3.2\r\nalloy: 1.4.0-beta\r\nCLI: titanium-3.3.0-beta2\r\ntitanium-code-processor:1.1.1\r\nXcode: 5.1.1\r\nOS: Mavericks 10.9.3\r\n", "updateAuthor": { "name": "dpandey", "key": "dpandey", "displayName": "Deepti Pandey", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2014-06-03T08:27:23.000+0000", "updated": "2014-06-03T08:27:23.000+0000" }, { "id": "307310", "author": { "name": "dpandey", "key": "dpandey", "displayName": "Deepti Pandey", "active": true, "timeZone": "Asia/Kolkata" }, "body": "Closing as Invalid ticket.", "updateAuthor": { "name": "dpandey", "key": "dpandey", "displayName": "Deepti Pandey", "active": true, "timeZone": "Asia/Kolkata" }, "created": "2014-06-03T08:28:12.000+0000", "updated": "2014-06-03T08:28:12.000+0000" } ], "maxResults": 16, "total": 16, "startAt": 0 } } }