Commit Graph

1090 Commits

Author SHA1 Message Date
Toby Zerner
63ea9f0891 Change criteria to work out which posts are intended to be displayed 2015-06-19 11:19:24 +09:30
Toby Zerner
a45729805d Implement time gap indicators
Get rid of short human times (1m, 1h, 1d) for now
2015-06-19 10:00:19 +09:30
Toby Zerner
6ca48e016f Run discussion events after first post is created 2015-06-19 09:07:39 +09:30
Toby Zerner
c2359fc71b Add API to add routes 2015-06-18 17:43:41 +09:30
Toby Zerner
2dbe8eb0b3 Clean up some old code 2015-06-18 17:43:16 +09:30
Toby Zerner
592e0ae1c8 Prevent JS error if discussion has been loaded without posts 2015-06-18 17:42:08 +09:30
Toby Zerner
bf33a08112 Use truncate for search suggestions 2015-06-18 17:41:47 +09:30
Toby Zerner
b43f34c120 Roughly implement routes and data preloading
Only preloading data for basic requests w/o query params, at least for
the moment - if we have to preload for something like
/?q=test&sort=newest, we end up having to duplicate a whole lot of
logic between JS/PHP.
2015-06-18 17:41:37 +09:30
Toby Zerner
a3f0288b09 Remove unused CSS 2015-06-18 13:01:04 +09:30
Toby Zerner
ee46d284c9 Simplify composer animation 2015-06-18 12:53:19 +09:30
Toby Zerner
e6c3ace0e7 Refactor some APIs 2015-06-18 12:45:14 +09:30
Toby Zerner
359f56a71b Cache permissions per user ID 2015-06-18 12:44:13 +09:30
Toby Zerner
e6c2c52210 Fix permission check in UserSearcher 2015-06-18 12:43:20 +09:30
Toby Zerner
fb4528b8c7 Get rid of total count from UserSearcher
Same reasoning as 320180efc4
2015-06-18 12:42:56 +09:30
Toby Zerner
7e69284661 Make sure user activity is synced when whole discussions are deleted
We need to fire the PostWasDeleted event for every post when a
discussion is deleted. This means deleting big discussions will be an
intensive process, but that’s OK because it’s very rare.
2015-06-18 12:41:00 +09:30
Toby Zerner
1c359b1041 Update core permissions stuff 2015-06-18 12:38:24 +09:30
Toby Zerner
9b97688898 Merge query params into request input as well 2015-06-18 12:24:51 +09:30
Toby Zerner
02947edf1b Fix fatal error on delete actions 2015-06-18 12:24:31 +09:30
Toby Zerner
6f7a06820d Define static properties on SerializeAction subclasses
Explained in 8a0cf2dcba.

If we ever come up with a better way of doing this it should be easy to
change over, since modification of these properties by extensions is
abstracted by an Extend API.
2015-06-18 12:24:18 +09:30
Toby Zerner
263126f14c Update dependencies 2015-06-18 12:20:47 +09:30
Toby Zerner
ccd5fedd25 Extract into truncate helper 2015-06-17 18:22:14 +09:30
Toby Zerner
b8fe298b04 Revert "Prefix API routes for now"
This reverts commit 4728b6f414.
2015-06-17 18:14:41 +09:30
Toby Zerner
46920468d0 Back to rewritten URLs 2015-06-17 17:58:43 +09:30
Toby Zerner
4728b6f414 Prefix API routes for now 2015-06-17 17:48:50 +09:30
Toby Zerner
6310bfe702 Comply to new interface 2015-06-17 12:48:10 +09:30
Toby Zerner
4b5367511f Use UrlGenerator to get avatar URL 2015-06-17 12:48:01 +09:30
Toby Zerner
91d9a4ebd4 Fix LoginWithCookie middleware being ineffective
Flarum\Support\Actor needs to be a singleton. There is a comment in
LoginWithHeader - is there a better approach to the whole Actor thing?
2015-06-17 12:47:49 +09:30
Toby Zerner
2db36916fb Change event so that data can be modified before it is serialized 2015-06-17 12:46:50 +09:30
Franz Liedke
201ac0fffc Change config values to match new base URLs 2015-06-17 02:37:06 +02:00
Franz Liedke
6aaa114b1c Make sure generated usernames cannot break validation 2015-06-17 02:36:51 +02:00
Franz Liedke
26afeced69 Fix merge conflict 2015-06-17 01:27:44 +02:00
Franz Liedke
b931ba1227 Remove debug statement 2015-06-17 00:53:03 +02:00
Franz Liedke
0262f45f57 Merge branch 'master' into psr-7
Conflicts:
	src/Api/Actions/Discussions/IndexAction.php
	src/Api/Actions/SerializeAction.php
	src/Core/Formatter/FormatterManager.php
	src/Extend/ForumAssets.php
	src/Forum/Actions/IndexAction.php
	src/Forum/ForumServiceProvider.php
