{ "id": "76546", "key": "AC-3094", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false }, "project": { "id": "12217", "key": "AC", "name": "Appcelerator - INBOX", "projectCategory": { "id": "10000", "description": "", "name": "Customer Service" } }, "resolution": { "id": "8", "description": "", "name": "Needs more info" }, "resolutiondate": "2011-07-08T11:00:11.000+0000", "created": "2011-06-19T15:06:07.000+0000", "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "tguntharp", "key": "tguntharp", "displayName": "Tony Guntharp", "active": true, "timeZone": "America/Los_Angeles" }, "updated": "2016-03-08T07:48:08.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": "14548", "name": "Titanium SDK & CLI", "description": "Please enter tickets related to the MobileSDK here." } ], "description": "When I have a custom TableViewRow with an image in it, and that image has a defined (local) defaultImage, remote images only load for some of the rows some of the time. See line 21 of this example file:\r\n\r\n{code:title=BeerTrackRow.js}\r\n(function() {\r\n\tpintley.ui.components.createBeerTrackRow = function(_beerTrack) {\r\n\t\tvar row = Titanium.UI.createTableViewRow({layout:'vertical',height:'auto'});\r\n\t\trow.className = 'beertrackrow';\r\n\t\trow.backgroundSelectedColor = '#fff';\r\n\r\n\t\trow.addEventListener(\"click\",function(){\r\n\t\t\tvar beerScreen = pintley.clone(pintley.ui.screens.BeerDetailScreenObject);\r\n\t\t\tbeerScreen.data = pintley.combine(beerScreen.data,{beer:_beerTrack.beer});\r\n\t\t\tbeerScreen.backButton = _beerTrack.beer.beerName;\r\n\t\t\tpintley.ui.screens.MainScreen.newScreen(beerScreen);\r\n\t\t});\r\n\t\t\r\n\t\tvar rowView = Titanium.UI.createView({left:0,right:0,height:'auto'});\r\n\r\n\t\tvar smallGap = 5;\r\n\t\tvar largeGap = 10;\r\n\r\n\t\t// left image\r\n\t\tvar updateImage = Titanium.UI.createImageView({\r\n\t\t\tdefaultImage:'images/loading_60.png', // comment this row out to see the workaround\r\n\t\t\timage:_beerTrack.beer.thumb,\r\n\t\t\ttop:smallGap,\r\n\t\t\tleft:10,\r\n\t\t\twidth:60,\r\n\t\t\theight:60\r\n\t\t});\r\n\t\t// iPhone 4 display\r\n\t\tif (Titanium.Platform.displayCaps.dpi == 320) {\r\n\t\t\tupdateImage.image = _beerTrack.beer.thumb2x;\r\n\t\t\tupdateImage.hires = true;\r\n\t\t}\r\n\t\trowView.add(updateImage);\r\n\t\t\r\n\t\trowView.add(Ti.UI.createView({height:smallGap,top:65})); // spacer\r\n\t\t\r\n\t\t// content container\r\n\t\tvar updateContent = Titanium.UI.createView({\r\n\t\t\tlayout:'vertical',\r\n\t\t\tleft:80,\r\n\t\t\tright:10,\r\n\t\t\ttop:smallGap,\r\n\t\t\theight:'auto'\r\n\t\t});\r\n\t\t\r\n\t\tvar beerName = Titanium.UI.createLabel({\r\n\t\t\tcolor:'#C36466',\r\n\t\t\tfont:{fontSize:15,fontWeight:'bold', fontFamily:'Arial'},\r\n\t\t\tleft:0,\r\n\t\t\tright:0,\r\n\t\t\ttop:smallGap,\r\n\t\t\theight:21,\r\n\t\t\ttext:_beerTrack.beer.beerName\r\n\t\t});\r\n\t\tupdateContent.add(beerName);\r\n\t\t\r\n\t\tvar locationName = Titanium.UI.createLabel({\r\n\t\t\tcolor:'#656565',\r\n\t\t\tfont:{fontSize:11,fontWeight:'bold', fontFamily:'Arial'},\r\n\t\t\tleft:0,\r\n\t\t\tright:0,\r\n\t\t\theight:'auto',\r\n\t\t\ttext:_beerTrack.locationName\r\n\t\t});\r\n\t\tif (_beerTrack.locationName && _beerTrack.locationName.length > 0) {\r\n\t\t\tlocationName.text = \"at \" + _beerTrack.locationName;\r\n\t\t}\r\n\t\tupdateContent.add(locationName);\r\n\t\t\r\n\t\tvar notes = Titanium.UI.createLabel({\r\n\t\t\tcolor:'#000',\r\n\t\t\tfont:{fontSize:11,fontFamily:'Arial'},\r\n\t\t\tleft:0,\r\n\t\t\tright:0,\r\n\t\t\theight:'auto',\r\n\t\t\ttext:_beerTrack.notes\r\n\t\t});\r\n\t\r\n\t\tupdateContent.add(notes);\r\n\t\t\r\n\t\tvar timeRow = Titanium.UI.createView({\r\n\t\t\tleft:0,\r\n\t\t\tright:0,\r\n\t\t\theight:15\r\n\t\t});\r\n\t\t\r\n\t\tvar updateTimestamp = Titanium.UI.createLabel({\r\n\t\t\tleft:0,\r\n\t\t\tright:0,\r\n\t\t\tbottom:0,\r\n\t\t\tcolor:'#656565',\r\n\t\t\tfont:{fontSize:10,fontFamily:'Arial'},\r\n\t\t\ttext:_beerTrack.ago\r\n\t\t});\r\n\t\ttimeRow.add(updateTimestamp);\r\n \r\n\t\tupdateContent.add(timeRow);\r\n\t\t\r\n\t\tupdateContent.add(Ti.UI.createView({height:pintley.os({android:15, iphone:smallGap})})); // spacer\r\n\t\t\r\n\t\trowView.add(updateContent);\r\n\t\t\r\n\t\trow.add(rowView);\r\n\t\t\r\n\t\treturn row;\r\n\t};\r\n})();\r\n{code}\r\n\r\nThe problem started in 1.6.1, and still exists in 1.6.2, 1.7.0 final, and 1.7.1 CI build from 6/18\r\n\r\nThis seems simple, but since my app is mostly table rows with remote images, this is a blocker for me. There are many other bugs that 1.7.0 is supposed to fix that I need, so I need this one fixed right away.", "attachment": [], "flagged": false, "summary": "Remote images in custom TableViewRow not loading", "creator": { "name": "iotashan", "key": "iotashan", "displayName": "Shannon Hicks", "active": true, "timeZone": "America/Chicago" }, "subtasks": [], "reporter": { "name": "iotashan", "key": "iotashan", "displayName": "Shannon Hicks", "active": true, "timeZone": "America/Chicago" }, "environment": "Android", "comment": { "comments": [ { "id": "157156", "author": { "name": "iotashan", "key": "iotashan", "displayName": "Shannon Hicks", "active": true, "timeZone": "America/Chicago" }, "body": "As it turns out, it looks like this is the case for any image, not just those in TableViewRows. It was more apparent there due to the number of images.", "updateAuthor": { "name": "iotashan", "key": "iotashan", "displayName": "Shannon Hicks", "active": true, "timeZone": "America/Chicago" }, "created": "2011-06-20T10:45:33.000+0000", "updated": "2011-06-20T10:45:33.000+0000" }, { "id": "157213", "author": { "name": "pdowsett", "key": "pdowsett", "displayName": "Paul Dowsett", "active": true, "timeZone": "Europe/London" }, "body": "Shannon\r\n\r\nIn order for us to progress this issue, please would you edit your ticket and replace your code with a [Use-case|http://wiki.appcelerator.org/display/guides/Contributing+to+Titanium#ContributingtoTitanium-CreatingGoodUsecases]. To summarize, this is the simplest code that will demonstrate the issue, and will run without any modification.\r\n\r\nYou can read more about this in [Submitting Bug Reports|http://wiki.appcelerator.org/display/guides/Contributing+to+Titanium#ContributingtoTitanium-SubmittingBugReports].\r\n\r\nThanks \r\n", "updateAuthor": { "name": "pdowsett", "key": "pdowsett", "displayName": "Paul Dowsett", "active": true, "timeZone": "Europe/London" }, "created": "2011-06-20T14:44:21.000+0000", "updated": "2011-06-20T14:44:21.000+0000" }, { "id": "157663", "author": { "name": "iotashan", "key": "iotashan", "displayName": "Shannon Hicks", "active": true, "timeZone": "America/Chicago" }, "body": "As I said in my first comment, it actually seems to apply to all images. Here are the steps to reproduce:\r\n\r\n1. Create a new Android project\r\n2. Insert a remote image, with a defaultImage that is local\r\n3. Run the app. Sometimes the remote image will display, sometimes it won't. The problem was most evident when images were in tableviews, because of the number of images.\r\n\r\nIf you remove defaultImage, the remote image will always load.", "updateAuthor": { "name": "iotashan", "key": "iotashan", "displayName": "Shannon Hicks", "active": true, "timeZone": "America/Chicago" }, "created": "2011-06-23T10:44:05.000+0000", "updated": "2011-06-23T10:54:22.000+0000" }, { "id": "157666", "author": { "name": "iotashan", "key": "iotashan", "displayName": "Shannon Hicks", "active": true, "timeZone": "America/Chicago" }, "body": "As a side note, when I create a ticket, I assumed that I was automatically watching it. As a result, I didn't even know you had commented on this ticket. That, combined with my disappearing helpdesk ticket, has really put me behind the 8-ball, as the potential client needs to see this fixed by Monday :(", "updateAuthor": { "name": "iotashan", "key": "iotashan", "displayName": "Shannon Hicks", "active": true, "timeZone": "America/Chicago" }, "created": "2011-06-23T10:46:17.000+0000", "updated": "2011-06-23T10:46:17.000+0000" }, { "id": "159046", "author": { "name": "pdowsett", "key": "pdowsett", "displayName": "Paul Dowsett", "active": true, "timeZone": "Europe/London" }, "body": "Shannon\r\n\r\nReporters are supposed to automatically receive email notifications for all their tickets. Can you confirm whether this is the case, for you? If not, then I will investigate it and get it resolved.\r\n\r\nI am as eager as you to move this ticket to the correct project, but you have not addressed the issues as is required. Your usecase as it stands contains lots of superfluous code that has no bearing on the behavior you have observed. Also, it does not run *without modification* when pasted into a blank app.js file.\r\n\r\nI am closing it for now, but will reopen when it has been made sufficient. Please refer to the [Jira Ticket Checklist|http://wiki.appcelerator.org/display/guides/Contributing+to+Titanium#ContributingtoTitanium-Summary%3AJiraTicketChecklist] if you need any further help with this.\r\n\r\nThanks", "updateAuthor": { "name": "pdowsett", "key": "pdowsett", "displayName": "Paul Dowsett", "active": true, "timeZone": "Europe/London" }, "created": "2011-07-08T10:59:55.000+0000", "updated": "2011-07-08T10:59:55.000+0000" }, { "id": "159049", "author": { "name": "iotashan", "key": "iotashan", "displayName": "Shannon Hicks", "active": true, "timeZone": "America/Chicago" }, "updateAuthor": { "name": "iotashan", "key": "iotashan", "displayName": "Shannon Hicks", "active": true, "timeZone": "America/Chicago" }, "created": "2011-07-08T11:07:11.000+0000", "updated": "2011-07-08T11:07:11.000+0000" }, { "id": "163117", "author": { "name": "pdowsett", "key": "pdowsett", "displayName": "Paul Dowsett", "active": true, "timeZone": "Europe/London" }, "body": "Closing after 30 days of inactivity.", "updateAuthor": { "name": "pdowsett", "key": "pdowsett", "displayName": "Paul Dowsett", "active": true, "timeZone": "Europe/London" }, "created": "2011-08-16T17:17:33.000+0000", "updated": "2011-08-16T17:17:33.000+0000" } ], "maxResults": 7, "total": 7, "startAt": 0 } } }