{ "id": "91099", "key": "TIMOB-8930", "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": [], "resolution": { "id": "2", "description": "The problem described is an issue which will never be fixed.", "name": "Won't Fix" }, "resolutiondate": "2017-06-26T22:23:39.000+0000", "created": "2012-04-30T16:22:15.000+0000", "priority": { "name": "Low", "id": "4" }, "labels": [ "parity" ], "versions": [ { "id": "13272", "description": "Release 2.0.1", "name": "Release 2.0.1", "archived": true, "released": true, "releaseDate": "2012-04-16" } ], "issuelinks": [ { "id": "16958", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "91095", "key": "TIMOB-8929", "fields": { "summary": "MobileWeb: View.rect x and y values appear to be switched", "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": "32836", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "121649", "key": "TIMOB-15633", "fields": { "summary": "Android: Animate is canceling the view transform ", "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": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "updated": "2018-04-04T23:20:33.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": "11500", "name": "MobileWeb", "description": "Mobile Web (HTML) Platform" } ], "description": "See code sample in related bug.\r\n\r\nWhen a view's position is changed using an animation, the {{rect}} property is not updated.\r\n\r\nIf this is unavoidable, it will need to be noted in the docs because it doesn't match the other platforms. ", "attachment": [], "flagged": false, "summary": "MobileWeb: Ti.UI.View.rect not updated after animation", "creator": { "name": "aevans", "key": "aevans", "displayName": "Arthur Evans", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "aevans", "key": "aevans", "displayName": "Arthur Evans", "active": true, "timeZone": "America/Los_Angeles" }, "environment": null, "comment": { "comments": [ { "id": "193222", "author": { "name": "aevans", "key": "aevans", "displayName": "Arthur Evans", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Adding as known issue in Ti.UI.View API docs. If this gets resolved, docs should be updated.", "updateAuthor": { "name": "aevans", "key": "aevans", "displayName": "Arthur Evans", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-04-30T16:32:36.000+0000", "updated": "2012-04-30T16:32:36.000+0000" }, { "id": "294421", "author": { "name": "andrew@gstreetmedia.com", "key": "andrew@gstreetmedia.com", "displayName": "Andrew Greenstreet", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Fixed in:\r\nhttps://github.com/appcelerator/titanium_mobile/pull/5375", "updateAuthor": { "name": "andrew@gstreetmedia.com", "key": "andrew@gstreetmedia.com", "displayName": "Andrew Greenstreet", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-02-24T18:59:36.000+0000", "updated": "2014-02-24T18:59:36.000+0000" }, { "id": "345936", "author": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Some concerns:\r\n\r\n* With MW we support pausing and cancelling animations which iOS and Android do not, so we don't define what should happen to the rect when the animation is paused/cancelled. It is updated when the animation completes.\r\n* We're concerned about how the code parses the CSS transform settings. This should already be known because it was calculated during the animation.\r\n", "updateAuthor": { "name": "ingo", "key": "ingo", "displayName": "Ingo Muschenetz", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-03-13T05:25:40.000+0000", "updated": "2015-03-13T05:25:40.000+0000" }, { "id": "345963", "author": { "name": "andrew@gstreetmedia.com", "key": "andrew@gstreetmedia.com", "displayName": "Andrew Greenstreet", "active": true, "timeZone": "America/Los_Angeles" }, "body": "{quote}\r\nWith MW we support pausing and cancelling animations which iOS and Android do not, so we don't define what should happen to the rect when the animation is paused/cancelled. It is updated when the animation completes.\r\n{quote}\r\n\r\nThe problem is the dependency KineticScrollView has on Animate.js. If you stop a KineticScrollView (ScrollView, TableView, etc) via another touch, mid scroll, without having the rect updated, the scrollview will revert to its original position. \r\n\r\n{quote}\r\nWe're concerned about how the code parses the CSS transform settings. This should already be known because it was calculated during the animation.\r\n{quote}\r\n\r\nAgain, same issue. If you stop an animation mid-stream, like you can with a KineticScrollView (just touch the view while it is already scrolling), how do you know the position without parsing the CSS? \r\n\r\nI'm of the opinion that KineticScrollViews should not have a dependency on animation.js (via Ti.UI.2DMatrix). Tweening the css translation value via javascript it fine for small items, but leads to very poor performance on larger lists. KineticScrollView has quite a few issues including performance, and momentum (deceleration). I'm not sure what the policy is on using 3rd party libraries in TI, but refactoring KSV to use iScroll.js (http://iscrolljs.com/) would solve a lot of issues and simplify the codebase.\r\n\r\n\r\n", "updateAuthor": { "name": "andrew@gstreetmedia.com", "key": "andrew@gstreetmedia.com", "displayName": "Andrew Greenstreet", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-03-13T18:02:40.000+0000", "updated": "2015-03-13T18:02:40.000+0000" }, { "id": "345981", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "[~andrew@gstreetmedia.com] I looked into iScroll.js a long time ago. I would love to use it. Mobile Web should probably just have a generalized animation engine that can be extended to handle Titanium's specifics.\r\n\r\nHonestly, I'd like to re-evaluate Mobile Web's entire layout engine, event system, and animation engine. They were all designed independent of each other and glued together. There's a bunch of places where we have duplicate code and hacks to get them working. Since they're all related, there should just be one engine that handles everything. This is outside the scope of this ticket and is not a priority either. :(\r\n\r\nFor the sake of this ticket, I'm not sure whether to merge the PR and resolve the ticket or to keep the ticket open until there's time to go in and properly overhaul Mobile Web.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2015-03-13T20:08:10.000+0000", "updated": "2015-03-13T20:08:19.000+0000" }, { "id": "345988", "author": { "name": "andrew@gstreetmedia.com", "key": "andrew@gstreetmedia.com", "displayName": "Andrew Greenstreet", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I agree on all counts. \r\n\r\nHopefully \"mobile web\" isn't going to die a slow death. I think its existence is the one thing that truly separates the Titanium from other methods of development. None of the newer players in this space support Web (React, NativeScript, etc.). Without that, at least for me, they are non-starters.\r\n\r\nAppcelerator, as an organization may feel differently, but I think the real value proposition in \"mobile web\" isn't mobile web at all. The fact that you can build a \"*desktop web*\" app with the same basic code base as the native mobile app, now that is a value proposition. \r\n\r\nI don't have the resources to build a separate web app for desktop users, but with Titanium (plus 100 hacks or so and some jQuery) I do. \r\n\r\nPlease let me know if I can help at all.", "updateAuthor": { "name": "andrew@gstreetmedia.com", "key": "andrew@gstreetmedia.com", "displayName": "Andrew Greenstreet", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-03-13T21:09:13.000+0000", "updated": "2015-03-13T21:09:13.000+0000" }, { "id": "422889", "author": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "body": "Resolving as \"Won't Fix\" as MobileWeb has been deprecated.", "updateAuthor": { "name": "lmorris", "key": "lmorris", "displayName": "Lee Morris", "active": false, "timeZone": "America/Los_Angeles" }, "created": "2017-06-26T22:23:39.000+0000", "updated": "2017-06-26T22:23:39.000+0000" }, { "id": "436422", "author": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Closing as will not fix.", "updateAuthor": { "name": "emerriman", "key": "emerriman", "displayName": "Eric Merriman ", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2018-04-04T23:20:33.000+0000", "updated": "2018-04-04T23:20:33.000+0000" } ], "maxResults": 8, "total": 8, "startAt": 0 } } }