429 Commits

Author SHA1 Message Date
Toby Zerner
88b754ee8d Don't include deleted notifications in the unread count 2015-07-15 14:01:11 +09:30
Toby Zerner
0bb00e4eb2 Fix broken user activity syncer 2015-07-15 14:01:11 +09:30
Toby Zerner
ab6c03c0cc Massive JavaScript cleanup
- Use JSX for templates
- Docblock/comment everything
- Mostly passes ESLint (still some work to do)
- Lots of renaming, refactoring, etc.

CSS hasn't been updated yet.
2015-07-15 14:01:11 +09:30
Toby Zerner
42f1fa1272 Improve fulltext search API and interface 2015-07-07 20:35:18 +09:30
Toby Zerner
38c2ff0306 Finish client action refactoring. closes flarum/core#126 2015-07-07 19:23:13 +09:30
Toby Zerner
8a54b362c7 Add todos to document magic properties on models 2015-07-07 19:20:18 +09:30
Toby Zerner
54daad6e7d CSRF protection on logout action 2015-07-07 15:30:13 +09:30
Toby Zerner
99876e9e36 Initial refactor of client actions, data preloading, SEO
An initial stab at flarum/core#126. Still WIP. Preliminary
implementation of flarum/core#128 and flarum/core#13.
2015-07-07 15:29:21 +09:30
Toby Zerner
5fe88e448e Improve post stream
- Return all discussion post IDs from API requests which add/remove
posts, so the post stream updates appropriately. Related to #146
- Always unload posts that are two pages away, no matter how fast
you’re scrolling
- Retrieve posts from cache instead of reloading them
- Fix various bugs. Maybe #152, needs confirmation
2015-07-06 16:26:27 +09:30
Toby Zerner
01ec661c3f PSR-2 fixes 2015-07-05 21:46:57 +09:30
Toby Zerner
873088750f Remove Interface suffix from some classes 2015-07-05 12:30:23 +09:30
Toby Zerner
2cc619a998 Remove todo 2015-07-05 12:25:51 +09:30
Toby Zerner
53e269fd89 Extract model validation into a trait
Also use Laravel’s ValidationException rather than our own custom one
2015-07-05 12:25:08 +09:30
Toby Zerner
04501545e3 Move Group to its own namespace
We’ll need to add commands etc. for group management in the future
2015-07-04 19:30:58 +09:30
Toby Zerner
81170980e0 Don't error if trying to serialise a non-existent relationship 2015-07-04 18:39:43 +09:30
Toby Zerner
86811c6508 Get rid of Repository interfaces 2015-07-04 18:38:59 +09:30
Toby Zerner
f7b6d8a568 Merge 2015-07-04 12:28:50 +09:30
Toby Zerner
336c05e77a Clean up
Goddammit GitHub for Mac
2015-07-04 12:25:21 +09:30
Toby Zerner
a74b40fe47 Massive refactor
- Use contextual namespaces within Flarum\Core
- Clean up and docblock everything
- Refactor Activity/Notification blueprint stuff
- Refactor Formatter stuff
- Refactor Search stuff
- Upgrade to JSON-API 1.0
- Removed “addedPosts” and “removedPosts” relationships from discussion
API. This was used for adding/removing event posts after renaming a
discussion etc. Instead we should make an additional request to get all
new posts

