Commit Graph

111 Commits

Author SHA1 Message Date
Sam 1dc168a7e6 Merge branch 'master' into vdom 2016-02-15 19:29:59 +11:00
Sam dd6ebde824 FIX: Always ensure notifications are treated as read once clicked
UX: improve messaging so notifications list is far more stable
PERF: improve performance of notifcation lookup queries

- Add feature "SetTransientHeader" that allows shipping info to server
   in the next Ajax request
- remove local storage hack used for notifications
- amend lookupStale to return hydrated objects, move logic into store
- stop magically clearing various notifications (likes, invitee accepted, group_summary, granted badge)
2016-02-15 19:29:47 +11:00
Robin Ward d1e85bdd8b FEATURE: Use virtual dom framework for faster post rendering 2016-02-11 11:00:40 -05:00
Sam 03ea0bfe22 FEATURE: allow users to archive messages
Messages are now in 3 buckets

- Inbox for all new messages
- Sent for all sent messages
- Archive for all messages you are done with

You can select messages from your Inbox or Sent and move them to your Archive,
you can move messages out of your Archive similarly

Similar concept applied to group messages, except that archiving and unarchiving
will apply to all group members
2015-12-23 11:09:30 +11:00
Robin Ward 8f1937e88f Clean up PostsWithPlaceholders 2015-12-07 14:21:07 -05:00
Sam fbffe28772 es6 migration and fixes 2015-12-02 11:15:22 +11:00
Robin Ward 434deb1bd3 SECURITY: Backported XSS fixes from Handlebars 2015-11-24 16:08:08 -05:00
Arpit Jalan 99c1aa2e85 optimize OpenComposer Mixin 2015-11-24 23:39:19 +05:30
Robin Ward 47495a5713 FEATURE: Replace composer editor with ember version 2015-11-06 09:49:16 -05:00
Robin Ward 94b60e62a2 FEATURE: New markdown editor re-written in Ember
Note this commit leaves out the biggest occurrence of the editor
which is the post/topic composer.

To avoid major breakage, this replaces it everywhere else it was
used:

* User preferences (About Me)
* Admin Customizations > Text Content
* Category Templates
* Editing Queued Posts

A future commit will replace the main composer with this editor
and will remove the unused pagedown code.
2015-10-19 11:01:20 -04:00
Robin Ward 4986314122 Add "more..." to emoji popup in composer. 2015-09-29 16:16:52 -04:00
Sam 6437cd0341 FEATURE: add support for generic external avatar services
This changes it so we only ship an avatar template down to the client
it has no magic, all it knows is how to plug in size
2015-09-11 15:10:56 +02:00
Sam e13ed24122 FEATURE: on mobile take users to full page search
UX: improve styling on full page search page
FEATURE: allow search context in full page search
FEATURE: visited color link for full page search
FIX: broken search help on fulls page search page
FEATURE: allow preload store to return a null
FEATURE: "mobileAction" for the header buttons
2015-09-08 11:04:03 +10:00
Kane York 342eba4374 FEATURE: Category reordering dialog 2015-09-06 16:53:52 -07:00
Robin Ward 8e776d0fd7 Move `TopicTrackingState` to injected object 2015-09-04 13:00:24 -04:00
Robin Ward b3a930f2ed DRY up header height calculation 2015-09-02 14:30:18 -04:00
Robin Ward bf2c18fddb Migrate `KeyValueStore` to ES6 modules 2015-09-01 14:45:24 -04:00
Robin Ward ddf0db0338 Refactor notifications `localStorage` cache into adapter pattern.
Sometimes you want stale data right away, then refresh it async.
This adds `findStale` to the store for that case. If it returns
an object with `hasResults` you can get the `results` and display
them.

It also returns a `refresh()` method to freshen up the stale data.

