1
0
mirror of https://github.com/flarum/core.git synced 2025-07-20 16:21:18 +02:00
Commit Graph

462 Commits

Author SHA1 Message Date
Toby Zerner
247d8116b0 Add missing semicolon 2015-09-29 14:29:40 +09:30
Franz Liedke
16992aa1fb Sync notification count when clicking on them or marking all as read
Refs #500.
2015-09-29 01:28:47 +02:00
Franz Liedke
66d4e51a18 Use correct method for notification drawer on mobile
Refs #500.
2015-09-29 01:28:47 +02:00
Franz Liedke
0bef17149c Return both unread and new notification count from the API
Related to #500.
2015-09-29 01:28:47 +02:00
Franz Liedke
a436bef93c Implement third state for notification list dropdown
Related to #500.
2015-09-29 00:50:28 +02:00
Toby Zerner
9b51edc939 Prevent infinite redraw loop in IE
Welp, this is probably the most subtle bug I've ever tracked down and fixed.

Turns out that IE has this bug where the "oninput" event will be triggered whenever the "placeholder" attribute is changed. Most placeholders get their value from app.trans. The app.trans method returns a VirtualElement – which is an array, not a string! That means when Mithril's diffing algorithm was comparing the old value to the new value, it was comparing two different array instances, and thus deciding the value was dirty and the placeholder attribute needed to be updated. Due to the IE bug, that was leading to the "oninput" event being triggered... and then through Mithril's auto-redraw mechanism, a redraw would be triggered, and so the cycle continued.

Since the inputs in the LogInModal (among others) only update the component state on the "onchange" event (i.e. when the input loses focus), the intermittent redraws would cause the input's value to be cleared continuously. That's what was causing #464. Could've been easily and superficially patched by changing them to use "oninput" events, but luckily I dived a little deeper!

Glad that's over. Running IE11's buggy dev tools in an underpowered VM isn't fun. Would not recommend.

closes #464
2015-09-25 23:44:15 +09:30
Toby Zerner
9347d79913 Prevent empty beforeunload dialog on Internet Explorer 2015-09-25 23:21:10 +09:30
dcsjapan
f7c7f96300 Revises the dashboard links to emphasize beta testing procedure.
Closes flarum/core#542
- Includes a disclaimer stating that the software is provided mainly
for testing.
- Directs bug reports to the Support tag in the forums instead of the
issue tracker
- Directs feedback to the Features tag in the forums
2015-09-25 12:55:13 +09:00
Toby Zerner
f820a62ec9 Remove core key reorganization comments 2015-09-24 14:22:32 +09:30
Toby Zerner
15a3b46a1e Revert to "go to email provider" button 2015-09-24 14:22:14 +09:30
Toby Zerner
69388f4101 Add "last reply" icon to discussion list 2015-09-24 09:05:52 +09:30
dcsjapan
fb5fec7290 Merge remote-tracking branch 'flarum/master' into core-key-reorganization 2015-09-23 14:58:34 +09:00
dcsjapan
cfb4406b55 Primary key renaming
Improved consistency for existing core translation key names.

See flarum/core#265
- Completely overhauled core en.yml
- Replaced existing key names in all core JS files to match
- Extracted a hardcoded string in IndexPage.js
- Combined two app.trans calls in DiscussionControls.js
- Removed hardcoded spaces from LogInModal.js and SignUpModal.js
- Added two new keys from DiscussionControls.js (soft delete)
- Created two new “reused keys” to YML to accommodate same
2015-09-23 14:58:33 +09:00
Toby Zerner
b87a708e34 Add extra check to make sure post has been fully loaded
Ref #295
2015-09-23 12:22:37 +09:30
Toby Zerner
3a41cb5a86 Move post Restore control into same section as Delete Forever 2015-09-22 17:58:19 +09:30
Toby Zerner
8a5a3a0624 Improve admin permissions page with icons, visual tweaks 2015-09-22 17:52:16 +09:30
Toby Zerner
3ac9efde3e Allow discussions to be hidden and restored 2015-09-22 17:48:21 +09:30
Toby Zerner
1a865a2ab3 Use ES6 syntax 2015-09-22 17:23:47 +09:30
Toby Zerner
c61d2dfc27 Redraw old data after unsuccessful save 2015-09-22 17:23:28 +09:30
Toby Zerner
0cf973ced9 Patch Mithril with a route shortcut attribute
Instead of:

<a href={app.route.user(user)} config={m.route}>

We can use:

