Giter VIP home page Giter VIP logo

magicicada-client's Introduction

Magicicada Client

tests

This project is a fork of the Ubuntu One client project.

Details

In order to run tests in ubuntuone-client, you can simply bootstrap and everything will be setup automagically:

$ sudo apt-get install make
$ make bootstrap

After configuring, in order to run the tests, all you need to do is run make test.

$ make test

Magicicada uses branch based development on Github, and bugs to track features and issues. Make sure a bug is filed for the piece of code you wish to work on. When committing your changes, be sure to specify the bug # it fixes.

After pushing your branch, you will need to propose it for merging into the main branch. In order for your branch to be accepted, it needs to ensure all existing tests keep passing, and the code you are adding/modifying has the proper addings/modifications in the tests/ folder. Your branch will also need at least one Magicicada developers (the chicharreros team) positive vote before landing.

magicicada-client's People

Contributors

nessita avatar magicicada-bot avatar facundobatista avatar

Stargazers

 avatar Sergey Chudakov avatar Yan Pashkovsky avatar Igor Vuk avatar

Watchers

 avatar  avatar James Cloos avatar  avatar

Forkers

meteoritt

magicicada-client's Issues

Protobug updates

The current code requires protobuf<4 because of the following:

  File "/home/nessita/projects/magicicada/magicicada-client/magicicadaclient/syncdaemon/tests/test_action_queue.py", line 45, in <module>
    from magicicadaprotocol import (
  File "/home/nessita/projects/magicicada/magicicada-client/.env/lib/python3.8/site-packages/magicicadaprotocol/client.py", line 40, in <module>
    from magicicadaprotocol import (
  File "/home/nessita/projects/magicicada/magicicada-client/.env/lib/python3.8/site-packages/magicicadaprotocol/delta.py", line 30, in <module>
    from magicicadaprotocol import protocol_pb2
  File "/home/nessita/projects/magicicada/magicicada-client/.env/lib/python3.8/site-packages/magicicadaprotocol/protocol_pb2.py", line 33, in <module>
    _descriptor.EnumValueDescriptor(
  File "/home/nessita/projects/magicicada/magicicada-client/.env/lib/python3.8/site-packages/google/protobuf/descriptor.py", line 796, in __new__
    _message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates

We need to upgrade magicicada-protocol so the _pb2.py files are generated with a newer protoc and then we can bump protobuf version.

Authentication error leaves daemon in forever WAITING state

If syncdaemon is executed with an invalid credentials value, such as:

bin/ubuntuone-syncdaemon --auth=$MAGICICADA_AUTH --server=magicicada-server:21101 --logging_level=DEBUG --debug

and MAGICICADA_AUTH is not defined, action queue shows these errors:

2022-10-19 13:09:34,888 - magicicadaclient.syncdaemon.interaction_interfaces - INFO - connect: args (<magicicadaclient.syncdaemon.interaction_interfaces.SyncdaemonService object at 0x7f414b8e6670>,), kwargs {'autoconnecting': True}.
2022-10-19 13:09:34,888 - magicicadaclient.syncdaemon.interaction_interfaces - DEBUG - connect: auth credentials were given by parameter.
2022-10-19 13:09:34,888 - magicicadaclient.syncdaemon.event_queue.EventQueue - DEBUG - push_event: SYS_USER_CONNECT, kwargs: *
2022-10-19 13:09:34,888 - magicicadaclient.syncdaemon.event_queue.EventQueue - ERROR - Error encountered while handling: SYS_USER_CONNECT in <magicicadaclient.syncdaemon.action_queue.ActionQueue object at 0x7f414e773d00>
Traceback (most recent call last):
  File "/home/nessita/projects/magicicada/magicicada-client/magicicadaclient/syncdaemon/event_queue.py", line 349, in _dispatch
    method(**kwargs)
  File "/home/nessita/projects/magicicada/magicicada-client/magicicadaclient/syncdaemon/action_queue.py", line 837, in handle_SYS_USER_CONNECT
    username=access_token['username'],
KeyError: 'username'

and the daemon gets stuck in:

State: WAITING
    connection: With User With Network
    description: waiting before try connecting again
    is_connected: False
    is_error: False
    is_online: False
    queues: IDLE

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.