Giter Site home page Giter Site logo

pixelated / pixelated-user-agent Goto Github PK

View Code? Open in Web Editor NEW
158.0 29.0 74.0 52.68 MB

User facing components of Pixelated: a JavaScript single page app and a RESTful service.

License: GNU Affero General Public License v3.0

Puppet 0.38% Python 46.89% HTML 2.82% JavaScript 41.49% Shell 1.32% Makefile 0.36% CSS 5.47% Ruby 0.32% Gherkin 0.95%

pixelated-user-agent's Introduction

Pixelated User Agent

CircleCI Coverage Status Stories in Doing

The Pixelated User Agent is the email client of the Pixelated ecosystem. It is composed of two parts, a web interface written in JavaScript (FlightJS and React) and a Python API that interacts with a LEAP Provider, the email platform that Pixelated is built on.

Here's a podcast that explains the project.

Pixelated is still in early development state!

High level architecture User Agent

Installing Pixelated as a Service

To run your own instance of Pixelated, follow these instructions: https://github.com/pixelated/puppet-pixelated#manual-installation

Installing Pixelated for Development

If you want to run and test it locally, then before you have to install the following dependencies:

Option 1: Run Pixelated User Agent against an existing LEAP provider

  1. If you don't have access to an existing LEAP provider, you can create an account at Bitmask mail demo provider.

  2. Clone the Pixelated User Agent repo and start the virtual machine (downloads 600MB, you may want get a coffee or tea in the meantime):

    $ git clone https://github.com/pixelated/pixelated-user-agent.git
    $ cd pixelated-user-agent
    $ vagrant up
    
  3. Log into the VM:

    • You can access the guest OS shell via the command vagrant ssh run within the pixelated-user-agent folder in the host OS.
    • /vagrant in the guest OS is mapped to the pixelated-user-agent folder in the host OS. File changes on either side will reflect in the other.
    $ vagrant ssh
    $ cd /vagrant
    
  4. Start the pixelated user agent:

    $ pixelated-user-agent --host 0.0.0.0 --multi-user --provider=mail.bitmask.net
    

    You also have other ways to start the user agent. Check the "Single User Mode vs Multi User Mode" page.

  5. Go to localhost:3333 on your browser. You should see the login screen, where you can put your username and password created on step 1. Once you login, you'll see your inbox.

    First time email sync could be slow, please be patient. This could be the case if you have a lot of emails and it is the first time you setup the user agent on your machine.

Option 2: Run Pixelated User Agent against a local LEAP provider

We suggest you to use the following instructions:

Contributing

You are most welcome to contribute to the Pixelated User Agent code base. Please have a look at the contributions guide.

If you want to contribute as a designer or XD, see the issues labeled 'Needs Prototype' for some ideas of where to start!

Useful links

And much more in our wiki pages

pixelated-user-agent's People

Contributors

albogabriel avatar anikarni avatar bwagnerr avatar ckluente avatar cz8s avatar deniscostadsc avatar dudadornelles avatar fabiopio avatar fbernitt avatar felixhammerl avatar giovaneliberato avatar jnews0n avatar kaeff avatar lisajunger avatar navalandrianjafinandrasana6666 avatar neissi avatar olabini avatar pereiragislene avatar pmaia avatar rafaelzlisboa avatar rdevries-thoughtworks avatar schaffer avatar shyba avatar sw00 avatar tayanefernandes avatar thaissiqueira avatar tiagoferraz avatar tuliocasagrande avatar varac avatar zariye avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pixelated-user-agent's Issues

Add keyboard shortcuts

Shortcuts

  • Previous mail on the list/move up: Up or "k"
  • Next mail on the list/move down: Down or "j"
  • Check current email's checkbox: x
  • Close open email: Esc
  • Send: Command/Control + Enter
  • Compose: c
  • Focus on search input: / or "s"
  • Tag email (open "new tag" input): t
  • Open keyboard shortcuts map: ?
  • Reply: r
  • Reply to all: a
  • Forward: f
  • Delete: #

Note: all shortcuts but "Close open email" are disabled when composing emails.

Shortcuts map window

Open by pressing "?" or by choosing "view keyboard shortcuts" on the User Settings window:

image

image

Background color: #3E3A37 (opacity 90%)

Fonts:

  • Open sans regular for the header (Color: #FFFFFF)
  • Open sans light for the shortcuts (#FF9C00 for the actions, #FFFFFF for the keys)
  • Font awesome for the icons (Color: #FFFFFF - Check their cheatsheet for more details)
    • Keyboard: fa-keyboard-o
    • Close: fa-close

Add keyboard shortcut for jumping to tag

We should have a keyboard shortcut that when pressed brings up a modal dialog/lightbox where you can type in the name of a tag (or a search) and you will be taken there.

Send one or more attachments

Sender side: select a file using regular "browse" button
Recipient side: Displaying attachment icon on the received email

Must have additional story for whitelists, etc.

Add help

It should be possible to get help on the system. Help will show the keyboard shortcuts but also explain how to do some things.

Style guide 1.0

Basic style guide layout, structure and information; sections will (likely) be:

  • Colors
  • Typography
  • Components
  • Icons
  • Guidelines
  • Grid

This issue is being called "1.0" because the style guide will be continually updated and changed according to upcoming changes in the product's identity.

Will be static and reside in githubpages.

Acceptance criteria:

  • basic information of at least the four first items.

Change "You are not authorized to see this message" to add more information about what happened

@bwgpro: most of the time you receive a message that you can't decrypt it is because:

  • You are not the intended recipient of the message or
  • The message was encrypted with an old key you don't use anymore

In this case, if we are going the user friendly way, I think the message could contain possible causes for the error instead of 'this error happened'

@olabini: actually the first one is not very common at all. The two cases that are likely is encryption to an old/deprecated key of some kind or the case when the decryption failed because the message was tampered with/got corrupted in transit.

Save search to left pane

"Your saved searches" - Ad hoc tagging

@olabini: Unclear about where we save information about saved searches and other configuration information for a specific person. Maybe this belongs in the persona management on the server side.

Saved search should probably show up below the Default folders but above the tag-folders. Thoughts from UX on this?
We might also consider being able to expand the list of saved searches if there are many of them, like GMail allows you to do with Folders.

Spam filter

Must define strategy, may need many stories

Allow bulk tagging for existing tags

In order to avoid selecting and tagging messages one by one, it should be possible to assign the same existing tag to multiple messages at once.

@albogabriel @sahrosa to provide UX info.

Given that many messages are selected, when the user chooses to assign an existing tag to them, all messages become tagged.

Out of scope:
Removing messages from the inbox
Removing an assigned tag from a set of messages
Assigning a new tag (non-existing yet) to multiple messages

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.