2015-06-17 00:52:50 +02:00
Franz Liedke
a240fbc3ec Add TODO message 2015-06-17 00:18:16 +02:00
Franz Liedke
b559a32f9e Revamp routing
All routes are now stored in a RouteCollection, which is then used
for dispatching by the (reusable) RouterMiddleware.

This change also entails moving all routes to the service providers.
This may be changed again later, and is done for convenience reasons
right now.
2015-06-17 00:16:35 +02:00
Toby Zerner
8a0cf2dcba Override static property
@franzliedke I didn’t realise that static properties are static to the
class they are defined on, and not each individual subclass. All of the
static members of the SerializeAction class (which are intended for
extensions to alter per-action) are being inherited by all actions.

Any ideas on how to work around this other than defining every static
member on each individual subclass?
2015-06-16 21:55:59 +09:30
Toby Zerner
e91fda8aab Add API to add a link to an action 2015-06-16 17:39:47 +09:30
Toby Zerner
31369bd806 Overhaul permissions
Get rid of Permissible - too complex and inefficient. Replace with:
- a “Locked” trait which works similarly but only evaluates logic on
hydrated models.
- a “VisibleScope” trait which also works similarly but only scopes
queries

This is all we need, Permissible is overkill. There is only one
instance where we have to duplicate some logic
(Discussion::scopeVisiblePosts and Post::allow(‘view’, …)) but it’s
barely anything.

Haven’t decoupled for now, we can definitely look at doing that later.

Permissions table seeder slightly updated.

Also did a bit of a query audit, there’s still a lot to be done but
it’s much better than it was. Some relatively low-hanging fruit
detailed in EloquentPostRepository.
2015-06-16 17:33:56 +09:30
Toby Zerner
de9b6ff530 Clear the page's min-height when navigating away 2015-06-16 17:23:14 +09:30
Toby Zerner
1ff2c2f90a Add WillRespond event
So that custom data can be loaded onto a model before it is serialized.
(Tags extension uses this to load tags onto the forum model.)
2015-06-16 17:22:15 +09:30
Toby Zerner
a890dc2114 Static relationship collections need to be initialised on subclasses
Will probably make this whole “custom relationships” thing a trait
instead of being on the base class
2015-06-16 17:21:04 +09:30
Toby Zerner
822feb2497 Cache user permissions between calls 2015-06-16 17:18:02 +09:30
Toby Zerner
f6e6090131 Add todo about query optimization 2015-06-16 16:59:48 +09:30
Toby Zerner
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
Toby Zerner
385ebf012d Add a serializer and API action to get information about the forum 2015-06-15 12:18:20 +09:30
Toby Zerner
7295cffd32 Maintain scroll position when hiding the composer 2015-06-15 12:17:19 +09:30
Toby Zerner
cf7b6974bc Don't add duplicate posts to a discussion 2015-06-15 08:59:57 +09:30
Toby Zerner
da461b1be7 Prefer passing an array to ServiceProvider::extend 2015-06-15 08:59:33 +09:30
Toby Zerner
435880733d Update permissions 2015-06-12 16:41:46 +09:30
Toby Zerner
9ef431a542 Fix saving of to-many relationships 2015-06-12 16:41:13 +09:30