{ "id": "86560", "key": "TIMOB-7681", "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": "12096", "description": "", "name": "Sprint 2012-04", "archived": true, "released": true, "releaseDate": "2012-02-26" }, { "id": "12593", "name": "Release 2.0.0", "archived": false, "released": true, "releaseDate": "2012-03-30" }, { "id": "13270", "description": "Release 1.8 Service Pack 3 (CI for 1_8_X)", "name": "Release 1.8.3", "archived": true, "released": false } ], "resolution": { "id": "7", "description": "", "name": "Invalid" }, "resolutiondate": "2012-10-15T17:54:14.000+0000", "created": "2012-02-15T20:27:39.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "ipass1", "module_imageview", "qe-testadded", "regression", "triage" ], "versions": [ { "id": "12593", "name": "Release 2.0.0", "archived": false, "released": true, "releaseDate": "2012-03-30" }, { "id": "12677", "description": "Release 1.8 Service Pack 1", "name": "Release 1.8.1", "archived": true, "released": true, "releaseDate": "2012-01-31" }, { "id": "13070", "description": "Release 1.8 Service Pack 2", "name": "Release 1.8.2", "archived": true, "released": true, "releaseDate": "2012-02-29" } ], "issuelinks": [ { "id": "15359", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "84524", "key": "TIMOB-7051", "fields": { "summary": "iOS: UI.imageView - changing image property results in memory leak", "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": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2017-03-20T22:02:24.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": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "h2. Problem\r\nremote imageviews with property hires set to true are displayed blurry, showing visible square pixels\r\n\r\nh2. Steps to reproduce\r\n{code:lang=javascript|title=app.js}\r\n\r\nvar win1 = Titanium.UI.createWindow({ \r\n title:'win',\r\n backgroundColor:'black'\r\n});\r\n\r\n var image = Ti.UI.createImageView({\r\n \"width\": 45,\r\n \"height\": 45,\r\n \"hires\": true,\r\n \"image\": \"http://cloud.rabble.se/images/offers/100_80_20110524154748.jpg\"\r\n });\r\n\r\nwin1.add(image);\r\n\r\nwin1.open();\r\n{code}\r\n\r\nh2. Results\r\nAttaching 2 screenshots displaying the image with 1.8.1 and 1.8.0.1\r\n\r\n\r\nh2. Ticket\r\nCustomer ticket: http://support-admin.appcelerator.com/display/APP-337519", "attachment": [ { "id": "26297", "filename": "1.8.0.1.png", "author": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-16T13:42:50.000+0000", "size": 89271, "mimeType": "image/png" }, { "id": "26298", "filename": "1.8.2.png", "author": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-16T13:42:50.000+0000", "size": 82219, "mimeType": "image/png" }, { "id": "32575", "filename": "3.0.0_hires_not_respected.png", "author": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-10-12T21:14:12.000+0000", "size": 1157078, "mimeType": "image/png" }, { "id": "25799", "filename": "ScreenShot-TiSDK_1801.png", "author": { "name": "fcasali", "key": "fcasali", "displayName": "Federico Casali", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-02-15T20:27:39.000+0000", "size": 23746, "mimeType": "image/png" }, { "id": "25800", "filename": "ScreenShot-TiSDK_181.png", "author": { "name": "fcasali", "key": "fcasali", "displayName": "Federico Casali", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-02-15T20:27:39.000+0000", "size": 23377, "mimeType": "image/png" } ], "flagged": false, "summary": "iOS: hires property not respected for remote imageviews", "creator": { "name": "fcasali", "key": "fcasali", "displayName": "Federico Casali", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "fcasali", "key": "fcasali", "displayName": "Federico Casali", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "TiSDK 1.8.1 and later\r\nNot reproducible on 1.8.0.1", "comment": { "comments": [ { "id": "183413", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "The documentation is fairly clear about what constitues an appropriate use of \"hires\":\r\n\r\nbq. Causes images to display at 50%, where one pixel of the graphic maps to one physical pixel on-screen. This functionality is automatically determined for local images via their filenames, and thus this property is only applicable to remote images.\r\n\r\nWe need more information for this ticket:\r\n\r\n* Whether or not the image is sized for 2x and conforms to this standard", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-02-16T10:52:01.000+0000", "updated": "2012-02-16T10:52:01.000+0000" }, { "id": "183448", "author": { "name": "jonasfunk", "key": "jonasfunk", "displayName": "Jonas Funk Johannessen", "active": true, "timeZone": "America/Los_Angeles" }, "body": "The problem is valid with 2x images, but the problem is likely the remote image cache. \r\n\r\n[Quote from Q&A:|http://developer.appcelerator.com/question/131879/sdk-181---remote-image-cache-without-retina-display]\r\n\"I just noticed that the remote image cache does not show cached images with retina display.\r\nIf the image is loaded the first time, everything looks good. But on second load (now from cache folder /Library/Caches) the graphic is pixelated, seems like \"hires\" parameter is ignored. Code works perfect with SDK <= 1.8.0.1 but fails with latest SDK 1.8.1\"\r\n\r\n", "updateAuthor": { "name": "jonasfunk", "key": "jonasfunk", "displayName": "Jonas Funk Johannessen", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-02-16T13:51:27.000+0000", "updated": "2012-02-16T13:51:27.000+0000" }, { "id": "183449", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Jonas -\r\n\r\nThanks for the information. There was no change between image caching in 1.8.0.1 and 1.8.1 that would cause this behavior but it may still be introducing the problem.", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-02-16T14:02:20.000+0000", "updated": "2012-02-16T14:02:20.000+0000" }, { "id": "183737", "author": { "name": "d4v1d", "key": "d4v1d", "displayName": "David Knell", "active": true, "timeZone": "America/New_York" }, "body": "I am having the exact same issue. As soon as I switched the SDK Version to 1.8.1 in tiapp.xml, all of my remote images look terrible. I switched it back to 1.8.0.1 and they look good again. I did not change the remote images or my createImageView properties - all I changed was the SDK Version.\r\n\r\nYou can see a side-by-side comparison of the same image using the different SDK versions here:\r\n[http://dl.dropbox.com/u/3289523/pics/misc/imageView_hires_issue_1.8.1.jpg]\r\n\r\nI cannot release an app that has blurry images, so to me this is a critical bug. Please fix this ASAP!\r\n\r\nDave", "updateAuthor": { "name": "d4v1d", "key": "d4v1d", "displayName": "David Knell", "active": true, "timeZone": "America/New_York" }, "created": "2012-02-19T14:15:33.000+0000", "updated": "2012-02-19T14:15:33.000+0000" }, { "id": "183814", "author": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Dave and Jonas - would either of you be so kind as to attach a sample script that reproduces the noted behavior? That will assist us in getting resolution as quickly as possible. Thanks much!", "updateAuthor": { "name": "thomashuelbert", "key": "thomashuelbert", "displayName": "Thomas Huelbert", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-02-21T10:29:08.000+0000", "updated": "2012-02-21T10:29:25.000+0000" }, { "id": "183822", "author": { "name": "crossbits", "key": "crossbits", "displayName": "Danny Pham", "active": true, "timeZone": "Europe/Berlin" }, "body": "See \"Steps to reproduce\" above.\r\n\r\nImportant: Load the app a second time so that the image is displayed from cache. Then you will notice that the image is blurry.", "updateAuthor": { "name": "crossbits", "key": "crossbits", "displayName": "Danny Pham", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-02-21T10:51:25.000+0000", "updated": "2012-02-21T10:51:25.000+0000" }, { "id": "183952", "author": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Regression introduced by TIMOB-7051", "updateAuthor": { "name": "stephentramer", "key": "stephentramer", "displayName": "Stephen Tramer", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-02-22T09:25:32.000+0000", "updated": "2012-02-22T09:25:32.000+0000" }, { "id": "184245", "author": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "body": "PR https://github.com/appcelerator/titanium_mobile/pull/1492 merged into master.", "updateAuthor": { "name": "mstepanov", "key": "mstepanov", "displayName": "Max Stepanov", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-02-24T16:40:30.000+0000", "updated": "2012-02-24T16:40:30.000+0000" }, { "id": "184772", "author": { "name": "crossbits", "key": "crossbits", "displayName": "Danny Pham", "active": true, "timeZone": "Europe/Berlin" }, "body": "Bug is not resolved in latest SDK 1.8.2?\r\n\r\nDo I only have to modify the 2 files as described in https://github.com/sptramer/titanium_mobile/commit/db0702eb19f0ac0777c824e12982413e43f2e1b3 to get this working? Or does the bugfix involves more files and places?", "updateAuthor": { "name": "crossbits", "key": "crossbits", "displayName": "Danny Pham", "active": true, "timeZone": "Europe/Berlin" }, "created": "2012-03-01T10:11:19.000+0000", "updated": "2012-03-01T10:11:19.000+0000" }, { "id": "184788", "author": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Correct. This fix is not part of 1.8.2 release.", "updateAuthor": { "name": "ngupta", "key": "ngupta", "displayName": "Neeraj Gupta", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-01T11:39:55.000+0000", "updated": "2012-03-01T11:39:55.000+0000" }, { "id": "186871", "author": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Adding larger, clearer screenshots comparing 1.8.0.1 (correct) and 1.8.2 (bug). Will add code when bug closed.", "updateAuthor": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-16T13:42:50.000+0000", "updated": "2012-03-16T13:42:50.000+0000" }, { "id": "186872", "author": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing as Fixed.\r\n\r\nSDK: 2.0.0.v20120316130302\r\nStudio: 2.0.0.201203152033\r\nOS: Snow Leopard\r\nDevices Tested: iPad 4.3.5, iPhone Simulator 5.0\r\n\r\n{code:title=app.js}\r\nvar win = Titanium.UI.createWindow({\r\n backgroundColor:'black'\r\n\t});\r\n\r\nvar imageView1 = Ti.UI.createImageView({\r\n\ttop:0,\r\n\tleft:0,\r\n\twidth: '100%',\r\n\theight: '50%',\r\n\thires: true,\r\n\timage: \"http://cloud.rabble.se/images/offers/100_80_20110524154748.jpg\"\r\n\t});\r\n\r\nwin.add(imageView1);\r\n\r\nvar imageView2 = Ti.UI.createImageView({\r\n\tbottom:0,\r\n\tleft:0,\r\n\twidth: '100%',\r\n\theight: '50%',\r\n\thires: true,\r\n\timage: \"http://cloud.rabble.se/images/offers/100_80_20110524154748.jpg\"\r\n\t});\r\n\r\nwin.add(imageView2);\r\n\r\nwin.open();\r\n{code}\r\n\r\nNote: The error image results in an extremely blurry image (fine lines are not discernable), while the correct image is only slightly blurry (fine lines are discernable).", "updateAuthor": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-16T13:51:18.000+0000", "updated": "2012-03-16T13:51:18.000+0000" }, { "id": "186879", "author": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Note: The hires property is iOS only.", "updateAuthor": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-16T14:19:10.000+0000", "updated": "2012-03-16T14:19:10.000+0000" }, { "id": "186891", "author": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Note: This test uses external server resources.", "updateAuthor": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-03-16T14:42:43.000+0000", "updated": "2012-03-16T14:42:43.000+0000" }, { "id": "190109", "author": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Opening to edit labels.", "updateAuthor": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-04-05T17:19:39.000+0000", "updated": "2012-04-05T17:19:39.000+0000" }, { "id": "223308", "author": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Reopened, two the same resolution images are displayed on a screen. Added a screenshot 3.0.0_hires_notrespected.png.\r\nTested on:\r\nTitanium Studio, build: 3.0.0.201210090117\r\nTitanium SDK, build: 3.0.0.v20121012114611\r\nDevices:\r\niPad3 ios 5.1.1\r\niPhone4 ios 5.1.1\r\niPhone5 ios 6.0", "updateAuthor": { "name": "oromero", "key": "oromero", "displayName": "Olga Romero", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-10-12T21:12:33.000+0000", "updated": "2012-10-12T21:26:00.000+0000" }, { "id": "223553", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Is there a reason this didn't get the qe-ios100112 label?", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-10-15T16:29:15.000+0000", "updated": "2012-10-15T16:29:15.000+0000" }, { "id": "223583", "author": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Invalid test case. Ofcourse both the images have the same resolution. You have explicitly set the width and the height.\r\n\r\nThe test case for respecting hires flag should have Ti.UI.SIZE width and height. When that is the case the hires image should have half the resolution of the non hires image.", "updateAuthor": { "name": "vduggal", "key": "vduggal", "displayName": "Vishal Duggal", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2012-10-15T17:54:14.000+0000", "updated": "2012-10-15T17:54:14.000+0000" }, { "id": "414033", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket as invalid.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-03-20T22:02:24.000+0000", "updated": "2017-03-20T22:02:24.000+0000" } ], "maxResults": 21, "total": 21, "startAt": 0 } } }