Thu, 27 Jun 2013 19:26:14 +0200 Pierre-Yves David [repoapi] deprecate dbapi compat method
Thu, 27 Jun 2013 19:14:22 +0200 Pierre-Yves David [testlib] deprecated the older api to access the repo.
Thu, 27 Jun 2013 19:09:23 +0200 Pierre-Yves David [connection] deprecated free_cnset and set_cnxset
Thu, 27 Jun 2013 19:02:06 +0200 Pierre-Yves David [session] deprecate all Connection related method on session
Thu, 27 Jun 2013 18:53:06 +0200 Pierre-Yves David [session] drop dead _current_cnx_id
Thu, 27 Jun 2013 18:47:08 +0200 Pierre-Yves David [session] privatise get_cnx and close_cnx
Thu, 27 Jun 2013 18:14:35 +0200 Pierre-Yves David [doc] add documentation for the new API in test
Thu, 27 Jun 2013 15:28:15 +0200 Pierre-Yves David [testlib] add an default testcase.adminaccess (and use it for default session)
Thu, 27 Jun 2013 18:15:57 +0200 Pierre-Yves David [testlib] introduce a RepoAccess class to easily create connection and request
Thu, 27 Jun 2013 15:13:47 +0200 Pierre-Yves David [repoapi] make ClientConnection.__enter__ return self
Thu, 27 Jun 2013 18:16:06 +0200 Pierre-Yves David [documentation] describe repoapi and web side change.
Thu, 27 Jun 2013 12:28:17 +0200 Pierre-Yves David [testlib] use internal_cnx instead of internal_session
Thu, 27 Jun 2013 14:12:00 +0200 Pierre-Yves David [repository] add an ``internal_cnx`` method to replace ``internal_session``
Thu, 27 Jun 2013 12:02:38 +0200 Pierre-Yves David [connection] enforce that a connection must be open to be used
Wed, 26 Jun 2013 15:11:22 +0200 Pierre-Yves David use standalone Connection to Client Connection
Wed, 26 Jun 2013 14:46:24 +0200 Pierre-Yves David [session] add a new_cnx factory
Wed, 26 Jun 2013 14:26:06 +0200 Pierre-Yves David [connection] allow simple instantiation of standalone Connection
Wed, 26 Jun 2013 14:35:55 +0200 Pierre-Yves David [connection] handle and explicitly life cycle on Connection
Wed, 26 Jun 2013 14:00:32 +0200 Pierre-Yves David [sesion] distinction between Connection handled by the session and other.
Wed, 26 Jun 2013 11:58:34 +0200 Pierre-Yves David [session] replace _clear_thread_storage with close_cnx
Wed, 26 Jun 2013 14:01:07 +0200 Pierre-Yves David [session] explicitly take Connection object in close_cnx
Wed, 26 Jun 2013 11:41:53 +0200 Pierre-Yves David [session] drop the Session._clear_cnx_storage method
Wed, 26 Jun 2013 11:39:41 +0200 Pierre-Yves David [session] wrap too long line
Wed, 26 Jun 2013 11:39:01 +0200 Pierre-Yves David [session] gather close_cnx with get_cnx and set_cnx
Thu, 27 Jun 2013 11:13:18 +0200 Pierre-Yves David [client-connection] remove the _srv_cnx usage
Thu, 27 Jun 2013 11:04:31 +0200 Pierre-Yves David [client-connection] explicitly check that the client-connection is open
Thu, 27 Jun 2013 11:02:30 +0200 Pierre-Yves David [client-connection] handle the lack of connection id while not open
Wed, 26 Jun 2013 11:21:39 +0200 Pierre-Yves David [connection] transparent cnx_set handling
Thu, 27 Jun 2013 10:44:40 +0200 Pierre-Yves David [client-connection] explicit the client part in __repr__
Tue, 25 Jun 2013 19:50:16 +0200 Pierre-Yves David [ClientConnection] directly use the Connection object to access the database
Tue, 25 Jun 2013 18:15:45 +0200 Pierre-Yves David [connection] invert __init__ parameter
Wed, 26 Jun 2013 13:43:22 +0200 Pierre-Yves David [service] enforce that Service argument and return are json-serialisable
Tue, 25 Jun 2013 18:04:08 +0200 Pierre-Yves David [connection] move call_service on Connection
Thu, 27 Jun 2013 11:21:14 +0200 Pierre-Yves David [connection] move the commit method on Connection object
Thu, 27 Jun 2013 11:21:09 +0200 Pierre-Yves David [connection] move the rollback method on Connection object
Thu, 27 Jun 2013 11:20:46 +0200 Pierre-Yves David [connection] pass a Connection object to RQLRewriter
Thu, 27 Jun 2013 11:20:14 +0200 Pierre-Yves David [connection] Connection.execute touch Session timestamp
Tue, 25 Jun 2013 17:42:12 +0200 Pierre-Yves David [connection] Connection now call _set_user to CWUser object linked to itseld
Tue, 25 Jun 2013 14:13:50 +0200 Pierre-Yves David [server/session] better faking of user for InternalManager
Thu, 27 Jun 2013 11:19:58 +0200 Pierre-Yves David [connection] move execute
Tue, 25 Jun 2013 17:10:52 +0200 Pierre-Yves David [connection] mark Connection as "not a request"
Tue, 25 Jun 2013 14:04:46 +0200 Pierre-Yves David [server/session] ensure appobject obtained from the session are linked to the session
Tue, 25 Jun 2013 12:25:52 +0200 Pierre-Yves David [connection] have rql_rewriter accession on Connection
Thu, 27 Jun 2013 11:19:42 +0200 Pierre-Yves David [connection] move local_perm_cache management on Connection
Thu, 27 Jun 2013 11:19:37 +0200 Pierre-Yves David [session] use a rich object for timestamp
Thu, 27 Jun 2013 11:19:32 +0200 Pierre-Yves David [migraction] do not access session.data directly
Thu, 27 Jun 2013 11:19:28 +0200 Pierre-Yves David [connection] move relation management method
Thu, 27 Jun 2013 11:19:24 +0200 Pierre-Yves David [connection] give access to shared data method
Thu, 27 Jun 2013 11:19:17 +0200 Pierre-Yves David [connection] move relation cache method to Connection
Wed, 15 May 2013 16:09:31 +0200 Pierre-Yves David [connection] give access to session execute from connection
Thu, 23 May 2013 14:17:46 +0200 Pierre-Yves David [connection] move last part of undo logic in connection
Tue, 25 Jun 2013 17:28:41 +0200 Pierre-Yves David [connection] initialize connection.user and connection.lang
Fri, 29 Mar 2013 17:43:18 +0100 Pierre-Yves David [Connection] inherit from RequestSessionBase
Wed, 26 Jun 2013 13:48:18 +0200 Pierre-Yves David [multi-sources] drop multi-sources related test.
Thu, 27 Jun 2013 18:21:04 +0200 Pierre-Yves David Use new repoapi for the web stack
Tue, 25 Jun 2013 10:59:01 +0200 Pierre-Yves David PARTIAL: Using the repoapi in test
Tue, 25 Jun 2013 14:45:16 +0200 Pierre-Yves David [web/test] drop proff of concept Facebook login in test
Tue, 25 Jun 2013 10:46:35 +0200 Pierre-Yves David [test/dbapi] do not rely on the Testcase provided cnx
Tue, 25 Jun 2013 10:45:44 +0200 Pierre-Yves David [dbapi] explicitly use the DBAPI version of CubicwebRequestBase
Mon, 24 Jun 2013 18:33:41 +0200 Pierre-Yves David [web/application] drop unused import
Mon, 24 Jun 2013 18:35:22 +0200 Pierre-Yves David [web/test] properly reset the request connection related attribute
Mon, 24 Jun 2013 18:23:48 +0200 Pierre-Yves David [web/test] drop two undocumented suspicious regression test
Mon, 24 Jun 2013 19:27:31 +0200 Pierre-Yves David [webrequest] introduce an alternative implementation using the repoapi
Mon, 24 Jun 2013 18:18:51 +0200 Pierre-Yves David [repoapi] add an anonymous_cnx function
Fri, 21 Jun 2013 16:40:12 +0200 Pierre-Yves David [repoapi] add a connect function
Mon, 24 Jun 2013 17:26:13 +0200 Pierre-Yves David [client-connection] add an auto-close property for ClientConnection
Fri, 21 Jun 2013 12:08:06 +0200 Pierre-Yves David [cwuser] make CWUser callable, returning self for dbapi compatibility
Fri, 21 Jun 2013 15:26:03 +0200 Pierre-Yves David [client-connect] drop rqlst on rset returned client side
Fri, 21 Jun 2013 15:25:47 +0200 Pierre-Yves David [client-connection] add a repo property for dbapi compatibility
Fri, 21 Jun 2013 13:49:13 +0200 Pierre-Yves David [client-connection] add a connection property for dbapi compatibility
Fri, 21 Jun 2013 13:42:19 +0200 Pierre-Yves David [client-connection] add a sessionid property for dbapi compatibility
Fri, 21 Jun 2013 12:12:58 +0200 Pierre-Yves David [client-connection] add a cursor() method for dbapi compatibility
Fri, 21 Jun 2013 11:39:34 +0200 Pierre-Yves David [client-connection] add a request() method for dbapi compatibility
Tue, 25 Jun 2013 11:06:57 +0200 Pierre-Yves David [repoapi] introduce a basic ClientConnection class
Tue, 25 Jun 2013 17:25:47 +0200 Pierre-Yves David [req] add a _set_user method
Mon, 24 Jun 2013 18:00:20 +0200 Pierre-Yves David [server/session] add a login property
Fri, 21 Jun 2013 15:47:01 +0200 Pierre-Yves David [server/session] allow access to session id using sessionid
Mon, 17 Jun 2013 17:27:08 +0200 Pierre-Yves David [server/session] Implement anonymous_session
Fri, 21 Jun 2013 16:07:45 +0200 Pierre-Yves David [server/session] do not clear session.cnx if unrelated to cnx actually cleared
Mon, 24 Jun 2013 14:55:26 +0200 Pierre-Yves David [dbapi] move ProgrammingError into cubicweb module
Mon, 17 Jun 2013 15:00:41 +0200 Pierre-Yves David [repoapi] move get_repository function into a new repoapi module
Thu, 20 Jun 2013 16:19:27 +0200 Pierre-Yves David [testlib] gather all repository access logic in one place
Thu, 20 Jun 2013 16:00:07 +0200 Pierre-Yves David [testlib] move repo and related attribute back on Instance instead of Class
Mon, 24 Jun 2013 14:53:19 +0200 Pierre-Yves David [dbapi] makes anonymous_connection a computed property
Mon, 24 Jun 2013 11:31:47 +0200 Pierre-Yves David [webrequest] simplify set_session code
Fri, 21 Jun 2013 16:28:16 +0200 Pierre-Yves David [webrequest] set DBAPISession without cnx at initialisation time
Mon, 24 Jun 2013 12:41:27 +0200 Pierre-Yves David [testlib] rework request building in init_authentication
Mon, 24 Jun 2013 12:39:25 +0200 Pierre-Yves David [request] drop the user argument for set_session
Wed, 19 Jun 2013 12:00:54 +0200 Pierre-Yves David [web-request] handle default language earlier
Tue, 18 Jun 2013 15:12:25 +0200 Pierre-Yves David [etwist] pass the repository to the root resource
Mon, 24 Jun 2013 12:03:37 +0200 Pierre-Yves David [repo] move repo.gc_stats to Service API (closes #2951068)
Mon, 24 Jun 2013 12:05:35 +0200 Pierre-Yves David [repo] move repo stats to Service (closes #2951067)
Mon, 24 Jun 2013 11:59:45 +0200 Pierre-Yves David [service] drop the asynchronous execution possibility
Mon, 24 Jun 2013 12:00:03 +0200 Pierre-Yves David [auth] pass `repo` instead of `vreg` to SessionManager and AuthenticationManager
Fri, 23 Nov 2012 16:12:19 +0100 Pierre-Yves David web/application: instantiate the repository outside of CubicWebPublisher
Fri, 07 Dec 2012 17:23:04 +0100 Pierre-Yves David remove vreg argument to CWPublisher
Fri, 07 Dec 2012 16:10:38 +0100 Pierre-Yves David [devtools] vreg becomes a class ppty
Fri, 23 Nov 2012 16:33:00 +0100 Pierre-Yves David [devtools] drop unused `reset_schema` and `reset_vreg` class attribute
Mon, 27 May 2013 17:50:55 +0200 Pierre-Yves David [connection] move security control logic on Connection
Fri, 14 Jun 2013 12:11:42 +0200 Pierre-Yves David [connection] move hook control logic on Connection
Fri, 14 Jun 2013 12:10:45 +0200 Pierre-Yves David [session] update _hook_control docstring
Mon, 27 May 2013 16:43:02 +0200 pierre-yves [connection] reinstall cnx.data as cnx.transaction_data
Mon, 27 May 2013 16:42:39 +0200 pierre-yves [connection] give access to is_internal_session boolean
Fri, 14 Jun 2013 13:39:49 +0200 pierre-yves [req] drop from_controller on non WebRequest object (Closes #2901079)
Tue, 14 May 2013 00:36:43 +0200 pierre-yves [connection] add logging method on connection
Thu, 13 Jun 2013 15:12:06 +0200 Pierre-Yves David rename server.session.transaction into server.session.connection
Fri, 14 Jun 2013 13:43:29 +0200 Pierre-Yves David [application] call req.set_session in application.main_handle_request
Thu, 13 Jun 2013 18:46:39 +0200 Pierre-Yves David [session-handler] use session directly to update last usage
Thu, 13 Jun 2013 18:50:19 +0200 Pierre-Yves David [application/connect] simplify connection logic
Thu, 13 Jun 2013 15:36:10 +0200 pierre-yves Drop hijack user (closes #2901093)
Thu, 13 Jun 2013 17:27:43 +0200 Pierre-Yves David [sources] drop support for ldapuser source (closes #2936496)
Fri, 14 Jun 2013 17:13:17 +0200 Pierre-Yves David merge stable back into default
Fri, 14 Jun 2013 16:26:25 +0200 David Douard 3.17 is the new stable stable
Fri, 14 Jun 2013 16:13:24 +0200 David Douard Added tag cubicweb-version-3.16.5, cubicweb-debiann-version-3.16.5-1, cubicweb-centos-version-3.16.5-1 for changeset 810a05fba1a4 stable
Fri, 14 Jun 2013 16:02:39 +0200 David Douard [pkg] prepare 3.16.5 stable cubicweb-centos-version-3.16.5-1 cubicweb-debiann-version-3.16.5-1 cubicweb-version-3.16.5
Fri, 14 Jun 2013 14:41:50 +0200 David Douard Added tag cubicweb-version-3.17.2, cubicweb-debian-version-3.17.2-1 for changeset 195e519fe97c
Thu, 13 Jun 2013 17:32:49 +0200 David Douard [pkg] prepare 3.17.2 cubicweb-debian-version-3.17.2-1 cubicweb-version-3.17.2
Fri, 14 Jun 2013 11:53:40 +0200 Julien Cristau repository: make tests pass again
Wed, 12 Jun 2013 18:33:50 +0200 Julien Cristau repository: monkey patch pyro connection handling to detect clients going away
Thu, 13 Jun 2013 12:01:23 +0200 Julien Cristau notification: use viewargs for notif_entity_updated instead of transaction_data
Thu, 13 Jun 2013 12:03:59 +0200 Julien Cristau notification: properly handle cnx and lifetime of the hijacked session
Wed, 12 Jun 2013 12:27:00 +0200 Julien Cristau notification: fix session creation (closes #2934523)
Fri, 07 Jun 2013 16:48:20 +0200 David Douard Added tag cubicweb-version-3.17.1, cubicweb-debian-version-3.17.1-1, cubicweb-centos-version-3.17.1-1 for changeset f98d1c46ed9f
Fri, 24 May 2013 13:00:28 +0200 Nicolas Chauvat [cwctl] add configure command to cw-ctl (closes #2709702) cubicweb-centos-version-3.17.1-1 cubicweb-debian-version-3.17.1-1 cubicweb-version-3.17.1
Fri, 24 May 2013 14:02:45 +0200 Nicolas Chauvat [cwctl] rename option no-post-create to no-db-create
Thu, 06 Jun 2013 16:02:46 +0200 David Douard [pkg] version 3.17.1 for rpm packages
Mon, 27 May 2013 15:48:03 +0200 pierre-yves [session] upgrade session closed error from Exception to SessionClosedError
Thu, 06 Jun 2013 12:29:44 +0200 David Douard [pkg] prepare 3.17.1
Thu, 30 May 2013 14:46:32 +0200 Pierre-Yves David [web/application] add some minimal documentation
Thu, 23 May 2013 19:25:24 +0200 pierre-yves [session] raise proper exception with get_tx is called on a closed session
Thu, 06 Jun 2013 09:44:37 +0200 David Douard [view] typo in a docstring
Fri, 24 May 2013 14:07:46 +0200 Nicolas Chauvat [cwctl] pass missing inputlevel argument to postcreate() (closes #2901037) stable
Wed, 29 May 2013 11:41:39 +0200 Julien Cristau [server] fix documentation of ZMQ options harder stable
Wed, 29 May 2013 16:44:16 +0200 Pierre-Yves David merge with 3.16.x fixes
Mon, 27 May 2013 15:39:56 +0200 Dimitri Papadopoulos [server] fix documentation of ZMQ options stable
Fri, 24 May 2013 11:16:09 +0200 Julien Cristau [zmq] set order for ZMQStartHook so other hooks don't need to stable
Thu, 23 May 2013 17:32:56 +0200 Nicolas Chauvat import merge_options directly from logilab.common
Fri, 24 May 2013 15:10:50 +0200 Nicolas Chauvat [server] fix error messages in write_sources_file()
Thu, 02 May 2013 12:22:14 +0200 Aurelien Campeas [doc] a couple almost-typos stable
Fri, 03 May 2013 17:26:23 +0200 Aurelien Campeas [schemaserial] mitigate critical message during migration
Wed, 22 May 2013 06:30:16 +0200 Dimitri Papadopoulos [doc] typo
Thu, 23 May 2013 18:57:25 +0200 Nicolas Chauvat [cw-ctl] fix help message for schemadiff In global help (closes #2888538)
Tue, 14 May 2013 18:02:24 +0200 Julien Cristau [dbapi] fix connect backwards compat harder stable
Thu, 23 May 2013 12:35:02 +0200 Julien Cristau [zmq] make publish address optional stable
Thu, 23 May 2013 14:38:43 +0200 Julien Cristau Fix documentation for zmq pub/sub hooks and configuration stable
Fri, 17 May 2013 16:25:48 +0200 Nicolas Chauvat [entity] improve deprecation messages stable
Wed, 15 May 2013 14:42:50 +0200 Sylvain Thénault [devtools] use self._parse so AssertionError is properly raised instead of lxml error (test failure introduced in 6711f78c18be)
Wed, 15 May 2013 16:21:23 +0200 Sylvain Thénault [testlib] fix page validator selection. Closes #2869456
Wed, 15 May 2013 14:22:51 +0200 Sylvain Thénault [testlib] introduce a validator that check xml-well formness
Wed, 15 May 2013 15:37:22 +0200 Sylvain Thénault [view] return HTML5 doctype. Closes #2869426
Mon, 06 May 2013 17:16:45 +0200 Sylvain Thénault [testlib] repreprocess content so contextual display has a chance to show the proper line. Closes #2869481
Mon, 06 May 2013 15:58:52 +0200 Sylvain Thénault [web request] drop no more necessary request.document_surrounding_div method
Mon, 06 May 2013 17:13:43 +0200 Sylvain Thénault [testlib] unspaghettify Validator / PageInfo api
Mon, 06 May 2013 16:05:51 +0200 Sylvain Thénault [testlib] update htmlparsers.VALMAP: stop using SaxOnlyValidator and add an entry for html
Mon, 06 May 2013 17:26:16 +0200 Sylvain Thénault [testlib] SaxOnlyValidator is deprecated, use XMLValidator instead
Tue, 14 May 2013 15:26:24 +0200 Dimitri Papadopoulos [dataimport] minor typo in error handling
Tue, 07 May 2013 00:29:42 +0200 Dimitri Papadopoulos [views] attempt to clarify the inline help system documentation
Mon, 06 May 2013 19:40:15 +0200 Pierre-Yves David [sobject] fix notification operation
Fri, 03 May 2013 16:36:42 +0200 David Douard Added tag cubicweb-debian-version-3.17.0-2 for changeset 09a0c7ea6c3c
Fri, 03 May 2013 16:27:34 +0200 Pierre-Yves David [pkg/debian] prepare release 3.17.0-2 cubicweb-debian-version-3.17.0-2
Fri, 03 May 2013 16:24:42 +0200 Pierre-Yves David [pkg/debian] update yams runtime depends
Fri, 03 May 2013 16:23:08 +0200 Pierre-Yves David [pkg/debian] expand all depends and co on multiple line
Thu, 02 May 2013 17:14:22 +0200 David Douard Added tag cubicweb-debian-version-3.17.0-1 for changeset 22be40c492e9
Thu, 02 May 2013 17:14:21 +0200 David Douard Added tag cubicweb-version-3.17.0 for changeset cc1a0aad580c cubicweb-debian-version-3.17.0-1
Thu, 02 May 2013 15:58:57 +0200 Pierre-Yves David [test/view] exclude some Blog entity from automatic view testing cubicweb-version-3.17.0
Thu, 02 May 2013 14:30:36 +0200 David Douard [doc] fix: cubicweb.gmap.js has moved to the geocoding cube
Tue, 30 Apr 2013 08:17:10 +0200 David Douard [test/ldap] do not assume order
Mon, 29 Apr 2013 14:49:43 +0200 Pierre-Yves David Added tags for version 3.16.4 on changeset 041804bc48e9 stable
Mon, 29 Apr 2013 12:34:23 +0200 Pierre-Yves David [notification] ensure official API is test
Mon, 29 Apr 2013 09:47:23 +0200 Alain Leufroy fix typo in notification causing NameError
Mon, 29 Apr 2013 12:29:59 +0200 Pierre-Yves David [test/notification] merge related test classe
Mon, 29 Apr 2013 11:43:36 +0200 Pierre-Yves David merge with stable
Tue, 16 Apr 2013 16:51:18 +0200 Julien Cristau [server] add a looping task to free unused cnxsets capture by dead pyro stable cubicweb-centos-version-3.16.4-1 cubicweb-debian-version-3.16.4-1 cubicweb-version-3.16.4
Mon, 29 Apr 2013 11:22:21 +0200 Pierre-Yves David [pkg/debian] update changelog to 3.17.0
Mon, 29 Apr 2013 11:06:28 +0200 Pierre-Yves David [devtools] Use XMLValidator instead deprecated SaxOnlyValidator
Fri, 26 Apr 2013 18:47:36 +0200 Pierre-Yves David [pkg] update changelog
Fri, 26 Apr 2013 18:37:47 +0200 Pierre-Yves David [pkg] prepare 3.17.0
Fri, 26 Apr 2013 18:21:18 +0200 Pierre-Yves David [pkg] prepare 3.16.4 stable
Fri, 26 Apr 2013 18:06:44 +0200 Sylvain Thénault [repo] straightforward bootstrap sequence. Closes #2841188
Wed, 24 Apr 2013 14:49:49 +0200 Sylvain Thénault [repo] minor cleanups to bootstrap sequence
Fri, 26 Apr 2013 17:46:56 +0200 Vincent Michel [schemaserial] serialize additional yams parameter for customs type
Tue, 23 Apr 2013 14:13:58 +0200 Vincent Michel [sql] preprocess_entity uses lgdb helper's SQL converters.
Wed, 24 Apr 2013 14:42:43 +0200 Sylvain Thénault [repo] kill rebuildinfered feature from Repository.set_schema
Wed, 24 Apr 2013 14:51:06 +0200 Sylvain Thénault [test] stop deepcopying for nothing
Fri, 26 Apr 2013 12:10:37 +0200 Aurelien Campeas drop xhtml content-type support (closes #2065651)
Fri, 26 Apr 2013 11:53:47 +0200 Pierre-Yves David [htmlparser] exclude <script> tag from html source
Fri, 26 Apr 2013 11:52:35 +0200 Pierre-Yves David [htmlparser] store unaltered source in pageinfo.source
Thu, 25 Apr 2013 18:38:47 +0200 Sylvain Thénault [htmlparser] rename SaxOnlyValidator to XMLValidator
Thu, 25 Apr 2013 17:46:28 +0200 Sylvain Thénault [htmlparser] add missing deprecation message
Thu, 25 Apr 2013 16:55:12 +0200 Pierre-Yves David [form] remove hard coded id
Fri, 26 Apr 2013 11:08:06 +0200 Pierre-Yves David [server/test] use server config in migration
Mon, 22 Apr 2013 17:57:46 +0200 Pierre-Yves David [session] deprecate `hijack_user` method
(0) -3000 -1000 -192 +192 +1000 +3000 tip