Commit Graph

1476 Commits

Author SHA1 Message Date
kirkbushell
a388fe7883 Added some tests for the database setting repository 2015-09-28 15:34:32 +01:00
kirkbushell
b93d5570d0 Removed phpsec as the testing library, added phpunit and converted the first spec test to phpunit format. Also added mockery. 2015-09-28 15:09:13 +01: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
Toby Zerner
e65536cdf8 Extract English translations into a language pack
To make this work, we add support for the client working without any locale.

Also fixes #412.
2015-09-25 16:12:09 +09:30
Toby Zerner
7889b15f09 Allow extensions to return a callback instead of a provider name
This is useful for very simple extensions like language packs, because it means no Composer/namespacing and thus bootstrap.php doesn't have to be changed at all.
2015-09-25 16:05:01 +09:30
Toby Zerner
575ff76002 Condense discussion list last reply icons 2015-09-25 13:55:32 +09:30
Toby Zerner
c2c1461fdc Merge pull request #545 from dcsjapan/dashboard-update-retry
Revises the dashboard links to emphasize beta testing procedure.
2015-09-25 13:27:57 +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
Franz Liedke
136a07361f Change name of header for faking HTTP methods
Refs #502.
2015-09-25 00:35:57 +02:00
Franz Liedke
dfef23e50c Implement middleware for faking HTTP methods
Refs #502.
2015-09-25 00:31:31 +02:00
Daniel Klabbers
b9a63c48d6 heavier validation for username 2015-09-24 23:07:30 +02:00
Franz Liedke
8e7b056b84 Clean up unused variable
Closes #501.
2015-09-24 16:27:00 +02: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
0330c4088d Indent block comments 2015-09-24 14:20:45 +09:30
Toby Zerner
79caf5b473 Add comments about intentional spaces 2015-09-24 14:20:37 +09:30
Toby Zerner
840461499f Temporary solution to resolve translation references
Just implemented this roughly so I can keep working :D /cc @franzliedke
2015-09-24 09:27:47 +09:30
Toby Zerner
5cce4b2be7 Update discussion list "last reply" translations 2015-09-24 09:07:46 +09:30
Toby Zerner
a60a441598 Compile all core translations for now
May need to be specific again once we have admin translations, or it
may be better to just put admin translations under a different
namespace...
2015-09-24 09:06:44 +09:30
Toby Zerner
69388f4101 Add "last reply" icon to discussion list 2015-09-24 09:05:52 +09:30
Toby Zerner
579fe64e90 Merge pull request #536 from dcsjapan/core-key-reorganization
Core key reorganization
2015-09-24 08:59:16 +09:30
Toby Zerner
733f619986 Fix is:unread gambit
closes #485
2015-09-24 08:31:56 +09:30
Franz Liedke
e91b370794 Fix last commit 2015-09-23 18:30:28 +02:00
Franz Liedke
9ecf79e385 Fix infinite redirect on some nojs pages. 2015-09-23 17:55:16 +02:00
Franz Liedke
03bc0e0dec Update TextFormatter
Fixes #532.
2015-09-23 09:03:24 +02:00
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
3af9cd794d Don't catch JS error in debug mode 2015-09-23 10:52:26 +09:30
Toby Zerner
850f6ca331 Update local copy of notification when marking as read 2015-09-23 10:52:26 +09:30
Toby Zerner
3888f16893 Vendor prefix badge shadow 2015-09-23 10:52:26 +09:30
Franz Liedke
efee030bf1 Make sure JSON request bodies are parsed as array.
Refs #533.
2015-09-22 15:19:54 +02:00
Toby Zerner
7c37320891 Reduce font size/padding on discussion list 2015-09-22 19:29:40 +09:30
Toby Zerner
6be300af8b Update changelog for bundled extensions 2015-09-22 18:20:32 +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
ab88d94150 Refresh discussion metadata to make sure it's correct
The new Approval extension may hide new posts, in which case we don't
want to increment the comments count/set the last post.
2015-09-22 17:57:20 +09:30
Toby Zerner
394ae32657 Relax self edit/rename restrictions
- Fixes the last post not being self-editable if it's hidden
- Fixes the discussion not being self-renameable its only post is hidden
2015-09-22 17:56:09 +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
1efddf416e Add API to run callback after a model instance is saved 2015-09-22 17:22:25 +09:30
Toby Zerner
22beaf07f3 Remove importer for the time being 2015-09-22 17:14:01 +09:30
Toby Zerner
c5316f8a9a Fix incorrect version requirement in extension generator 2015-09-22 17:13:41 +09:30
Toby Zerner
46f26bc237 Tweak alignment/width of reply composer 2015-09-22 17:12:50 +09:30
Toby Zerner
2c1283af42 Update to FontAwesome 4.4.0 2015-09-22 17:11:51 +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