{ "id": "154475", "key": "TIMOB-20266", "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": "19882", "name": "Release 8.0.0", "archived": false, "released": true, "releaseDate": "2019-03-14" }, { "id": "20429", "name": "Release 7.5.1", "archived": false, "released": true, "releaseDate": "2019-02-26" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2019-01-15T11:09:48.000+0000", "created": "2016-01-22T05:44:27.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "android" ], "versions": [], "issuelinks": [], "assignee": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2019-01-16T10:34:41.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": "h6. Issue Description\r\nWhen the user scroll very fast some attributed strings are missing (See attached screenshots), this is not happening on normal labels and if you scroll back slowly the attributed strings are showed.\r\n\r\nh6. Steps to Reproduce \r\n# Create a new default alloy project \r\n# replace the views/index.xml with the next code:\r\n{code}\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n{code}\r\n# Replace the controllers/index.js code with the next code: \r\n{code}\r\n\r\nvar listSection = Ti.UI.createListSection();\r\nvar dataItems = [];\r\n\r\nfor (var i = 0; i < 100; i++) {\r\n\r\n\tvar data = {\r\n\t\ttemplate: \"simpleLabel\",\r\n\t\tlabel1: {},\r\n\t};\r\n\r\n\tif (i % 2 === 1) {\r\n\r\n\t\tdata.label1.attributedString = Ti.UI.createAttributedString({\r\n\t\t\ttext: \"Italic row row row\" + i,\r\n\t\t\tattributes: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttype: Ti.UI.ATTRIBUTE_FONT,\r\n\t\t\t\t\tvalue: {\r\n\t\t\t\t\t\tfontWeight: \"normal\",\r\n\t\t\t\t\t\tfontStyle: \"italic\",\r\n\t\t\t\t\t},\r\n\t\t\t\t\trange: [0, 6],\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t});\r\n\r\n\t} else {\r\n\t\t//data.label1.text = \"Normal\";\r\n\t\tdata.label1.text=\"Normal\" + i; \r\n\t}\r\n\r\n\tdataItems.push(data);\r\n};\r\n\r\nlistSection.setItems(dataItems);\r\n\r\n$.listView.setSections([listSection]);\r\n\r\n$.index.open();\r\n{code}\r\n# Replace the code inside styles/index.tss with the next code:\r\n{code}\r\n\".container\": {\r\n\tbackgroundColor: \"#fff\",\r\n\tlayout: \"vertical\",\r\n}\r\n\r\n\"#listView\": {\r\n\theight: Ti.UI.FILL,\r\n\twidth: Ti.UI.FILL,\r\n}\r\n\"#label1\": {\r\n\tfont: {\r\n\t\tfontSize: 26,\r\n\t},\r\n\tcolor: \"#000\",\r\n}\r\n\r\n\"Label\": {\r\n\tcolor: \"#000\",\r\n\tfont: {\r\n\t\tfontSize: 30,\r\n\t},\r\n}\r\n{code}\r\n# Run\r\n# Scroll fast and stop", "attachment": [ { "id": "58055", "filename": "Screenshot_2016-01-21-09-26-22.png", "author": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-01-22T05:35:03.000+0000", "size": 202632, "mimeType": "image/png" }, { "id": "58054", "filename": "Screenshot_2016-01-21-09-26-29.png", "author": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-01-22T05:35:12.000+0000", "size": 191159, "mimeType": "image/png" }, { "id": "58053", "filename": "Screenshot_2016-01-21-09-26-33.png", "author": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-01-22T05:35:13.000+0000", "size": 177482, "mimeType": "image/png" } ], "flagged": false, "summary": "Android: ListView with attributed strings are not rendering sometimes", "creator": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "rramirez", "key": "rramirez", "displayName": " Ricardo Ramirez", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Android 4.4.4\r\nTitanium SDK 5.1.2\r\n", "closedSprints": [ { "id": 1106, "state": "closed", "name": "2019 Sprint 1", "startDate": "2018-12-31T19:39:58.070Z", "endDate": "2019-01-11T19:39:00.000Z", "completeDate": "2019-01-14T17:17:47.552Z", "originBoardId": 114 }, { "id": 614, "state": "closed", "name": "2016 Sprint 07 SDK", "startDate": "2016-03-26T00:38:56.432Z", "endDate": "2016-04-09T00:38:00.000Z", "completeDate": "2016-04-11T04:41:08.231Z", "originBoardId": 114 } ], "comment": { "comments": [ { "id": "375246", "author": { "name": "CollinPrice", "key": "collinprice", "displayName": "Collin Price", "active": true, "timeZone": "America/Toronto" }, "body": "I have also been able to recreate this by simply changing the device orientation.", "updateAuthor": { "name": "CollinPrice", "key": "collinprice", "displayName": "Collin Price", "active": true, "timeZone": "America/Toronto" }, "created": "2016-01-25T19:51:11.000+0000", "updated": "2016-01-25T19:51:11.000+0000" }, { "id": "381103", "author": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "body": "master PR: https://github.com/appcelerator/titanium_mobile/pull/7895", "updateAuthor": { "name": "hpham", "key": "hpham", "displayName": "Hieu Pham", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-03-30T22:43:26.000+0000", "updated": "2016-03-30T22:43:26.000+0000" }, { "id": "381134", "author": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "body": "PR reviewed and merged.", "updateAuthor": { "name": "msamah", "key": "msamah", "displayName": "Ashraf Abu", "active": false, "timeZone": "Asia/Singapore" }, "created": "2016-03-31T03:21:31.000+0000", "updated": "2016-03-31T03:21:31.000+0000" }, { "id": "388975", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified the fix.\r\n\r\nAttributed strings don't disappear on fast scrolling & changing orientation.\r\nClosing.\r\n\r\nEnvironment:\r\nAppc Studio : 4.7.0.201606150733\r\nTi SDK : 5.4.0.v20160617074028\r\nTi CLI : 5.0.9\r\nAlloy : 1.9.0\r\nMAC El Capitan : 10.11.4\r\nAppc NPM : 4.2.7-2\r\nAppc CLI : 5.4.0-18\r\nNode: 4.4.4\r\nNexus 6 - Android 6.0.1\r\n\r\n ", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-06-23T23:51:59.000+0000", "updated": "2016-06-23T23:51:59.000+0000" }, { "id": "443892", "author": { "name": "spulipakkam", "key": "spulipakkam", "displayName": "Srinivasan Pulipakkam", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~lchoudhary] Can you please verify if this issue reappears in 7.5 ", "updateAuthor": { "name": "spulipakkam", "key": "spulipakkam", "displayName": "Srinivasan Pulipakkam", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-11-26T19:16:06.000+0000", "updated": "2018-11-26T19:16:06.000+0000" }, { "id": "443895", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~spulipakkam], I can reproduce the issue with 7.5.0.GA. It appears to be a regression. I don't see it on 7.4.1.GA\r\n\r\n", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-11-26T20:15:24.000+0000", "updated": "2018-11-26T20:15:24.000+0000" }, { "id": "445049", "author": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Here's a simplified test case:\r\n{code:js}\r\nconst win = Ti.UI.createWindow({ backgroundColor: 'gray' });\r\nconst listView = Ti.UI.createListView({\r\n templates: {\r\n template: {\r\n childTemplates: [\r\n {\r\n type: 'Ti.UI.Label',\r\n bindId: 'label'\r\n }\r\n ]\r\n }\r\n },\r\n defaultItemTemplate: 'template'\r\n});\r\nconst section = Ti.UI.createListSection();\r\n\r\nlet items = [];\r\nfor (let i = 0; i < 100; i++) {\r\n\tlet item = {\r\n\t\ttemplate: 'template',\r\n\t\tlabel: {}\r\n\t};\r\n\tif (i % 2 === 1) {\r\n\t\titem.label.attributedString = Ti.UI.createAttributedString({\r\n\t\t\ttext: 'italic row ' + i,\r\n\t\t\tattributes: [\r\n\t\t\t\t{\r\n\t\t\t\t\ttype: Ti.UI.ATTRIBUTE_FONT,\r\n\t\t\t\t\tvalue: {\r\n\t\t\t\t\t\tfontWeight: 'normal',\r\n\t\t\t\t\t\tfontStyle: 'italic',\r\n\t\t\t\t\t},\r\n\t\t\t\t\trange: [0, 6]\r\n\t\t\t\t}\r\n\t\t\t]\r\n\t\t});\r\n\t} else {\r\n\t\titem.label.text = 'normal ' + i;\r\n\t}\r\n\titems.push(item);\r\n}\r\n\r\nsection.setItems(items);\r\nlistView.setSections([ section ]);\r\n\r\nwin.add(listView);\r\nwin.open();\r\n{code}", "updateAuthor": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-01-07T22:10:35.000+0000", "updated": "2019-01-07T22:10:35.000+0000" }, { "id": "445051", "author": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "body": "master: https://github.com/appcelerator/titanium_mobile/pull/10575", "updateAuthor": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-01-07T23:33:17.000+0000", "updated": "2019-01-07T23:33:17.000+0000" }, { "id": "445067", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "FR Passed, waiting on Jenkins build to merge. ", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-01-08T11:16:09.000+0000", "updated": "2019-01-08T11:16:09.000+0000" }, { "id": "445210", "author": { "name": "chmiiller", "key": "chmiiller", "displayName": "Carlos Henrique Zinato", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Awesome! I'm facing this problem on my current version (7.5.1.RC).\r\nIs this fix on 7.5.1.v20190108052418 (version from 08 of January)?\r\n\r\nThanks!", "updateAuthor": { "name": "chmiiller", "key": "chmiiller", "displayName": "Carlos Henrique Zinato", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-01-11T10:51:17.000+0000", "updated": "2019-01-11T10:51:17.000+0000" }, { "id": "445216", "author": { "name": "chmiiller", "key": "chmiiller", "displayName": "Carlos Henrique Zinato", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Nope, it does not work for this version. Working fine on 7.4.3.v20190108080441 but not working with 7.5.1.v20190108052418. Is this going to be merged into 7.5.1 before GA?", "updateAuthor": { "name": "chmiiller", "key": "chmiiller", "displayName": "Carlos Henrique Zinato", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-01-11T12:10:19.000+0000", "updated": "2019-01-11T12:10:19.000+0000" }, { "id": "445274", "author": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "body": "Please merge this on 7.5.1.GA, we have several new screens depending on this for production release!", "updateAuthor": { "name": "ygbr", "key": "ygbr", "displayName": "Ygor Lemos", "active": true, "timeZone": "America/Sao_Paulo" }, "created": "2019-01-14T12:40:09.000+0000", "updated": "2019-01-14T12:40:09.000+0000" }, { "id": "445284", "author": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "body": "7_5_X: https://github.com/appcelerator/titanium_mobile/pull/10611", "updateAuthor": { "name": "gmathews", "key": "gmathews", "displayName": "Gary Mathews", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-01-14T18:22:15.000+0000", "updated": "2019-01-14T18:22:15.000+0000" }, { "id": "445306", "author": { "name": "chmiiller", "key": "chmiiller", "displayName": "Carlos Henrique Zinato", "active": true, "timeZone": "America/Los_Angeles" }, "body": "yay! Gonna run a couple of tests and let you know how is it looking. Cheers!", "updateAuthor": { "name": "chmiiller", "key": "chmiiller", "displayName": "Carlos Henrique Zinato", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-01-15T08:16:20.000+0000", "updated": "2019-01-15T08:16:20.000+0000" }, { "id": "445331", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing ticket, Verified fix in SDK Version 8.1.0.v20190115054502 and SDK version 8.0.0.v20190114160512.\r\n\r\nTest and other information can be found at: \r\n7_5_X: https://github.com/appcelerator/titanium_mobile/pull/10611\r\n8.0.0: https://github.com/appcelerator/titanium_mobile/pull/10575\r\n\r\nVerified with the test case mentioned above by [~gmathews].", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-01-15T17:01:42.000+0000", "updated": "2019-01-15T17:01:42.000+0000" }, { "id": "445332", "author": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Also verified using SDK version {{7.5.1.v20190115054254}}", "updateAuthor": { "name": "smohammed", "key": "smohammed", "displayName": "Samir Mohammed", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-01-15T17:06:09.000+0000", "updated": "2019-01-15T17:06:09.000+0000" }, { "id": "445383", "author": { "name": "chmiiller", "key": "chmiiller", "displayName": "Carlos Henrique Zinato", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Tested and everything looks fine! Thanks guys", "updateAuthor": { "name": "chmiiller", "key": "chmiiller", "displayName": "Carlos Henrique Zinato", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2019-01-16T10:34:41.000+0000", "updated": "2019-01-16T10:34:41.000+0000" } ], "maxResults": 23, "total": 23, "startAt": 0 } } }