023ec9a976
Every time the password reset form was loaded, the form submit event listener was attached to a non-disposable DOM node rather than the DOM node whose life scope was bound to the viewed page. As such, submitting the form, leaving the page, returning back to it and sending the request again caused the 'submit' event to fire twice - one time from the non-disposed event handler and one from the current handler. This resulted in the request being sent twice, and getting two confirmation messages on the screen. Fortunately, since the password reset requests are GET requests, they're intercepted by the internal cache of the client API facade, so the client just saw duplicate messages without the requests being actually sent to the backend - meaning no extra mails were sent. |
||
---|---|---|
client | ||
server | ||
.gitignore | ||
API.md | ||
INSTALL.md | ||
README.md | ||
config.yaml.dist |
README.md
This repository is under the process of being rewritten. Stay tuned! You can check the current progress on client here and server here.
The reasons behind this rewrite include:
- Improving user experience: better upload form, larger thumbnails, making top navigation stay out of user way. Maybe other goodies!
- Finally having good, well-documented REST API.
- Simplifying user registration.
- Replacing PHP with Python 3.5.
- Replacing prior JS mess with proper MVC.
- Replacing MySQL (MariaDB) with Postgres.
- Replacing
composer
,npm
,mod_rewrite
(=Apache),imagick
,ffmpeg
orgnash
andpdo_mysql
with justpip
,npm
andffmpeg
. - Replacing
grunt
withnpm
scripts. - Making hosting more flexible: offer simple self hosted application that can be combined with any reverse proxy.