To enable `localStorage` support for stale data, just include the
mixin `StaleLocalStorage` into an adapter for that model. This
commit includes a sample of doing that for `Notifications`.
2015-08-31 14:12:27 -04:00
Robin Ward d4b987ff32 Migrate search drop down to `menu-panel` component. 2015-08-28 15:44:24 -04:00
Robin Ward abd9b26642 Convert Badges / User Badges to ES6. 2015-08-19 12:09:10 -04:00
Robin Ward 22844b9e46 Ember 1.12 support 2015-08-13 11:14:16 -04:00
Robin Ward 02a968bd27 Remove ObjectController, Discouse Controllers + Presence 2015-08-13 10:49:08 -04:00
Robin Ward e2e3e7c0e0 Add ES6 support to more files 2015-08-13 10:49:08 -04:00
Robin Ward b7e6eaa961 ES6ify some of the remaining files 2015-08-10 10:21:05 -04:00
Robin Ward 76aa0795b3 Use small actions for moving posts 2015-07-31 16:30:18 -04:00
Robin Ward 29439e5534 SECURITY: Make sure export CSV is generated via a POST 2015-07-24 12:33:53 -04:00
Robin Ward 284b86cf5d Refactor PostActionSummary a bit.
- Remove `Discourse` constant.
- Use `LikeCount` instead of `Likecount`
2015-07-10 15:56:49 -04:00
Robin Ward db75774440 UX: Move likes into drop down instead of its own status line 2015-07-03 17:15:20 -04:00
Robin Ward 84a1acb2ec Refactor category edit to use components 2015-07-03 10:01:46 -04:00
Robin Ward 7ed309666b Refactor search results to be components instead of views for reuse 2015-06-22 15:08:51 -04:00
Sam Saffron c58b495e15 SECURITY: Query @usernames in bulk
Otherwise you could add many requests at once while composing.
2015-06-11 13:03:49 -04:00
Robin Ward 14fa033288 Update cloaking code for HTMLBars 2015-05-11 11:18:37 -04:00
Robin Ward 8294205f7c Ember 1.11 broken WIP 2015-05-11 11:18:37 -04:00
Robin Ward b3b4fd21ed Broken WIP 2015-05-11 11:18:37 -04:00
riking da9913359c Convert to file in lib/, rough active tracking 2015-04-21 20:23:29 -07:00
Robin Ward 76f7786d0d Support saving posts via Store 2015-04-15 14:54:36 -04:00
Robin Ward d4a05825da Convert `Composer` to use Store
- Uses store for `PostStream`, `TopicList` too
2015-04-15 14:54:36 -04:00
Robin Ward a83a19f6ce ES6 module migrations 2015-04-15 14:54:36 -04:00
Robin Ward 22ffcba8e6 Convert `Discourse.Post` to ES6 and use Store model
- Includes acceptance tests for composer (post, edit)
- Supports acceptance testing of bootbox
2015-04-15 14:54:36 -04:00
Sam 1bdce815e2 FIX: workaround for Safari on iOS causing crazy composer positioning
see: http://stackoverflow.com/questions/29001977/safari-in-ios8-is-scrolling-screen-when-fixed-elements-get-focus
2015-03-24 17:43:05 +11:00
Robin Ward 3d2d224312 FEATURE: User Directory, with sorting and time period filter 2015-03-18 15:20:34 -04:00
Régis Hanol 424a3b042a FEATURE: unified UI for pinning/banner topics
REFACTOR: ES6ified all the modals
2015-03-14 01:18:05 +01:00
Sam a82530012a FEATURE: Allow selection of highlight js languages
PERF: stop loading highlight js on load

To get latest highlight js run bin/rake highlightjs:update
2015-03-13 16:18:59 +11:00
Robin Ward f50280a889 Split out bulk operations modal and `Discourse.Route.showModal`
This makes it easier to share bulk topic operations, for example
from a plugin's custom topic list.
2015-03-10 15:40:56 -04:00
Robin Ward de4e4f2b98 Replace $LAB with path aware `loadScript` that uses jQuery 2015-03-09 14:39:39 -04:00
Robin Ward 9974a26c47 FEATURE: Can specify a list of `default_avatars` urls.
These new avatars will be used by new users until they upload their own
avatars. If left blank, letter avatars are used.
2015-03-03 16:19:29 -05:00
Robin Ward 3d3b70f4bb Remove duplicated `NotificationType` globals 2015-02-27 10:33:39 -05:00
Robin Ward 1f716f5514 Convert Notification button to a component 2015-02-27 10:33:39 -05:00
Robin Ward a519fd5bcf FIX: Highlighting was not being applied after some rendering.
Also includes a bunch of ES6 stuff.
2015-02-12 15:37:02 -05:00
Robin Ward d8c616a68a Add a `store` so we can start using ES6 modules for models, finally. 2015-02-10 12:35:53 -05:00