Giter Club home page Giter Club logo

cypht's People

Contributors

adrienmaloba avatar alvinbm avatar azibom avatar elvisans avatar eric-ampire avatar fvbor avatar hartois avatar henochit avatar henrique-borba avatar herurgvvr avatar hiroshitoda avatar jacob-js avatar jasonmunro avatar jeanpaulhamuli avatar josaphatim avatar kamberebr avatar kmpoppe avatar kroky avatar landryb avatar lyabs243 avatar magneticdud avatar marclaporte avatar mmarcwabo avatar mnsuccess avatar nasserngandu avatar revisto avatar shadow243 avatar xorti avatar yannick243 avatar yvesdaxmaz 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  avatar

cypht's Issues

PHP Fatal error: Class 'Hm_Auth_IMAP' not found

I copied the sample ini file and the only thing i changed is auth_type=IMAP.

PHP Fatal error:  Class 'Hm_Auth_IMAP' not found in /var/www/cypht/hm3-master/lib/session.php on line 118

I am aware that the comment says the imap module must be enabled but it is present in the "modules" line at the end of the file. Am I missing something, is there something else what needs to be done? I din't find a hint what to do.

Sending sometimes logs the user out

This appears to be a race condition between submitting a message to be sent and background requests, but I'm unsure why it logs the user out. The outbound message is sent, which is even weirder. I have disabled the send button while the background draft saving occurs which helps, but there is still something fishy going on here.

Outbound attachments

We need a system to attach files to outbound messages. I want files to be encrypted with the long hm_session key (uploaded but orphaned files are a problem), then un-encrypted just in time for sending. While we are at it, we should think about "compose sessions". By that I mean, opening multiple compose pages could result in an outbound E-mail containing an inadvertent attachment (meant for a different compose instance).

Enhancement: support for filtering emails

Are there any plans to support message filtering? It would be sufficient to provide just a list of extended regular expressions applied line-by-line on all headers and a list of actions for each regexp in case it matched.

Importing Contacts

What is your long term plan for contacts? Is there a way to import them currently? So far I am very impressed. This is exactly what I have been looking for.

HTML messages should have a download link at least

Hello

Currently if an IMAP message is composed in HTML only, nothing is shown in inline message view

Markers are:

Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

We should have a line like below at least.

text / html             7bit            utf-8       Download

A nice-to-have is a "View" link to open the content part in a popup window. It is useful when you trust the sender and don't want to download the html to read it.

Enhancement: support for user tagging

