Quantcast
Channel: Discourse Meta - Latest topics
Viewing all 60642 articles
Browse latest View live

Private message 'invite others...' link doesn't look polished

$
0
0

Salman, Freelance Developer wrote:

In the private message area, the text to invite others that reads 'Invite Others...' looks a little unpolished to me.
To be blunt it looks like someone just forgot about styling the link or putting a border around it.

What do you guys think?

If you all disagree, how about at aligning it to the right side?

Posts: 2

Participants: 2

Read full topic


Sphinx search for Discourse

$
0
0

Katie Hunter wrote:

Hi, i am not aware if whether or not Discourse uses sphinx for its search function http://sphinxsearch.com but it is very powerful and light. I know on my forum which uses Vbulletin, i had to integrate the sphynix search which works really well than the Mysql default search which comes with VB =) b/c we have around 5 million posts and 1.7+ million members. Vb Mysql default search was not the right approach for big to growing communities.

Does Discourse uses it for their search function? If not, i would really recommend it and if there is any plans for it?

Posts: 25

Participants: 11

Read full topic

How to enable users to change their username

$
0
0

Matthias Busch wrote:

I am a user of a discourse forum.

At this forum it's not possible to change the username.

The admin needs a bit time to get used to the software.
So i want to help him. Can you point me to a good tutorial how one can enable the "change username" feature.

Thanks for your help and support!

Posts: 2

Participants: 2

Read full topic

Search not... searching?

$
0
0

PJH wrote:

Was after a topic on here and the one non-generic word that I remember from the post/topic was 'canary':

Nope - it's not there. Then, considering the topic I was after involved testing, I added that:

The yellow one was the one I was after - I'm wondering why it didn't appear in the first search?

Posts: 10

Participants: 6

Read full topic

Show More not being displayed in search

$
0
0

David Maxwell wrote:

Continuing the discussion from Should search prioritize recent topics over older topics?:

OK, I've been able to reproduce this, so as requested, I'm opening this as a bug. Jeff seems to think this is strictly just an issue with the "Show More" not being shown on search, but I'm not sure I agree with that interpretation - I'm not sure the search is always returning all the results being shown.

I did the following search (tried to use something not generic in nature). Notice the lack of Show More in the display. Notice there are only three topics returned.

If I do a site specific search via google, I receive at least nine different topics that should have been returned. Sorry for the tiny type, but I wanted to show all the topic returned.

Why are these results different? And the big problem with this is if someone (even me) performs the same search later, different results are returned. Look at all of the screenshots from the previous thread and you can see some examples of it.

Posts: 17

Participants: 6

Read full topic

YouTube oneboxes stopped working in latest

$
0
0

Eric Trowbridge wrote:

Do I need to enable OneBox by installing the plugin or is it enabled by default? I see it in the admin settings, but I have't touched it yet.

I tried posting a link to a YouTube video in this post and it won't embed it into a one box. =/

Posts: 8

Participants: 4

Read full topic

Legal/Markdown bug in Terms of Service

$
0
0

Dan Fabulich wrote:

In the first paragraph of the Terms of Service, there's a bug in the Markdown, stripping out part of the legalese. Here's the Markdown code https://meta.discourse.org/tos:

The Website is offered subject to your acceptance without modification of all of the terms and conditions contained herein and all other operating rules, policies (including, without limitation, discourse.org’s [Privacy Policy](/privacy) and [Community Guidelines](/faq)) and procedures that may be published from time to time on this Site by CDCK (collectively, the "Agreement").

But here's how that renders:

