contextio's People
contextio's Issues
Scroll through contacts using arrows
arrows in moreContacts.html should show next or previous 20 contacts depending on which arrows has been pressed
Add web hook for new mail
When a user is created a web hook needs to be created in context.io to notify our app of new mail. When new mail is retrieved for a selected contact the tone api should be called and both message and tone saved to the db.
Deleting an account doesn't clear the session.
Update add mailbox message for new users to reflect UI changes
Current message is:
Hey, you will need to add mailboxes before you can view contacts. Add a mailbox by navigating over to Mailboxes and entering an email address you want us to analyze
Mailboxes is under settings so I think that we should explicitly state where to find mailboxes by adding under settings to the message:
Hey, you will need to add mailboxes before you can view contacts. Add a mailbox by navigating over to Mailboxes under settings and entering an email address you want us to analyze.
Authomatic Exception when Cancelling Login
- Logged in to my existing email
- connect to localhost:5000
- See Login Page, I click, Login with Google
- Next Page, NousEQ would like to access... blah, blah for current google account that I am currently logged in
- I changed my mind, don't want to test with that account, I click cancel
trace:
authomatic.exceptions.CancellationError
CancellationError: access_denied
Traceback (most recent call last)
File "c:\python27\lib\site-packages\flask\app.py", line 1836, in call
return self.wsgi_app(environ, start_response)
File "c:\python27\lib\site-packages\flask\app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "c:\python27\lib\site-packages\flask\app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "c:\python27\lib\site-packages\flask\app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "c:\python27\lib\site-packages\flask\app.py", line 1477, in full_dispatch_request
rv = self.handle_user_exception(e)
File "c:\python27\lib\site-packages\flask\app.py", line 1381, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "c:\python27\lib\site-packages\flask\app.py", line 1475, in full_dispatch_request
rv = self.dispatch_request()
File "c:\python27\lib\site-packages\flask\app.py", line 1461, in dispatch_request
return self.view_functionsrule.endpoint
File "c:\Users\Lorenz\contextio\context\app\app.py", line 151, in login
session_saver=lambda: app.save_session(session, response)
File "c:\python27\lib\site-packages\authomatic\core.py", line 1331, in login
return provider.login()
File "c:\python27\lib\site-packages\authomatic\providers__init__.py", line 86, in
wrap
func(provider, _args, *_kwargs)
File "c:\python27\lib\site-packages\authomatic\providers\oauth2.py", line 379, in login
url=self.user_authorization_url)
CancellationError: access_denied
Remove "Shmuel Oren" [email protected] from production db
"Shmuel Oren" [email protected] is causing issues in the tone dashboard, but I am not sure way. The easiest solution is simply to remove this data from the database.
Sync contacts to MongoDB
In order to provide the best user experience with paging and search functionality I think we should sync the users entire contacts list to MongoDB.
Once sync'd this will allow #21 to be completed without repetitive API calls to context.
Hide the "Add mailbox form" after a user registers their first mailbox.
This feature will limit users to one mailbox per account. If the mailbox is removed, all associated data should be removed in the event the user adds a different account.
Update the Tone Dashboard screenshot in webpage
The Tone Dashboard screenshot is still the old one. New one already available.
Use Personality Info in DB if already populated
Do not call Watson Personality API if personality document from user(as ID'd by email) already exists in the Personality Collection.
User login issues
If a user enters incorrect login credentials the application incorrectly reports success. In some cases the application will display an error page.
We need to update the login click handler to correct respond the server returning login errors and display the correct messages to the user.
Buy SSL certificate for www.app.knowus.io
An ssl certificate is needed for www.app.knowus.io once purchased this will need installing on the AWS server.
Sync message to to MongoDB
It's been identified that calling get_messages with include_body causes the source to be disabled every time. This occurs even with a limit of 20 being set on the API call, the documentation states:-
include_body: integer - Set to 1 to include message bodies in the
result. Since message bodies must be retrieved from the IMAP
server, expect a performance hit when setting this parameter.
With this in mind I think that we should not be storing the email body and only get n message bodies for the analysis. We can sync the message meta data and display this in the UI with a call to get each message body one at a time.
Merge conflict
Added new tested features to a branch... I'm experiencing conflicts when trying to merge with master. I will resolve conflicts and try merge again.
Internal Server Error when trying to authenticate using google in production.
Add an account settings tab
To add an account settings tab where users can opt to delete their account which will remove their account from context.io and remove the necessary data from mongodb.
Stop UI polling for status after completion
When the user transition from pending_analysis = true to pending_analysis = false the UI status poller should be terminated.
Issues with analysis and saveContactInfo
The analysis process has an issue whereby if no messages are exchanged either sent or received the saveContactInfo overwrites the relationship data for the previous contact in the loop.
This will be update to ensure that the correct relationship is created with limited info.
Multiple charts appear on both tone & personality dashboards when new contact is selected
When selected a new contact from both dashboard pages, the existing chart data should be updated instead of an entirely new chart being created.
Allow user to search their contacts
When the initial mailbox sync is complete the application will show a list of 20 contacts for them to select from. This should be updated with paging and a search facility in addition to sorting (by name?)
No recalculation for new messages - tone (all cases) and personality (very few cases)
New messages to an already registered knowus.io user are displayed in the home page, but mongodb is not updated with the new tone recalculation and personality recalculation (if applicable-- ie personality was blank before new message came in due to Watson not reaching max word threshold, but with the new messages, personality calculation is now possible)
User personality display
The inbox.html view needs to be updated to display the user personality returned to the browser.
A D3 chart is proposed for displaying this data.
Create flask route for flattened user tone
It has been proposed that a flattened version with average tone be used to display average tone for the user and contacts.
A new route should be added that accepts { email: anEmailAddress } as json and returns the flattered tone selected from mongodb.
Contacts without name display as null
Contacts without a name display in the tone and personality dashboards as null. This should
be updated to display the email address instead when the name is null
Contacts page updates
The contacts page should be updated to allow adding and removing contact for analysis.
When a contact is removed the same logic that is applied in the route:
@app.route('/removeContact', methods=["POST"])
def removeContact():
When a contact is added, analysis for that contact should be performed but that is likely to require refactoring of the doAnalysis method.
Add remove contact
During the initial sync/analysis process the user can select contacts but removal doesn't work. This should be added so that when the remove button is clicked the contact is removed from the user.
In addition we should delete relationships for the contact where the user is the owner (hostemail), delete messages for the contact where user is the owner.
The delete account functionality doesn't fully remove the all the associated data.
Currently, the delete account functionality only removes the user from contextio and the users collection. It doesn't remove contacts and etc....
Get full user personality after all the contact messages have been analyzed
put the savePersonality out of the contacts loop to take advantage of all the messages sent by user to ALL contacts. this prevents an incomplete personality analysis
Enable logging in multiple python files
User inbox view
The inbox.html view needs to be updated to display the list of messages/tone returned to the browser.
For now this can be very basic in terms of style as the styling and look and feel will be updated later.
Handle error in ajax requests
The ajax request initiated by Angular need to be handled correctly. There are blocks defined for when errors occur but there is no logic in there currently.
Update login screen to match landing page
The look and feel of the app login screen should be updated to match the look and feel of the landing page. A new background image has been added to static/img taken from the landing header.
Menu is not collapsing correctly
The menu is too wide and the collapse in bootstrap doesn't occur early enough for medium width screens.
Grab messages after clicking on contact on contact list
- log in 2) hi john, here are your contacts.. select the ones you'd like to analyze --> select and there is a button the goes to the inbox route 3) inbox with the messages, analysis.. of the selected contacts
Displaying message tone
The inbox.html view needs to be updated to display the selected message tone as a D3 chart as proposed by Anmol.
Navbar does not properly render
Add BETA to the http://www.app.knowus.io page.
Update the mailbox functionality to support multiple mailboxes.
Currently, only the initial mailbox is used by the application(good thing for beta). When a user adds an additional mailbox, the contacts from those mailboxes does not get downloaded for analysis.
Deprecated Packages
Issue with module import in my virtualenv: pymongo.Connection is deprecated. This package will need to be updated. I will update this package when deploying and setting up mongoDB, test, and push to repo.
Add support for reactivating disabled sources
When an source in context.io get disabled it can be reactivated by posting to acounts/[id]/sources/[label]
and passing { status: 1 }. A status_callback_url can be added to the source that context.io will call when the status of the source changes.
When the callback is called if the status is Disabled or Temp_Disabled then we can update the status. This is a belt and braces approach, the real solution to disabled accounts is proper use of the APIs :)
Update redirect URI for login with Google
Personality dashboard fails when no email exchanged
If a contact is selected for no emails have been either sent or received the personality dashboard will fail.
We should update the getBig5 route called from the dashboard to correctly handle this scenario.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.