Some very basic tagging/labeling (so that it doesn't bloat the user interface) with filtering based on these tags/labels would be nice to have.

The implementation would use just IMAP flags/keywords (see an older short article with useful hints: http://deflexion.com/2006/05/server-side-message-labels). And of course, I wouldn't pay attention to Mozilla-based clients etc. and just left the default tag set blank without any presets. I.e. solely up to the user what the tags will be (if the user wanted old-thunderbird-compatible tags, then he can just write them as $My_awesome_tag4 to exchange the fourth Mozilla tag with this one).

Redirect Loop

Issue

I have just installed the current master version according to the installation instructions. Whenever I try to access the generated (and symlinked) site folder, I get stuck a redirect loop. The symlink is not the problem, as copying the folder to the site root does not work either.

I have included an excerpt from the Apache access log below. The error log does not show anything.

Apache Access Log

[...]
84.46.xxx.xxx - - [11/Feb/2016:19:44:07 +0100] "GET /cypht/ HTTP/1.0" 303 354 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103 Safari/537.36"
84.46.xxx.xxx - - [11/Feb/2016:19:44:07 +0100] "GET /cypht/ HTTP/1.0" 303 354 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103 Safari/537.36"
84.46.xxx.xxx - - [11/Feb/2016:19:44:08 +0100] "GET /cypht/ HTTP/1.0" 303 354 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103 Safari/537.36"
84.46.xxx.xxx - - [11/Feb/2016:19:44:08 +0100] "GET /cypht/ HTTP/1.0" 303 354 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.103 Safari/537.36"
[...]

Environment

nginx/1.8.1 (reverse proxy)
Apache/2.4.7 (application server)
PHP 5.5.9-1ubuntu4.14
Ubuntu 14.04.3 LTS

Add more classes to enhance styling possibilities

By now the source (Account /Feed Name) is only available in a TD element inside of a TR element. if the source is added as a class, users can add their own styling based on the account.

The Unseen class is in a DIV that is a child of the subject TD. I think that class should also be given to the TR element, so that styling of the complete message in the list is possible.

Improve Github message view

Viewing the message details from a github message leaves a lot to be desired. There is no page title at all, and no context about what the message refers to (new commit, new issue, etc).

Web based configuration script

Currently we have a set of CLI scripts to create the Cypht configuration and add/remove/modify user accounts (when using the DB authentication method). It would be great to have a web based version of these to make installation easier, especially for shared hosting environments.

Problem with config generation

After latest git pull (commit a9be096), I have the following output :

# php scripts/config_gen.php

scanning module core ...
scanning module contacts ...
scanning module feeds ...
scanning module imap ...
scanning module smtp ...
scanning module site ...
scanning module account ...
scanning module idle_timer ...
scanning module calendar ...
scanning module themes ...
scanning module nux ...
scanning module developer ...
scanning module github ...
scanning module wordpress ...
scanning module history ...
scanning module saved_searches ...
scanning module nasa ...
sh: 431: 1: not found
sh: echo: I/O error
site.css file created
sh: 2906: 1: not found
sh: echo: I/O error
site.js file created
hm3.rc file written
creating production site

I don't know if it could be related to my setup or not (site.css is 0 byte)

Autocomplete on the compose page is not great

The main problem here seems to be latency introduced by having gmail contacts included in the autocomplete search results, which causes the autcomplete list to be laggy and update even after making a selection. We should cache those contacts in the session, and continue to tweak and improve the javascript.

Prepopulate port fields for "Add server"

When I was adding IMAP servers I always had to type "993" into the port field. It would be nice if those port fields are prepopulated with meaningful values. I'd suggest
IMAP: 993
POP3: 995
SMTP: 465

Compose page features

The compose page is very limited right now, it needs:

  • Cc/Bcc support
  • attachments (once a system is built for that)
  • proper reply formatting
  • saving of sent message outside auto-save via Gmail
  • probably more

Enhancement: support for more content types

Nowadays it's quite common to send e.g. calendar invitations by email. Such email may have many Content-Type: headers. E.g. Google Calendar sends:

Content-Type: multipart/mixed
Content-Type: multipart/alternative
Content-Type: text/plain
Content-Type: text/html
Content-Type: text/calendar
Content-Type: application/ics

The ics part has Disposition: attachment, but all others are "inline". It would be very nice to have separate viewers (e.g. as Cypth modules) for different types - I can think of 3 basic ones (text/plain, text/html, text/calendar) and one more as my little personal wish (text/x-markdown and text/markdown). These viewer might be configurable (e.g. it's insecure to download all embedded/linked images when viewing the text/html content, so in configuration there would be a choice "show immediately" or "show a button load images" instead by default).

The goal would be to allow switching between them on demand. In a long run, some semantics can be used - e.g. the text/calendar viewer might render it using schema.org under the hood or provide direct links accept deny tentative in case you have a Gmail account.

Event support for the calendar

We need vcard based event support. We should allow saving events in both the db and the filesystem just like user settings.

Translation hickup in title bar

When checking for translation, I saw that accentuated chars are displayed as raw html in the top-right bar where there is the filter information, namely the scan delay (è is rendered as è). This does not occur on other areas like menu or main parts. The title of the right area (the one after the check-box) displays the right accentuated character.

Contacts

We need both an internal contacts system, and the ability to interact with other contact/address sources. A standard internal contact system is almost done, the main thing that needs attention is how it's used on the compose page. I started an auto-complete system, but it needs work!

Raw view cannot be undone

If I choose to display the raw view of the message, I got it again if I go back to this message in the same session.

I suggest that clicking again on "Raw" will hide it.

IMAP authentication doesn't work

My setup is: ArchLinux + PHP + PHP-FPM + Dovecot. I am no expert in this stuff. So...

  1. I didn't edit hm3.ini. Because i didn't find anything to edit. As it was seemed to me, default IMAP authentication is ok.
  2. php ./scripts/config_gen.php created site for me.
  3. I was able to access site. I got login form, filled it with my account name and password, hit login button, and the i got login form again. Dovecot writes to its logs about login attempt, but it looks like
imap-login: Disconnected (no auth attempts in 0 secs): user=<>

So... What i'm doing wrong?

Can only view emails in 'INBOX'

Even when I have multiple accounts added, I can only view the emails under their direct inbox. 'Email => All', 'Main => Everything', and 'Main => Unread' all tell me I'm 'so alone'....

Interface language clean up

Many of the interface languages were generated with the google translate api - from what I have been told they are hilariously bad. Remove these and leave the 2 (?) actual translations.

Add missing strings per the debug output for each page to the remaining translation files

minor: address autocompletion is too strict

In modules/contacts/site.js autocomplete_contact() there is a check for minimal length of the requested string. 4 is used as minimum, which is in my opinion not necessary as in practice we're interested in every single character, because of emails of very short length and very long length [email protected] [email protected] [email protected] [email protected] Andreas Withe Super Extra Long German Name <andreaswithsuperextralonggermanname@superextralongdomainbecausewecan.com> being next to each other. I wouldn't worry about the overhead introduced by changing the minimum to 1 as nobody types thousands of requests per second (so AJAX and PHP would be fine) and regarding the backend DB, it's suited for such load.

Also, I wonder if contact_suggestions[i] in autocomplete_contact_results() shouldn't be converted to HTML tag attribute compatible string as according to https://tools.ietf.org/html/rfc2822#section-3.4 , the domain part can contain really interesting characters potentially invalid in attribute strings (non white space controls, character references, ", ' to name a few). I myself wouldn't trust at all that the DB content is clean ;)

Fatal error: Can't use method return value in write context

I just wantet to try out cypth but when accessing the page i get

Fatal error: Can't use method return value in write context in /var/www/cypht/hm3-master/modules/core/modules.php on line 848

It doesent matter, if I use the main dir or the site dir as document root.

# php -v
PHP 5.4.39-0+deb7u2 (cli) (built: Mar 25 2015 08:33:29)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

Some messages don't get saved in the history list

The idea behind this module set is simple: Use javascript to capture a list of URLs and details about the messages you have viewed since logging in. Use this data to display a simple list of message history to make it easier to jump back to something you read earlier. For some reason (probably multiple reasons) it fails to capture all messages in the list.

Deleting messages doesn't work

When I select a message and click delete, the message is still in the folder where it was located before. Also, it takes me back to the 'Home' screen; it would be nice if it could redirect me to the same page where I was before. Even better, asynchronous call?

Don't delete SMTP Server fields when port is wrong

I've tried to add a SMTP server and I have chosen the wrong port. The connection failed and my input (not much, only the account name and the server address) was lost because the side reloaded. Having the fields prepopulated with the values of the last try would be more comfortable.

Add more account management features

The account module set only supports creating new accounts. We should add support for deleting accounts, updating passwords, and viewing the current account list. These features are only applicable when using the DB auth configuration setting.

Themes cleanup

Lots of development has happened since the themes module set was created. Themes all need to be reviewed for issues

"compose" sessions

Currently there is only one server side draft saved when you open the compose page and write an outbound message. This is fine unless you open multiple compose pages. We need to introduce the concept of a "compose session" that ties the server side draft to the compose page instance so we can properly support multiple compose windows simultaneously.

Encrypting local storage causes character set issues

for some reason using the forge.js encryption on a value stored in local storage causes the decrypted value to have incorrect character encoding. It's likely not a bug in forge itself but something we are doing incorrectly. I added a comment to the ini file that this setting is experimental and should be avoided for now. The problem appears to be triggered when a string with a non-ascii character is pulled from the DOM using zepto then stored in the local storage. Open retrieval non-ascii chars are munged.

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.