rea wrote:
Here is details: http://askubuntu.com/q/436975/152405
Please help me, if you know what's problem.
thanks
Posts: 2
Participants: 2
rea wrote:
Here is details: http://askubuntu.com/q/436975/152405
Please help me, if you know what's problem.
thanks
Posts: 2
Participants: 2
Jeff Atwood wrote:
I've checked how they do synced scrolling in Ghost and it turns out that it is extremely simple - they just keep the relative position of both panes in sync, i.e. if the source pane is scrolled to 30% of its height, preview pane is also automatically scrolled to 30% of its height.
In most typical cases both source and and preview contain almost only text, so their height is more or less proportional and this approach works quite well. This method also seems to be very performant and scalable, as it chceks only the pane height and scroll position, without parsing the text etc. so it shouldn't be dependent on the amount of content in the pane.
However in cases when the content between panes is very disproportional (e.g. if you embed a link to a tall image, that in the source pane is just a single line of text and in the preview pane is an actual image, several hundreds of pixels high or if you put 30 newlines in the source that get squashed into a single newline in the preview) scrolling in Ghost can go out of sync.
@sam What do You think? Should we give similar simple approach a try? Or do you want to have something exactly accurate?
Posts: 34
Participants: 7
Erlend Sogge Heggen wrote:
Any good reason why I'm not even allowed to create a topic and pin it to have a description for it if I so please?
Posts: 3
Participants: 2
Ying Long wrote:
A poll is identified by its title prefix.
So if the prefix is configured as "aaa:" in one language, and "bbb:" in another, topic titled as "aaa: a new poll" will not be shown as a poll in the later.
It is terrible in multiple language forum.
Posts: 2
Participants: 2
D Iff wrote:
When I run
vagrant up
, it's ok before this line:Preparing to edit /etc/exports. Administrator privileges will be required...
After above prompt, it asks for password, and here is the error that occurs:
[sudo] password for diff: nfsd running sudo: /usr/bin/exportfs: command not found ==> default: Mounting NFS shared folders... The following SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed! mount -o 'vers=3,udp' 192.168.10.1:'/home/diff/discourse' /vagrant Stdout from the command: Stderr from the command: stdin: is not a tty mount.nfs: access denied by server while mounting 192.168.10.1:/home/diff/discourse
Posts: 7
Participants: 2
Raghu wrote:
Hello,
I am following the Digital Ocean installation guide and am running into the following problem when I
./launcher bootstrap app
:It reaches the
INFO -- : > cd /var/www/discourse && sudo -E -u discourse bundle exec rake assets:precompile
step, and starts chugging along, but then fails at
rake aborted! File to import not found or unreadable: vendor/normalize. Load paths: /var/www/discourse/tmp/ember-rails /var/www/discourse/vendor/bundle/ruby/2.0.0/gems/handlebars-source-1.1.2 /var/www/discourse/app/assets/fonts /var/www/discourse/app/assets/images /var/www/discourse/app/assets/javascripts ...
Finally,
2014-04-01 14:19:48 UTC LOG: received smart shutdown request [172 | signal handler] (1396361988) Received SIGTERM, scheduling shutdown...2014-04-01 14:19:48 UTC LOG: autovacuum launcher shutting down 2014-04-01 14:19:48 UTC LOG: shutting down 2014-04-01 14:19:48 UTC LOG: database system is shut down [172] 01 Apr 14:19:48.467 # User requested shutdown... [172] 01 Apr 14:19:48.467 * Saving the final RDB snapshot before exiting. [172] 01 Apr 14:19:48.512 * DB saved on disk [172] 01 Apr 14:19:48.512 # Redis is now ready to exit, bye bye... /pups/lib/pups/exec_command.rb:85:in `spawn': cd /var/www/discourse && sudo -E -u discourse bundle exec rake assets:precompile failed with return #<Process::Status: pid 285 exit 1> (RuntimeError) from /pups/lib/pups/exec_command.rb:55:in `block in run' from /pups/lib/pups/exec_command.rb:53:in `each' from /pups/lib/pups/exec_command.rb:53:in `run' from /pups/lib/pups/command.rb:6:in `run' from /pups/lib/pups/config.rb:85:in `block (2 levels) in run_commands' from /pups/lib/pups/config.rb:76:in `each' from /pups/lib/pups/config.rb:76:in `block in run_commands' from /pups/lib/pups/config.rb:75:in `each' from /pups/lib/pups/config.rb:75:in `run_commands' from /pups/lib/pups/config.rb:71:in `run' from /pups/lib/pups/cli.rb:31:in `run' from /pups/bin/pups:8:in `<main>' 6604e4cc59312d6932c14202174554b281015c9c9583fd8d55271953bf84481d FAILED TO BOOTSTRAP
Any ideas on how to start fixing this? Many thanks
Posts: 4
Participants: 2
Kane York wrote:
With my laptop and the spotty campus WiFi, I've noticed that Discourse doesn't handle sudden connectivity loss very well. For example, try this test:
- Disconnect network
- Click notifications bubble
Expect: Some visual indication that I clicked on the bubble. Anything!
Actual:Uncaught promise
is logged to the console and no header popup is shown.
- Disconnect network
- Click logo
Expect: Some sort of graceful degradation
Actual: Infinite loading spinnerAdditionally, it would be nice if the backend had cleaner paths to error returning. If I look at
application_controller.rb
, I see at least 4 utility functions for returning an error:
handle_unverified_request
returns a 403 with the text['BAD CSRF']
. This is handled by Discourse.ajax().- rescuing from
RateLimiter::LimitExceeded
returns 429 with a JSON object with anerrors
array and atime_left
parameter.- rescuing from
Discourse::NotLoggedIn
either redirects to/
or returns a 403 withfailed_json.merge
, adding amessage
string.- Similarly, but a little differently, rescuing from
Discourse::ReadOnly
returns a 405 with failed_json merged with a message.Discourse::NotFound
andDiscourse::InvalidAccess
callrescue_discourse_actions
, which has such weird behavior, I'm going to need subbullets to explain it:
- If the request is from the URL bar or an external link, the 'Not Found' page with a login button is returned. (example)
- If the request is from JS, but the status is 404, the Not Found page is returned anyways.
- If the request is from JS and the status isn't 404, it renders plaintext: either
[error: 'not found']
or[error: 'invalid access']
. Both of these, and the Not Found page, are guaranteed to break the JSON parser.Other controllers use the
failed_json.merge
method, but there's even another error path:render_json_error
which is called with an ActiveRecord object and serializes its.errors.full_messages
.admin/screened_ip_addresses_controller
provides a nice example of this here.Just as an extra punch in the face, if you're running in development mode, none of the
rescue_from
s are run and instead you get the beautiful Rails error page: https://meta.discourse.org/uploads/default/4104/6a7ea727bef9e3bb.png (Oh, this also happens for the ActiveRecord errors too, so it's also impossible to do manual tests ofrender_json_error
in a development environment.)I've started trying to add all the catches here.
What it does is repurpose the
render_json_error
method from something specific to ActiveRecord objects to taking any array of messages (that's the return type offull_messages
). It gives the client a JSON array like this:{ success: false, /* compat with success_json */ failed: 'FAILED', /* compat with failed_json */ messages: ["The site is in read only mode. Interactions are disabled."] }
An intermediate goal would be to make sure that every
Discourse.ajax()
call either provides an error handler or passes the promise to a function that adds one. Thestatus-complete
state would be that every call has an appropriate response to the request failing.
Posts: 3
Participants: 2
Wojciech Zawistowski wrote:
There are two places where you can specify files excluded from JSHint linting:
.jshintignore
test/javascripts/jshint_all.js.erb
.jshintignore
influences Travis (but doesn't exclude file when running tests in browser via/qunit
URL whilejshint_all.js.erb
excludes files from browser runner but doesn't influence Travis.Ideally this should be merged into a single configuration, in a single place.
Posts: 3
Participants: 2
Sam Saffron wrote:
As we approach 1.0 I feel we need to spend a bit more time focusing on UI polish. I am creating this topic to collate issues I would like to see fixed.
Hopefully some people looking to help out with Discourse can try working on some of these.
Issues I want fixed
Footer padding gets out of sync: start typing a new topic in the composer ... size it big ... got to random topic ... footer padding is not added so you can not see the last post on topic. (workaround, resize composer once more so footer padding is added). This need to be added everywhere automatically. Including admin screens.
Expanding user card (click on my avatar) has a shoddy jarring visual effect, it sizes the window twice. Instead just setting a fixed width and sliding down if it needs extra height.When you make a new post it jitters, first render renders without your avatar, then its re-rendered with avatar. Jitter must go, needs to be seamless. Feel free to try on try.discourse.org
Uneeded "Loading ..." images when clicking between tabs. When you navigate from "latest" to "new" we unconditionally show a "Loading ..." gif, this should only show up if you are waiting longer than say 500ms.
We unconditionally reload topic page if you click on "title". instead it should scroll you to top if post 0 is already in memory. Same for in between posts navigation (eg quoting and so on)Reloading a page with a big draft will often lead to this rendering bug:
Mac Chrome. Navigating back using the back button to the latest page is "glitchy" if you have scrolled down a topic. It rerenders the title undocked (as if you are on post 1) and then navigates back, this looks really glitchy
Synchronized editor, Ghost (open source) has a feature where it ensures the line you are typing in the composer is in view in the preview. This really helps composing longer posts like this or situations where space is tight. Whoever takes this needs to make sure perf does not suffer.
Mac OSX - Chrome ... while typing stuff in search box search box is half visible.Experiments needed
- Page transitions: nodebb and stripe use a technique that fades out the page you are leaving and in the page you are going to. see: http://community.nodebb.org/category/3/nodebb-development and click on a topic. This can either be over-the-top or help usability - it is worth an experiment, if done in a subtle way it can look pretty good (probably a default off thing for now)
Am I missing any other polish issues here?
If you are helping out with Discourse and would like to take any of these on, reply here.
Posts: 30
Participants: 17
Erlend Sogge Heggen wrote:
Have you noticed this?
I've seen smileys popping up in a lot of unintentional places on this forum today.
Posts: 6
Participants: 5
Michael Brown wrote:
As seen here, we need to add support for next-generation interactions:
http://www.redditblog.com/2014/03/headdit-revolutionary-new-way-to-browse.html
I figure that if @sam gets on it right away, we should be able to have it deployed by the time civilization wakes up.
Posts: 3
Participants: 3
Stephen Reinert wrote:
I like using draw.io for diagramming. It would be nice to aid discussions with diagrams from there using the latest version of the diagram. Draw.io allows you to embed an editable drawing as an HTML/Javascript snippet, but this doesn't currently work in a Discourse post.
Would creating a onebox file for draw.io be the right approach? Or is this a new feature?
Posts: 4
Participants: 2
megas wrote:
I'm following official tutorial but using Linode as cloud server.
I've installed the discourse but I can't setup mail configuration and then I don't have any administration access.
I've created Mandrill account and put its credentials to discourse configuration.
But I don't understand the meaning of "SPF and DKIM records", I don't use any DNS tool for now, I can access my website through default Linode name - www.li670-74.members.linode.com
What should I do setup mail and get administration access?
Thanks
Posts: 4
Participants: 3
Sander Datema wrote:
When you upload a backup file (or when you made one) and want to restore it, Discourse will look for the archive in the
default
location. Thattar
command, however, does look in the right place but will fail of course.No error is shown, it's only visible in the log.
Posts: 2
Participants: 2
Sander Datema wrote:
I get errors like these:
2014-04-01 15:47:51 UTC ERROR: relation "users" does not exist at character 323 2014-04-01 15:47:51 UTC STATEMENT: SELECT a.attname, format_type(a.atttypid, a.atttypmod), pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum WHERE a.attrelid = '"users"'::regclass AND a.attnum > 0 AND NOT a.attisdropped ORDER BY a.attnum
And there are more, like missing
site_settings
relation:2014-04-01 15:48:09 UTC ERROR: relation "site_settings" does not exist at character 36 2014-04-01 15:48:09 UTC STATEMENT: select name, data_type, value from site_settings
BTW, I use the multisite instructions:
Posts: 3
Participants: 2
Michael Downey wrote:
Continuing the discussion from How can you hide the MiniProfiler?:
Is this (in the admin settings) something possible to do? Since the mini-profiler is always on the left side of the screen, it's often in the way for a language that has left-to-right reading and left-justified text. It'd be great if we could toggle it on only when needed for troubleshooting.
Posts: 2
Participants: 2
Alfonso Muñoz Pomer Fuentes wrote:
I have an instance of Discourse already set up and running in production mode, but the little snippets of execution times by MiniProfiler still show up. How can you disable it? Does it affect performance significantly?
Posts: 12
Participants: 9
Kane York wrote:
I am 70% sure that something I did in the Ember code is horrific. Not sure what though. Care to point it out?
Posts: 3
Participants: 2
deweydb wrote:
When i run
bundle exec rake autospec
i get this error. pretty stuck.rake aborted! NameError: uninitialized constant Sidekiq::Util /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/sidekiq-failures-0.3.0/lib/sidekiq/failures/middleware.rb:5:in `<class:Middleware>' /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/sidekiq-failures-0.3.0/lib/sidekiq/failures/middleware.rb:4:in `<module:Failures>' /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/sidekiq-failures-0.3.0/lib/sidekiq/failures/middleware.rb:2:in `<module:Sidekiq>' /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/sidekiq-failures-0.3.0/lib/sidekiq/failures/middleware.rb:1:in `<top (required)>' /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/sidekiq-failures-0.3.0/lib/sidekiq/failures.rb:8:in `<top (required)>' /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/sidekiq-failures-0.3.0/lib/sidekiq-failures.rb:1:in `<top (required)>' /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/bundler-1.6.0/lib/bundler/runtime.rb:76:in `require' /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/bundler-1.6.0/lib/bundler/runtime.rb:76:in `block (2 levels) in require' /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/bundler-1.6.0/lib/bundler/runtime.rb:72:in `each' /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/bundler-1.6.0/lib/bundler/runtime.rb:72:in `block in require' /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/bundler-1.6.0/lib/bundler/runtime.rb:61:in `each' /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/bundler-1.6.0/lib/bundler/runtime.rb:61:in `require' /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/bundler-1.6.0/lib/bundler.rb:132:in `require' /var/www/adrian/forum.bassmusic.io/discourse/config/application.rb:11:in `<top (required)>' /var/www/adrian/forum.bassmusic.io/discourse/Rakefile:5:in `require' /var/www/adrian/forum.bassmusic.io/discourse/Rakefile:5:in `<top (required)>' /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/rake-10.2.2/lib/rake/rake_module.rb:28:in `load' /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/rake-10.2.2/lib/rake/rake_module.rb:28:in `load_rakefile' /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/rake-10.2.2/lib/rake/application.rb:677:in `raw_load_rakefile' /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/rake-10.2.2/lib/rake/application.rb:94:in `block in load_rakefile' /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/rake-10.2.2/lib/rake/application.rb:176:in `standard_exception_handling' /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/rake-10.2.2/lib/rake/application.rb:93:in `load_rakefile' /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/rake-10.2.2/lib/rake/application.rb:77:in `block in run' /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/rake-10.2.2/lib/rake/application.rb:176:in `standard_exception_handling' /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/rake-10.2.2/lib/rake/application.rb:75:in `run' /home/adrian/.rvm/gems/ruby-2.0.0-p451/gems/rake-10.2.2/bin/rake:33:in `<top (required)>' /home/adrian/.rvm/gems/ruby-2.0.0-p451/bin/rake:23:in `load' /home/adrian/.rvm/gems/ruby-2.0.0-p451/bin/rake:23:in `<main>' /home/adrian/.rvm/gems/ruby-2.0.0-p451/bin/ruby_executable_hooks:15:in `eval' /home/adrian/.rvm/gems/ruby-2.0.0-p451/bin/ruby_executable_hooks:15:in `<main>'
Posts: 4
Participants: 2