Commit Graph

706 Commits

Author SHA1 Message Date
822feb2497 Cache user permissions between calls 2015-06-16 17:18:02 +09:30
f6e6090131 Add todo about query optimization 2015-06-16 16:59:48 +09:30
320180efc4 Remove total results from discussion searching
It’s too inefficient (requires a whole table scan) to do a query like:
select count(*) from discussions where [conditions determining
visibility]
2015-06-16 16:58:10 +09:30
385ebf012d Add a serializer and API action to get information about the forum 2015-06-15 12:18:20 +09:30
7295cffd32 Maintain scroll position when hiding the composer 2015-06-15 12:17:19 +09:30
cf7b6974bc Don't add duplicate posts to a discussion 2015-06-15 08:59:57 +09:30
da461b1be7 Prefer passing an array to ServiceProvider::extend 2015-06-15 08:59:33 +09:30
435880733d Update permissions 2015-06-12 16:41:46 +09:30
9ef431a542 Fix saving of to-many relationships 2015-06-12 16:41:13 +09:30
42f7d61a49 Add a separator above the delete control 2015-06-12 16:40:57 +09:30
4286243b75 Return a promise from the new discussion action 2015-06-12 16:40:47 +09:30
fe94f2a123 Make the FormModal component more flexible 2015-06-12 16:40:20 +09:30
333bb3529d Move between title/post inputs with return and backspace keys 2015-06-12 16:37:43 +09:30
8542152c09 Don't pad the body when the composer is minimized 2015-06-12 16:37:19 +09:30
65df4c3a33 Add English locale template to extension stub 2015-06-11 18:45:31 +09:30
0ca7003a35 Add missing import in extension stub JS 2015-06-11 18:45:17 +09:30
f67ad7ab98 API: Reorder Extend\Relationship arguments 2015-06-11 18:42:49 +09:30
b6306efe01 Add newline in-between JS files, in case last line is a comment 2015-06-11 18:42:26 +09:30
443a231aa5 Increase text contrast
I think you will like this change @franzliedke :)
2015-06-11 18:42:05 +09:30
f667313cc2 Improve ordering of list items when specified key doesn't exist 2015-06-11 18:41:13 +09:30
cc6113243a Don't anchor scroll when the top of the page has been reached 2015-06-11 18:40:21 +09:30
914528d6c4 Fix scrolling to first post not working 2015-06-11 18:39:36 +09:30
548f2879de Fix incorrect visible range in post scrubber 2015-06-11 18:39:12 +09:30
4ded9906bd Fix sort menu not displaying the current option 2015-06-11 18:38:48 +09:30
2180e15757 Fix incorrect highlighting of post excerpts 2015-06-10 14:42:14 +09:30
f82aaa82a5 Lay the groundwork for translation & refactor asset compilation
Ditched the idea of having language packs as extensions. Reasoning:

1. Because we use machine keys for translations (rather than English
keys), extensions need to be able to define default translations. If
English translations are to be included in extensions and not in a
language pack extension, then it doesn’t make sense to have other
languages as language pack extensions. Inconsistency → complexity.

2. Translations should maintain version parity with their respective
extensions. There’s no way to do this if extension translations are
external to the extension.

Instead, localisation will be a core effort, as well as a per-extension
effort. Translators will be encouraged to send PRs to core + extensions.

In core, each locale has a directory containing three files:
- translations.yml
- config.js: contains pluralisation logic for the JS app, as well as
moment.js localisation if necessary
- config.php: contains pluralisation logic for the PHP app

Extensions can use the Flarum\Extend\Locale extender to add/override
translations/config to a locale.

Asset compilation has been completely refactored with a better
architecture. Translations + config.js are compiled and cached for the
currently active locale.
2015-06-10 14:23:56 +09:30
fbbeebbdee Clean up, use time helper rather than util 2015-06-10 13:59:25 +09:30
0e15aafed7 Externalize babel helpers.
Saves 2kB after minify+gzip :D
2015-06-08 15:28:45 +09:30
1826d15970 Clean up extension stub. 2015-06-08 15:05:35 +09:30
1c80a509f1 Use new flarum-gulp package. 2015-06-08 14:57:23 +09:30
b28bf04e5a Remove old code. 2015-06-08 14:57:05 +09:30
e7f2e62cec Load extensions from the root directory, with precedence. 2015-06-08 14:56:49 +09:30
a41d02f030 Add extension generator command. 2015-06-08 14:56:19 +09:30
ef73b0cabb Clear bio HTML cache when saving bio 2015-06-08 09:50:07 +09:30
7ea3252776 Make composer sliding animation less jumpy when replying 2015-06-08 09:47:28 +09:30
4a2d0ad76e Make HTMLPurifier config extensible; allow images 2015-06-08 09:37:30 +09:30
4b92840fde Prevent formatter from being invoked if bio is empty 2015-06-08 09:34:39 +09:30
c1af216872 Fix user profile activity regression 2015-06-07 10:12:48 +09:30
62dac9b1ee Usernames must only contain alphanumeric chars/dashes/underscores
Perhaps we can relax this a little bit, but right now these are the
only characters that are parsed for @mentions anyway
2015-06-04 11:19:23 +09:30
73cee225c6 Fix error 2015-06-04 11:12:04 +09:30
6144e427d2 Really rough fulltext driver implementation 2015-06-04 11:11:56 +09:30
944e5c649c Rejig formatting API. closes flarum/core#85
It works but it’s not the most pretty thing in the world. @franzliedke
Would be great if you could take a look at the whole formatting API and
work your magic on it sometime… my brain is fried!
2015-06-04 10:48:07 +09:30
80f766127a Allow <hr> in posts 2015-06-03 18:12:15 +09:30
e73c21779e Style tweaks 2015-06-03 18:11:43 +09:30
920ad4f04f Implement search on front end 2015-06-03 18:10:56 +09:30
f1a7e8c115 Fix composer only sliding down some of the way 2015-06-03 18:06:39 +09:30
c42627b46d Add HTMLPurifier after formatters are run.
After a morning of searching, it seems there is no PHP Markdown library
that has built-in XSS/sanitization support. The recommended solution is
to use HTMLPurifier.

This actually works out OK, though, as it’s probably a good idea to
enforce sanitization regardless of which formatters are enabled, and to
not leave them with the responsibility of sanitization (it’s a big
responsibility). Since we cache rendered posts, the slow speed of
HTMLPurifier isn’t a concern.

Note that HTMLPurifier requires a file to be loaded by Composer, but
Studio does not yet support this, so for now I have included it
manually.
2015-06-02 11:36:25 +09:30
306b79b22a Password cannot be null 2015-06-01 17:55:52 +09:30
1b57eb3c9b Fix error on account registration 2015-06-01 17:55:41 +09:30
c70122c449 Make user activity posts more compact 2015-06-01 17:55:13 +09:30