Commit Graph

8920 Commits (9e3263acbec9e89686d15424fa1f7c271b9ca4fd)
 

Author SHA1 Message Date
Aleksander Machniak 4921c21cff Optimize SELECT response handling 9 years ago
Aleksander Machniak 344b0af9c6 Indicate that a collapsed thread has flagged children (#5013) 9 years ago
Aleksander Machniak 21e485ad50 Fix redundant enigma.css link 9 years ago
Aleksander Machniak de14ec6aa0 Merge branch 'for-1.3'
Conflicts:
	CHANGELOG
9 years ago
Aleksander Machniak 9796cd2063 Merge branch 'dev-rfc822-preview'
Conflicts:
	CHANGELOG
	program/steps/mail/show.inc
9 years ago
Aleksander Machniak 56f9883d84 Update to jsTimezoneDetect 1.0.6 9 years ago
Aleksander Machniak 9634169647 Bump version number to 1.3-beta 9 years ago
Aleksander Machniak bd6d7645d7 Update localization 9 years ago
Aleksander Machniak 667ed37f77 Fix bug where Encrypt button appears when switching editor to HTML (#5235) 9 years ago
Aleksander Machniak 5194120221 Add Known Issues section in Enigma README (#5215) 9 years ago
Aleksander Machniak 013aaeb895 CS improvements/fixes 9 years ago
Aleksander Machniak 0eece8222b Fix autoloading of 'html' class and improve autoloader performance 9 years ago
Aleksander Machniak e499a14e13 - Support 'duplicate' extension [RFC 7352]
- Improve errors handling in filter form
9 years ago
Aleksander Machniak 5d08d57005 Don't log ajax requests/responses, browser development tools already can show this information 9 years ago
Aleksander Machniak ef12008b69 Merge branch 'master' of github.com:roundcube/roundcubemail 9 years ago
Aleksander Machniak 8935587a59 Fix bug where contact search menu fields where always unchecked in Larry skin 9 years ago
Aleksander Machniak 5e406f7b7e Disable links list when converting html2text for spellchecking 9 years ago
Aleksander Machniak 78cf9c2e5c Update requirements section 9 years ago
Aleksander Machniak 1da8ffd52b Use "email" over "e-mail" consistently (#5212) 9 years ago
Aleksander Machniak bf3b07aeef Merge branch 'master' of github.com:roundcube/roundcubemail 9 years ago
Aleksander Machniak 7abfe41ab7 Fix bug where getting HTML editor content could steal focus from other form controls (#5223) 9 years ago
Aleksander Machniak 317372f046 Merge pull request #5227 from oGGy990/master
Fix ldap connection use after release in password plugin
9 years ago
Oliver Ney 5f2df36879 Fix ldap connection use after release in password plugin 9 years ago
Aleksander Machniak 7dad859ffa Fix message list multi-select/deselect issue (#5219) 9 years ago
Aleksander Machniak f0fa9324d8 Merge branch 'master' of github.com:roundcube/roundcubemail 9 years ago
Aleksander Machniak 52106ffd39 Fix bug where rcube_contacts::get_record() could return cached result when requested record wasn't found (#5218) 9 years ago
Aleksander Machniak 80eb845253 Make sure width of date selector in search menu is not too big with non-english locales 9 years ago
Aleksander Machniak 5b94c5af08 Fix plugin name in composer.json 9 years ago
Aleksander Machniak 6e4642b12c Enigma: Add enigma_debug option 9 years ago
Bostjan Skufca 12756e2297 Autocomplete: store last searched-for string into separate variable for later consumption
Reason:
Autocompleting person contacts works as expected - ksearch_value is available and passed to triggerEvent.
But with group autocomplete, ksearch_value is reset (to null) and triggerEvent call lacks necessary data.
9 years ago
Bostjan Skufca f919e8ffa6 Autocomplete: change type from 'contact' to 'person' to sync with what is expected from LDAP.
Explanation:
Alternative would be to leave type empty, as it is when contact comes form SQL source.
But this feels overly ambiguous and may cause problems in the future.
9 years ago
Bostjan Skufca 1791c3e3d7 Autocomplete/frontend: provide functions that hook into 'autocomplete_insert' actual search and result data
Reason:
In order to enable development of sophisticated autocomplete algorithms, they will need
to process all the data relevant to autocomplete - what was the search string and which
result was the correct one.

Example to illustrate the need:
Say we are talking about these two people of interest, who are in the address book, among others:
- person 1: Bostjan Skufca <bostjan@a2o.si>
- person 2: Bostjan SkuBIC <bostjan@otherdomain.com>

Our user is used to think about the first person by the first name, "Bostjan", as he is an old friend.
The second one is a colleague at work where people call themselves mostly by surnames, "Skubic" in this case.

Without this data provided to 'autocomplete_insert', there is no way for RC to learn that when our user
enters "bos" in the To: field he thinks about person #1 (Bostjan SkuFCA), and when he starts typing "sku"
he means person #2 (Bostjan SkuBIC).
9 years ago
Bostjan Skufca 05c7d49a37 Autocomplete search: add id and source (addressbook) into resulting contact data array
Two reasons:
- provide it to plugin backend functions that use 'contacts_autocomplete_after' hook
- provide it to frontend

Why to frontend?
If plugin JS adds an 'autocomplete_insert' hook we need to provide it with exact
autocomplete data. Providing it with name and email address only, without pinpointing
exact origin of this autocomplete result, will severely limit learning capabilities of
potential future autocomplete implementations.
9 years ago
Bostjan Skufca a15b2d5998 Autocomplete refactoring: replace variable name '$id' with '$abook_id'
Reason:
Having genericly named variable $id in nested loops makes code unreadable.
Replacing generic name '$id' with '$ENTITIY_id' format removes all ambiguity.
9 years ago
Bostjan Skufca ed55af4aa9 Autocomplete: trigger "contacts_autocomplete_after" hook processing
Provide existing list of contact suggestions as an argument - it might be unclear
now what logic plugin developers decide to implement, but data for that logic
should be provided upfront, and that includes list of suggestions that RC
itself comes up with.

Plugin logic might then replace the list entirely, or just rearrange its entries, or use
part of the list when it runs out of own ideas, or do something entirely different.
9 years ago
Bostjan Skufca 865230e420 Autocomplete: fix undefined variable notice if no addressbook is configured for autocomplete 9 years ago
Aleksander Machniak e2e56261b9 Fix handling of long script/style tags when converting to text 9 years ago
Aleksander Machniak 302aff920c Small code improvement 9 years ago
Aleksander Machniak e2ff7985db Small optimization in sieve script parser 9 years ago
Thomas Bruederli 3b77a54ecd Add version 1.2-rc 9 years ago
Aleksander Machniak a0f38f5fd8 Small code style improvements 9 years ago
Aleksander Machniak e8ab3d96bd Fix converting mail addresses with @www. into mailto links (#5197) 9 years ago
Aleksander Machniak 4bb44c3d90 Enigma: added option to force users to use signing/encryption 9 years ago
Aleksander Machniak d01c06eded CS fixes 9 years ago
Aleksander Machniak 463d07824e Merge pull request #5194 from bostjan/optimization/make-thread-listing-faster
Make rcube_result_thread::revert() faster
9 years ago
Bostjan Skufca 70a8236cd5 mailbox/listing: Make server response for large mailbox listing faster when using threaded view
Symptom
=======
When using roundcube with mailboxes with over 60k messages, list
view was way faster than viewing in threaded view.

Mailbox index view timing:    ~360 ms
Mailbox threaded view timing: ~800 ms

Resolution
==========
Use native PHP array manipulation functions instead of rolling custom
string data reversal implementation using strpos() and substr() in a
'while' loop.

This optimization is already present in index view handler, but was missing
from threaded view.

Results after optimization
==========================
Both average out around ~360 ms response time.
9 years ago
Aleksander Machniak 4fdcd8c9d1 Remove redundant code 9 years ago
Thomas Bruederli 6bebdc5677 Transliterate ticket IDs after migration to Github issues 9 years ago
Thomas Bruederli bd780ce707 Remove localization files from 3rd party plugins 9 years ago
Aleksander Machniak 80cb362b80 Managesieve: Refactored script parser to be 100x faster 9 years ago