<a route={app.route.user(user)}>
2015-09-22 17:09:38 +09:30
Toby Zerner
5203be4ec8 Select contents of search input on focus 2015-09-22 17:06:06 +09:30
Toby Zerner
a184577877 Keep post actions visible when controls dropdown is open
Also show without hover on touch devices
2015-09-22 17:05:14 +09:30
Toby Zerner
d89e62b8d8 Properly hide loading spinner on unsuccessful post edit 2015-09-22 16:57:06 +09:30
Toby Zerner
2976541d5c Add "Debug" button to inspect the response of a failed AJAX request
Related to #118
2015-09-18 16:46:46 +09:30
Toby Zerner
8d5cbd6802 Further tweaks to post layout
Move footer after actions so that we'll be able to have larger things
in the footer (e.g. Answers) without pushing down the controls.
2015-09-18 14:38:57 +09:30
Toby Zerner
362afd1bd2 Clean up 2015-09-18 13:29:50 +09:30
Toby Zerner
092f5a27c9 Reflect composer's focus state in a property 2015-09-18 13:15:58 +09:30
Toby Zerner
57efa7a335 Smooth out initial composer slide animation 2015-09-18 13:14:12 +09:30
Toby Zerner
7bfc3c3d21 Add abstract SettingsModal component in admin app
Makes building settings modals (that update basic config values) a
whole lot quicker/easier.
2015-09-18 13:13:25 +09:30
Toby Zerner
9544d7dd6a Patch Mithril with a bidi attribute
Enables quick bidirectional bindings. So instead of this:

<input value={prop()} oninput={m.withAttr('value', prop)}/>

... we can do this:

<input bidi={prop}/>
2015-09-18 13:06:37 +09:30
Toby Zerner
6f5433a81c Cleanup, update changelog 2015-09-18 13:01:31 +09:30
Toby Zerner
a602790cb0 Remove "custom" home page input
Also add an API to let extensions define additional default route
options.

Allowing default routes with parameters (e.g. /d/123) is very difficult
because of the way Mithril routing works, and it doesn't have a
convincing use-case to justify the trouble. So I've removed the custom
input altogether.

closes #427
2015-09-17 12:56:39 +09:30
Franz Liedke
80558401b1 Move dropdown mouseover to correct location
Related to #496.
2015-09-16 09:00:33 +02:00
Franz Liedke
91a31e0149 Always use label as tooltip for header icons
Closes #496.
2015-09-16 08:45:45 +02:00
Toby Zerner
60388236cf Copy properties when monkey-patching 2015-09-16 16:03:25 +09:30
Toby Zerner
5cac0382b7 Don't use a default dropdown label 2015-09-16 10:12:49 +09:30
Toby Zerner
21b2f55b8c Improve external authentication API
Some providers (e.g. Twitter) don't expose user email addresses, so it
turns out we can't use that as the sole form of identification/account
matching.

This commit introduces a new `auth_tokens` table which stores arbitrary
attributes during the sign up process. For example, when Twitter is
authenticated, a new auth token containing the user's Twitter ID will
be created. When sign up is completed with this token, that Twitter ID
will be set as an attribute on the user's account.
2015-09-15 15:56:48 +09:30
Toby Zerner
fd5f53dc09 Focus on username field when login buttons are present 2015-09-15 13:04:45 +09:30
Toby Zerner
054159c27c Clean up new post layout 2015-09-15 12:42:03 +09:30
Toby Zerner
1ea991c930 Merge branch 'master' into compact-posts 2015-09-15 11:27:49 +09:30
Toby Zerner
1059147e6c Add external authenticator (social login) API
Allows registrations to be completed with a pre-confirmed email address
and no password.
2015-09-15 11:27:31 +09:30
Toby Zerner
27d020f86b Improve API error handling
- Change 'path' key to 'source.pointer', as per spec
- Add 500 error detail if debug mode is on
2015-09-14 15:40:07 +09:30
Toby Zerner
41898f10d2 Only set XHR authorization header if token isn't empty 2015-09-14 14:49:11 +09:30
Toby Zerner
be7adf8534 Remove unused component 2015-09-14 14:48:05 +09:30
Toby Zerner
26d1cb7e9f Restyle posts to be more compact, relocate controls 2015-09-08 10:29:00 +09:30
Toby Zerner
ca53a63fd8 Make unread discussion titles less overwhelming 2015-09-08 10:27:50 +09:30
Toby Zerner
76d0e7770c Add init hook as a way to effectively monkey patch constructors
Related to #246
2015-09-08 10:27:02 +09:30
Toby Zerner
4a906e28ba Allow first post to be hidden/restored
Anti-spam extensions may automatically hide the first post in a
discussion, and thus we had to implement smarter permissions so
discussions with zero posts wouldn't be visible to users other than the
author/mods. This change allows those hidden posts to be restored again.
2015-09-07 16:03:45 +09:30
Toby Zerner
6cce84e8c1 Remove unused translations 2015-09-05 16:05:02 +09:30
Toby Zerner
3ec6e94c62 Don't show placeholder when loading discussions 2015-09-04 13:50:17 +09:30