The Website is offered subject to your acceptance without modification of all of the terms and conditions contained herein and all other operating rules, policies (including, without limitation, discourse.org’s Privacy Policy.

The whole second half of the sentence (in particular the part that defines "Agreement") has been stripped out, and the Privacy Policy link is broken, pointing to: https://meta.discourse.org/privacy)%20and%20[Community%20Guidelines](/faq))%20and%20procedures%20that%20may%20be%20published%20from%20time%20to%20time%20on%20this%20Site%20by%20CDCK%20(collectively,%20the.

It's not clear to me whether this is a bug in the Markdown parser or the Markdown code of the TOS. You can workaround the bug by using the square-bracket syntax for links, like this: Privacy Policy[1]

Posts: 4

Participants: 2

Read full topic

Should search prioritize recent topics over older topics?

$
0
0

David Maxwell wrote:

Can we please please PLEASE get search added as priority number one after V1 is released? The discourse search is frustrating (politest way I can phrase this).

I've been searching both here and at our instance for threads and the chances of finding results are like trying to hit a clown face at a carnival - it might happen, but odds are not in your favor.

For example, searching for heatmap doesn't return this thread even though it's last activity is only two days old: https://meta.discourse.org/t/consolidating-activity-field/18827/83

Searching for coldmap or activity returns it under the "Show More", even though most of the threads are "colder" wink than this thread (last replies on some of these are six days vs the two for what I was looking for it....)


Posts: 55

Participants: 11

Read full topic


Login broken after 8/22 update

$
0
0

Michael Scott Shappe wrote:

Updated both docker and discourse, using the updater, for my forum today; now login yields a blank screen.

This remains the case after rebuilding and restarting the app (launcher rebuild app; launcher restart app).

hash>
  <date type="dateTime">2014-08-22T21:50:48+00:00</date>
  <guid>0788384d-c2e0-4d3c-a215-7f0e29a88fee</guid>
  <user-id nil="true"/>
  <parameters>{"id":"login","action":"show","controller":"static"}</parameters>
  <action>show</action>
  <controller>static</controller>
  <backtrace>at /var/www/discourse/app/assets/javascripts/discourse/dialects/quote_dialect.js:2:18
[RAILS_ROOT]/lib/pretty_text.rb:81:in `block in create_new_context'
[RAILS_ROOT]/lib/pretty_text.rb:79:in `each'
[RAILS_ROOT]/lib/pretty_text.rb:79:in `create_new_context'
[RAILS_ROOT]/lib/pretty_text.rb:114:in `block in v8'
[RAILS_ROOT]/lib/pretty_text.rb:112:in `synchronize'
[RAILS_ROOT]/lib/pretty_text.rb:112:in `v8'
[RAILS_ROOT]/lib/pretty_text.rb:134:in `block in markdown'
[RAILS_ROOT]/lib/pretty_text.rb:299:in `block in protect'
[RAILS_ROOT]/lib/pretty_text.rb:297:in `synchronize'
[RAILS_ROOT]/lib/pretty_text.rb:297:in `protect'
[RAILS_ROOT]/lib/pretty_text.rb:133:in `markdown'
[RAILS_ROOT]/lib/pretty_text.rb:172:in `cook'
[RAILS_ROOT]/app/helpers/application_helper.rb:113:in `markdown_content'
[RAILS_ROOT]/app/views/static/login.html.erb:2:in `_app_views_static_login_html_erb___34876544375450671_70014627932020'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionview-4.1.5/lib/action_view/template.rb:145:in `block in render'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/notifications.rb:161:in `instrument'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionview-4.1.5/lib/action_view/template.rb:339:in `instrument'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionview-4.1.5/lib/action_view/template.rb:143:in `render'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/rack-mini-profiler-0.9.1/lib/mini_profiler/profiling_methods.rb:108:in `block in profile_method'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionview-4.1.5/lib/action_view/renderer/template_renderer.rb:55:in `block (2 levels) in render_template'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionview-4.1.5/lib/action_view/renderer/abstract_renderer.rb:38:in `block in instrument'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/notifications.rb:159:in `block in instrument'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/notifications.rb:159:in `instrument'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionview-4.1.5/lib/action_view/renderer/abstract_renderer.rb:38:in `instrument'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionview-4.1.5/lib/action_view/renderer/template_renderer.rb:54:in `block in render_template'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionview-4.1.5/lib/action_view/renderer/template_renderer.rb:62:in `render_with_layout'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionview-4.1.5/lib/action_view/renderer/template_renderer.rb:53:in `render_template'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionview-4.1.5/lib/action_view/renderer/template_renderer.rb:17:in `render'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionview-4.1.5/lib/action_view/renderer/renderer.rb:42:in `render_template'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionview-4.1.5/lib/action_view/renderer/renderer.rb:23:in `render'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionview-4.1.5/lib/action_view/rendering.rb:99:in `_render_template'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_controller/metal/streaming.rb:217:in `_render_template'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionview-4.1.5/lib/action_view/rendering.rb:82:in `render_to_body'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_controller/metal/rendering.rb:32:in `render_to_body'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_controller/metal/renderers.rb:32:in `render_to_body'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/abstract_controller/rendering.rb:25:in `render'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_controller/metal/rendering.rb:16:in `render'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_controller/metal/instrumentation.rb:41:in `block (2 levels) in render'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/core_ext/benchmark.rb:12:in `block in ms'
/usr/local/lib/ruby/2.0.0/benchmark.rb:296:in `realtime'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/core_ext/benchmark.rb:12:in `ms'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_controller/metal/instrumentation.rb:41:in `block in render'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_controller/metal/instrumentation.rb:84:in `cleanup_view_runtime'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activerecord-4.1.5/lib/active_record/railties/controller_runtime.rb:25:in `cleanup_view_runtime'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_controller/metal/instrumentation.rb:40:in `render'
[RAILS_ROOT]/app/controllers/static_controller.rb:43:in `show'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/abstract_controller/base.rb:189:in `process_action'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_controller/metal/rendering.rb:10:in `process_action'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/abstract_controller/callbacks.rb:20:in `block in process_action'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:113:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:113:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:166:in `block in halting'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:229:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:229:in `block in halting'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:149:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:149:in `block in halting_and_conditional'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:86:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:86:in `run_callbacks'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/abstract_controller/callbacks.rb:19:in `process_action'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_controller/metal/rescue.rb:29:in `process_action'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_controller/metal/instrumentation.rb:31:in `block in process_action'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/notifications.rb:159:in `block in instrument'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/notifications.rb:159:in `instrument'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_controller/metal/instrumentation.rb:30:in `process_action'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activerecord-4.1.5/lib/active_record/railties/controller_runtime.rb:18:in `process_action'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/abstract_controller/base.rb:136:in `process'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionview-4.1.5/lib/action_view/rendering.rb:30:in `process'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/rack-mini-profiler-0.9.1/lib/mini_profiler/profiling_methods.rb:108:in `block in profile_method'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_controller/metal.rb:196:in `dispatch'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_controller/metal.rb:232:in `block in action'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_dispatch/routing/route_set.rb:82:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_dispatch/routing/route_set.rb:82:in `dispatch'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_dispatch/routing/route_set.rb:50:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_dispatch/journey/router.rb:71:in `block in call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_dispatch/journey/router.rb:59:in `each'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_dispatch/journey/router.rb:59:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_dispatch/routing/route_set.rb:678:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/rack-protection-1.5.2/lib/rack/protection/frame_options.rb:31:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.1/lib/omniauth/strategy.rb:186:in `call!'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.1/lib/omniauth/strategy.rb:164:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.1/lib/omniauth/strategy.rb:186:in `call!'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.1/lib/omniauth/strategy.rb:164:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.1/lib/omniauth/strategy.rb:186:in `call!'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.1/lib/omniauth/strategy.rb:164:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.1/lib/omniauth/strategy.rb:186:in `call!'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.1/lib/omniauth/strategy.rb:164:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.1/lib/omniauth/strategy.rb:186:in `call!'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.1/lib/omniauth/strategy.rb:164:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.1/lib/omniauth/strategy.rb:186:in `call!'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.1/lib/omniauth/strategy.rb:164:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/omniauth-1.2.1/lib/omniauth/builder.rb:59:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/conditionalget.rb:25:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/head.rb:11:in `call'
[RAILS_ROOT]/lib/middleware/anonymous_cache.rb:117:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_dispatch/middleware/params_parser.rb:27:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_dispatch/middleware/flash.rb:254:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/message_bus-0.9.5/lib/message_bus/rack/middleware.rb:55:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/session/abstract/id.rb:225:in `context'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/session/abstract/id.rb:220:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_dispatch/middleware/cookies.rb:560:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activerecord-4.1.5/lib/active_record/query_cache.rb:36:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activerecord-4.1.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:621:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/activesupport-4.1.5/lib/active_support/callbacks.rb:82:in `run_callbacks'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_dispatch/middleware/remote_ip.rb:76:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/logster-0.1.6/lib/logster/middleware/reporter.rb:23:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/railties-4.1.5/lib/rails/rack/logger.rb:38:in `call_app'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/railties-4.1.5/lib/rails/rack/logger.rb:22:in `call'
[RAILS_ROOT]/config/initializers/quiet_logger.rb:10:in `call_with_quiet_assets'
[RAILS_ROOT]/config/initializers/silence_logger.rb:26:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/actionpack-4.1.5/lib/action_dispatch/middleware/request_id.rb:21:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/runtime.rb:17:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/sendfile.rb:112:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/rack-mini-profiler-0.9.1/lib/mini_profiler/profiler.rb:300:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/railties-4.1.5/lib/rails/engine.rb:514:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/railties-4.1.5/lib/rails/application.rb:144:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/railties-4.1.5/lib/rails/railtie.rb:194:in `public_send'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/railties-4.1.5/lib/rails/railtie.rb:194:in `method_missing'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:138:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/urlmap.rb:65:in `block in call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/urlmap.rb:50:in `each'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/urlmap.rb:50:in `call'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:576:in `process_client'
[RAILS_ROOT]/lib/middleware/unicorn_oobgc.rb:95:in `process_client'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:670:in `worker_loop'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:525:in `spawn_missing_workers'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.3/lib/unicorn/http_server.rb:140:in `start'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/gems/unicorn-4.8.3/bin/unicorn:126:in `&lt;top (required)&gt;'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/bin/unicorn:23:in `load'
[RAILS_ROOT]/vendor/bundle/ruby/2.0.0/bin/unicorn:23:in `&lt;main&gt;'</backtrace>
  <message>Cannot call method 'register' of undefined</message>
  <url>https://passare-discourse.itasca.net/login</url>
  <exception-class>PrettyText::JavaScriptError</exception-class>
</hash>

Posts: 1

Participants: 1

Read full topic

Two-factor ALL THE THINGS

$
0
0

Lee_Ars wrote:

So, authentication on Discourse seems like mostly a solved problem since you can offload it to an external provider, but I'd love for Discourse to have a two-factor option for local authentication. It seems relatively uncomplicated to bolt-on support for TOTP via Google Authenticator—for example, here's a Google Authenticator add-on implementation in PHP for Roundcube. Right, right, apples and oranges, php and ruby, webmail and forum, but the libraries are all there and it'd definitely make me happy to see a two-factor option.

Posts: 10

Participants: 8

Read full topic

After upgrade to 0.9.9.18: Unknown error saving post, try again. Error: 500 Internal Server Error

Post format reference documentation

$
0
0

Dan Fabulich wrote:

Is there any documentation on the official reference format Discourse uses for formatting posts?

Use Markdown or BBCode to format.

I know there's no official Markdown spec, and the BBCode.org reference documentation leaves much to be desired.

Is there, at least, a list of BBCode tags Discourse supports? (For example, BBCode.org doesn't document the very useful [spoiler] tag.)

Posts: 1

Participants: 1

Read full topic

Is there a user manual or list of features?

$
0
0

Christopher Wells wrote:

Is there a user manual, or a list of (all) features?

  • For new users (especially new wannabe power users) who want to know what they can do with the software
  • For potential users (before they've decided to use/choose Discourse), who want to evaluate the product

I found no in-site "Help" pages. The closest I've found is the home page at [http] discourse.org/ and the FAQ page at [http] discourse.org/faq/

Topics for post-sale users could include things like:

  • How to search
  • How to moderate
  • How to categorize topics
  • ...?

Something for pre-sale evaluation could be a list of features. Some products do a competitive evaluation matrix, for example like this one: http://en.wikipedia.org/wiki/Comparison_of_Internet_forum_software#Features

The matrix of features is where you can say, "Other products support some of these features (although sometimes not as well), but look at us: we support all them!" (or, "we're different!")

You needn't research the features of competing products for me, but I'd like you to document the list of your own features / own functionality.

There's a partial list of features at [http] blog.discourse.org/2014/01/the-road-to-discourse-1-0-2/ but that doesn't tell me what the 'base' features are that were implemented in the February 2013 'launch',

The Git commit log/history isn't a plausible/convenient way to reverse-engineer the functional specification.

I also haven't seen a road-map (list of unimplemented, planned, possible future features).

The About page at http://www.discourse.org/about/ says ...

  • Other forums have an old-fashioned UI
  • StackExchange is for Q+A not conversations

... but doesn't explain how Discourse is better or different. It claims ...

  • All the sociological and technical lessons of 10+ year old forum communities baked into the design of the software.
  • Sane, safe out of the box defaults, but a million dials and knobs to tweak.

Where or what are the details:

  • What is the design of the software, which demonstrates/implements these baked-in lessons?
  • What are the 'million' dials and knobs to tweak (and the defaults)?

Posts: 16

Participants: 8

Read full topic

Autocorrect on Mac disallows selection of result in search box

Notification for deleted Topic stays blue

$
0
0

Claus Strasburger wrote:

So, I noticed a bug here on meta: There was a topic (Private Disource Forum), which got moved/deleted/marked private (I don't know, I can't find it anymore). Some while back I got a notification for it:

This notification always appears blue, but clicking on it takes me to https://meta.discourse.org/t/topic/2408/23, which says "The page you requested doesn't exist or is private.".
However, I have not been able to reproduce this on my instances. Could this be a bug? smile

Posts: 1

Participants: 1

Read full topic


Beginners Guide to Install Discourse on Ubuntu for Development

$
0
0

Arpit Jalan wrote:

So you want to set up Discourse on Ubuntu to hack on and develop with?

We'll assume that you don't have Ruby/Rails/Postgre/Redis installed on your Ubuntu system. Let's begin!

Although this guide assumes that you are using Ubuntu, but the set-up instructions will work fine for any Debian based ditribution.

(If you want to install Discourse for production use, see our install guide)

Install Discourse Dependencies

Run this script in terminal, to setup Rails development environment:

bash <(wget -qO- https://raw.githubusercontent.com/techAPJ/install-rails/master/linux)

This will install following new packages on your system:

Install Phantomjs:

For 32 bit macine:

cd /usr/local/share
sudo wget https://phantomjs.googlecode.com/files/phantomjs-1.9.2-linux-i686.tar.bz2
sudo tar xvf phantomjs-1.9.2-linux-i686.tar.bz2
sudo rm phantomjs-1.9.2-linux-i686.tar.bz2
sudo ln -s /usr/local/share/phantomjs-1.9.2-linux-i686/bin/phantomjs /usr/local/bin/phantomjs
cd

For 64 bit machine:

cd /usr/local/share
sudo wget https://phantomjs.googlecode.com/files/phantomjs-1.9.2-linux-x86_64.tar.bz2
sudo tar xvf phantomjs-1.9.2-linux-x86_64.tar.bz2
sudo rm phantomjs-1.9.2-linux-x86_64.tar.bz2
sudo ln -s /usr/local/share/phantomjs-1.9.2-linux-x86_64/bin/phantomjs /usr/local/bin/phantomjs
cd

In case you have any of this package pre-installed and don't want to run entire script, see the script and pick the packages you don't have currently installed. The script is fine-tuned for Discourse, and includes all the packages required for Discourse installation.

Now that we have installed Discourse dependencies, let's move on to install Discourse itself.

Clone Discourse

Clone the Discourse repository in ~/discourse folder:

git clone https://github.com/discourse/discourse.git ~/discourse

Setup Database

Open psql prompt as postgre user

sudo -u postgres psql postgres

Create role with the same name as your ubuntu system username with discourse as password:

CREATE ROLE discourse WITH LOGIN ENCRYPTED PASSWORD 'discourse' CREATEDB SUPERUSER;

In the above command, I named the role as discourse, this means that my ubuntu system username is discourse. (It is necessary for role name to be same as system username, otherwise migrations will not run)

Check that you have successfully created discourse role:

\du

Create discourse_development and discourse_test database:

CREATE DATABASE discourse_development WITH OWNER discourse ENCODING 'UTF8' TEMPLATE template0;
CREATE DATABASE discourse_test WITH OWNER discourse ENCODING 'UTF8' TEMPLATE template0;

Exit psql prompt by pressing ctrld

Now access psql prompt in discourse_development database as discourse user:

psql -d discourse_development -U discourse -h localhost

When prompted for password, provide the password which you set at the time of creating role, if you followed the guide as is, the password is discourse

Run following commands, separately:

CREATE EXTENSION pg_trgm;
CREATE EXTENSION hstore;

Exit psql prompt by pressing ctrld

Now access psql prompt in discourse_test database as discourse user:

psql -d discourse_test -U discourse -h localhost

When prompted for password, provide the password which you set at the time of creating role, if you followed the guide as is, the password is discourse

Run following commands, separately:

CREATE EXTENSION pg_trgm;
CREATE EXTENSION hstore;

Exit psql prompt by pressing ctrld

You have set-up the database successfully!

Bootstrap Discourse

Switch to your Discourse folder:

cd ~/discourse

Install the needed gems

bundle install

Now that you have successfully configured database connection, run this command:

bundle exec rake db:migrate db:test:prepare db:seed_fu

Now, try running the specs:

bundle exec rake autospec

Start rails server:

bundle exec rails server

You should now be able to connect to discourse app on http://localhost:3000 - try it out!

Configure Mail and Create New Account

We will use MailCatcher to serve emails in development environment. Install and run MailCatcher:

gem install mailcatcher
mailcatcher --http-ip 0.0.0.0

Create new account:

Check confirmation email by going to MailCatcher web interface at http://localhost:1080/

If you did not receive the email, try running this in console: bundle exec sidekiq -q default

Click the confirmation link and your account will be activated!

Access Admin

Now, to make your account as admin, run the following commands in rails console:

RAILS_ENV=development bundle exec rails c
u = User.last
u.admin = true
u.save

Once you execute the above commands successfully, check out your Discourse account again:

Congratulations! You are now the admin of your own Discourse installation!

Happy hacking!

If anything needs to be improved in this guide, feel free to ask on meta.discourse.org, or even better, submit a pull request.

Posts: 39

Participants: 14

Read full topic

Poll: Russian pluralization rules: need confirmation from Russian Discrouse users before it can be implementated

$
0
0

Anton wrote:

Dear Russian speaking community!

Currently, Russian translation cannot be finalized because there are some issues that need your attention and approval. If you run a Russian version of Discourse, you should have noticed that the home page has many untranslated strings here and there that spoil the page:

I'm trying to sort out the Russian pluralization rules once and for all, and I've proposed a solution to @neil and @techAPJ in private messaging.

While I've discussed my proposed solutions with some Russian-speaking developers this side, a confirmation from Discourse community is still needed, so please either support or criticize but do not pass by if you speak Russian.

Introduction

For translations to be possible, there is a function which returns a translation key based on a number.

For example, for English there are only two keys:
1 => one
2, 3, 4, ... => other

Thus, there are only two versions of any string in English - for one and for many things.

For example:
1 => one => 1 cat
20 => other => % cats => 20 cats

For every language, a particular set of keys can be defined in order to allow translators to pluralize strings correctly. So, some languages need only 2 keys, but others, as Russian, need 3 or even more.

Problem

So, we have to translate, for example, % message(s) to Russian:

  • 1 сообщение (the suffix is e)
  • 2 сообщения (the suffix is я)
  • 3 сообщения
  • 4 сообщения
  • 5 сообщений (the suffix is ий)
  • ... and so on

We can see that there are 3 versions, and they cover all possible numbers.

There are currently 2 problems with pluralization keys for Russian:

Problem 1. There are 4 keys while we need only 3. The keys are: one, few, many, other

Problem 2. The current keys are not intuitive and make no sense.
While it may seem that few is for 2 to 4 (2,3,4 сообщения), it is actually wrong because 15102 will also use the same suffix - 15102 сообщения, but it is nowhere near few.

So, while there are 4 keys in the system instead of 3, and while the keys are named not intuitively, we will continue struggling bad and/or incomplete Russian translation for Discourse.

I want to fix it once and for all and to finalize the Russian translations, but I cannot before you, the community members, say YES for the solution described below, or critisize it - that's what Discrouse team requires!

Solution

The solution is simple - I propose to use 3 keys: one, two and five.

Firstly, it covers all possible keys, which can be seen here: http://jsfiddle.net/V2f93/5/

Secondly, I guess it should be very intuitive for any translator to understand which translation to make for which key.

While it is not clear what is difference between few and many (old keys),
it is very clear what is two and five (proposed keys).

So for example for % message(s) we will have 3 keys with the following Russian translations:

one => 1 сообщение
two => % сообщения
five => % сообщений

While for English we have only two keys:

one => 1 message
other => % messages

Please vote!

Now what is important is your opinion.
If you would bee a translator, would you understand what translation to write in a box like this?

Please vote, and if you don't like the idea, then please propose your own keys!

  • I support one, two, five
  • I support one, two, other
  • I want to keep one, few, many
  • I want to propose a better idea (please explain in a reply to this topic)
  • I do not understand what this all is about
  • I would like to vote, but the explanations above are unclear and confusing!

Thank you for your time and attention.

Posts: 14

Participants: 8

Read full topic

SSL with Apache reverse proxy and docker container

$
0
0

ariddell wrote:

I'd like to run discourse (in docker container) along with another site on my machine. I cannot get apache to reverse proxy SSL (reverse proxy with HTTP works fine).

  1. Does anyone have a working apache setup where one has a reverse proxy to a https discourse site?
  2. Alternatively, are there any problems with just letting apache add the SSL and leaving the discourse docker container serving http? (should I set the ssl SiteSettings setting?)

My Apache setup looks like this:

<VirtualHost *:443>
    ServerName forum.mydomain.org

    SSLEngine On
    SSLCertificateFile    /var/docker/shared/standalone/ssl/ssl.crt
    SSLCertificateKeyFile /var/docker/shared/standalone/ssl/ssl.key

    SSLProxyEngine On
    SSLProxyCACertificateFile /var/docker/shared/standalone/ssl/ssl.crt

    ProxyPreserveHost On
    ProxyRequests Off
    ProxyPass / https://localhost:7000/
    ProxyPassReverse / https://localhost:7000/

    CustomLog /var/log/apache2/discourse_apache_proxy_https_access.log combined
    ErrorLog /var/log/apache2/discourse_apache_proxy_https_error.log
</VirtualHost>

and the error Apache gives is this:

The proxy server could not handle the request GET /.

Posts: 3

Participants: 2

Read full topic

Gem rbtrace-0.4.4 won't install

$
0
0

Jens Maier wrote:

So 00ab6f5f broke my development setup last night, because rbtrace-0.4.4 refuses to install properly.

One of the changes between 0.4.3 and 0.4.4 causes some confusion as to where the native extension library gets installed to; the extconf.rb queries Ruby's libdir, but the configure script generated by my system's autotools sticks to a traditional ${PREFIX}/lib path even on amd64. I'm fairly certain that this issue will only affect specific systems (i.e. Gentoo/amd64).

As a workaround, I've cloned rbtrace and applied the patch below and manually built and installed the gem.

diff --git c/ext/extconf.rb w/ext/extconf.rb
index 2bf47ce..6750b4e 100644
--- c/ext/extconf.rb
+++ w/ext/extconf.rb
@@ -38,7 +38,7 @@ unless File.exists?("#{CWD}/dst/#{libdir}/libmsgpackc.a")
       if RUBY_PLATFORM =~ /darwin/ and File.exist?("/usr/bin/gcc-4.2")
         ENV['CC'] = '/usr/bin/gcc-4.2'
       end
-      sys("./configure --disable-dependency-tracking --disable-shared --with-pic --prefix=#{CWD}/dst/")
+      sys("./configure --disable-dependency-tracking --disable-shared --with-pic --prefix=#{CWD}/dst/ --libdir=#{CWD}/dst/#{libdir}")
       sys("make install")
     end
   end

So TIL why bundling Discourse into a Docker container isn't such a bad idea afterall... wink

Posts: 1

Participants: 1

Read full topic

Badges feedback

$
0
0

Sam Saffron wrote:

This topic is mainly for @radq with feeback regarding badge implementation.

  • Badges tab should not show up in admin if badges are disabled
  • Badges tab should move left (show up after users)
  • Badge creation UI needs some improvements, should show "saved" after saving, should not submit when disabled, should have more space for description.
  • Allow us to manually assign/revoke a badge from /admin/users/user
  • Need a top level /badges route that shows all the possible badges (something like http://stackoverflow.com/help/badges )

Once this is done, it seems that "unlocking" a title has pretty unanimous approval. Allow users to use a "badge name" as a title if the badge is "silver" or up. Need a UI for them to select title, simplest approach is just copying the badge name into the title field, very minimal changes that way.

@awesomerobot can you mock up a tiny visual mock for the above ?

I want to get "manual" badge stuff working very smoothly before entering the automatic awarding stage of this project.

Posts: 93

Participants: 24

Read full topic

Viewing all 60642 articles
Browse latest View live




Latest Images