Todo:
- Fix Extenders and extensions
- Get rid of repository interfaces
- Fix other bugs I’ve inevitably introduced
2015-07-04 12:24:48 +09:30
Franz Liedke
126039850a Some things should not be run when Flarum is not installed yet 2015-07-02 23:14:25 +02:00
Franz Liedke
12dd550a14 Add settings repository interface and database implementation.
Almost done with flarum/core#121 now.
2015-07-01 23:08:26 +02:00
Franz Liedke
03fd4a5aba Read debug mode from config 2015-07-01 22:49:38 +02:00
Franz Liedke
1e04a20220 Fix login
We cannot write to an empty response.
2015-07-01 22:45:14 +02:00
Franz Liedke
ccbebce93b Get rid of JsonApiResponse class
With the JSON-API library being updated, we can just make use of
Diactoros' JSON response class.
2015-07-01 20:58:14 +02:00
Toby Zerner
c1e7c00e2d Clean up some relation stuff 2015-07-01 22:35:56 +09:30
Toby Zerner
56932604db Refactor CoreServiceProvider
A good start I think, but still some work to do. If we go ahead with
https://github.com/flarum/core/issues/132#issuecomment-117507974 (which
I am in favour of), we can extract the entity-related stuff into some
smaller service providers (e.g. discussion repo, an event listener,
permissions, and gambits stuff could all go in
Flarum\Core\Discussions\DiscussionsServiceProvider).
2015-07-01 22:34:11 +09:30
Toby Zerner
d414ee33ed Make traits more generic
Type hinting User should take place in the callbacks. Theoretically
these traits could be used for another project now, where something
else has permissions (like a Sheep class, or a number)
2015-07-01 16:49:40 +09:30
Toby Zerner
810f79ee77 Cleanup, fix static date property error 2015-07-01 16:47:07 +09:30
Toby Zerner
d44b101373 Clean up merging stuff 2015-07-01 16:31:06 +09:30
Toby Zerner
3f32236379 API: allow date attributes to be added 2015-07-01 15:11:57 +09:30
Toby Zerner
c1595af84f Add todo about model validation 2015-07-01 13:35:27 +09:30
Toby Zerner
eafdd415ef Clean up model custom relation functionality 2015-07-01 13:22:09 +09:30
Toby Zerner
094825792a Clean up activity model 2015-07-01 13:19:24 +09:30
Franz Liedke
6e7cb1ff0e Some fixes to get along with the new bootstrapping 2015-06-30 23:29:52 +02:00
Franz Liedke
31effe943e Implement Android theme color support
As requested in the forums.
http://updates.html5rocks.com/2014/11/Support-for-theme-color-in-Chrome-39-for-Android
2015-06-26 23:11:13 +02:00
Franz Liedke
074f8087fa Update FastRoute
This enables optional route parameters.

Required some code changes in the RouteCollection class; once we
actually use optional route parameters, we will have to see whether
route generation for those works as expected.

Closes flarum/core#108
2015-06-26 23:09:58 +02:00
Franz Liedke
391c510f90 Upgrade Zend Diactoros to 1.1
This gives us a bunch of handy helper classes for empty responses,
redirects, HTML and JSON content types.

Closes flarum/core#153
2015-06-26 22:38:43 +02:00
Toby Zerner
558d12c870 Search API tweaks
Rename some methods, include a mechanism for gambit negation.
Also always include the relevant posts in results. closes
flarum/core#111
2015-06-26 12:20:43 +09:30
Toby Zerner
bdd7e43e5a Notification API tweaks 2015-06-26 12:18:53 +09:30
Toby Zerner
e829788b63 Update start_post_id when starting a discussion 2015-06-25 09:48:28 +09:30
Toby Zerner
7c0accf14f Be more specific as to when we require edit permission
Since we update per-user data (e.g. isLiked) through this command’s
event
2015-06-25 08:38:18 +09:30
Toby Zerner
4c8a60ed7a Make sure discussion post IDs are ordered correctly 2015-06-24 18:57:07 +09:30
Toby Zerner
e466dcc626 Significantly improve mobile UX
Most of #137 done.

- Use FastClick to make everything feel more responsive
- Use transforms for animations to make them silky smooth
- Style the drawer the same as the header to keep things simple
- Revert to fixed composer, but allow it to be minimised
- Add a separate notifications page for mobile so it’s easy to go back
- Add indicator to the menu button when there are unread notifications
- Close the drawer when navigating away
- Make dropdowns/modals scrollable
- Many other mobile tweaks and bug fixes

Didn’t take much care to keep CSS clean, due to #103
2015-06-24 11:44:53 +09:30
Toby Zerner
b4dcc02520 Give author permission to delete discussion if there are no replies
Forgot to commit this part in 64e5d505332c6ba1569bbb9140107b1afd19e334
:3
2015-06-24 09:13:54 +09:30
Toby Zerner
1c6ac80d01 Yo dawg I heard you like APIs so I put an API in your API so you can API while you API 2015-06-23 10:38:17 +09:30
Toby Zerner
64e5d50533 Allow author to delete discussion if there are no replies
Also disallow the first post in a discussion to be deleted or hidden
(thus preventing discussions with zero posts)

closes flarum/core#90 closes flarum/core#92
2015-06-23 10:34:33 +09:30
Toby Zerner
3a7efe202e Gracefully handle discussions with no posts
Although this should never happen
2015-06-23 10:30:06 +09:30
Franz Liedke
bc2142db51 Implement middleware for presenting pretty error pages 2015-06-20 22:39:33 +02:00
Franz Liedke
74536d7162 Add method for checking debug mode 2015-06-20 20:38:44 +02:00
Franz Liedke
efccf8bb7d Rename console commands 2015-06-20 20:09:47 +02:00