* merge upstream
* merge upstream again
* fix bug in text shorten