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

GSoC Babble improvements draft

$
0
0

@GlitchMr wrote:

(the Application Guide says it's fine to create a draft on forums, so sure, why not, perhaps somebody will provide me some hints about this)

Name: Konrad Borowski
Meta Discourse Name: GlitchMr
Email: xfi... it's on my profile anyway, and it's better protected from spam here (the final PDF will have it written properly, but until then...)
Country & timezone: Poland, GMT+1
School Name & Study: Politechnika Warszawska, Computer Science

Synopsis

A chat plugin for Discourse called Babble is going to be improved to the point where it will be a really usable chat system, while keeping it simple. I like working on chat systems myself, I find them interesting. I believe I'm qualified, by sending a few Discourse patches before.

Specification

The project's purpose is to implement various improvements to the Babble plugin which implements a simple, but really neat chat plugin for Discourse. In particular, those improvements should be implemented

  • Editing posts

    While playing a bit with this plugin, I quickly realized that posts cannot be modified. This is how it works in systems like IRC, but such behavior doesn't really make sense in context of Discourse. Misspellings happen, and while you can correct them by writing another message with a correction, wouldn't be it simpler and cleaner to just let the user modify a post.

    The simplest user interface would be to make pressing Up button allow modifying the post, however, that only applies to keyboard user interface, mouse user interface needs another solution.

  • Allowing flagging posts

    As it happens, spam is a common problem of forums. Giving users the capacity to flag Babble posts, just like other posts on Discourse would help a bit with abuse. The flag system is not supposed to deal with non-post content, but as it happens, chat posts are posts too, and administrators can see chat threads whatever the case is.

  • Allow deleting posts

    There are two reasons to add this feature.

    First of all, staff members would have to be able to delete posts that actually were flagged, that is a given. What would be a point of allowing to flag posts, without the system being able to behave to it in any way.

    Second, a user could have realized that he didn't want to write what he wrote. Or perhaps missed a really obvious thing. Being able to remove posts (even if they could be still seen by staff) would help clean chat a bit.

    The biggest issue is an UI for this feature. The chat system is intended to be simple, and it's hard to fit any buttons into it. Perhaps requiring visiting the chat thread would work? (just thinking out loud)

  • Information about other user typing

    That one should be simple, I think? The general idea is that when the user is typing something. The extension in question is similar in design to XMPP's XEP-0085

  • File attachments

    If an user wants to share a screenshot (can happen), why require using an external service to do it, when Discourse has perfectly fine attachment system. For some reason, chat doesn't use it however.

    This can be solved by adding a button to add attachments (the same as while writing posts) and by allowing to drag and drop files into chat box.

  • Sending notifications on @-mention

    That one, I do admit, is trickest from all the points mentioned here, but nevertheless important. If an user says something, leaves, then he is notified, and 100 unrelated messages appear, the user should be informed about a notification after he returns, without having to read all the messages.

    Why is tricky? Notification types are an enum that is within Discourse source code, so other applications cannot add new notification types.

    Although, I guess you could just link to a post in chat thread, and use a standard mention notification. It's probably simpler.

  • Linking to posts

    While technically not part of an idea mentioned on a site, it feels really weird to have dates that don't do anything when clicked, and yet work as hyperlinks. They probably were supposed to be permalinks, so why not implement that while improving everything else?

Anticipated challenges

I... honestly cannot think of anything at this point. Perhaps my inability to think of deletion UI, but otherwise I have a general idea how to implement those improvements.

Groundwork

I already checked Discourse code and Babble source code in order to get a general idea how would I go about implementing this feature. I also made a few contributions before to Discourse, although they aren't particularly big or anything.

I did made a shoutbox feature for a forum I wrote long time ago (like 8 years ago in PHP, wow, time sure goes fast), although that was long time ago, and probably not that much of interest. I also wrote an a converter of certain proprietary chat protocol to IRC (using IRC server written in Golang).

Project Schedule

I do admit, at first I assumed that the project was 3 months, but apparently it's 4, which I realized while writing this schedule (which actually makes things easier, because projects always take longer than you expect).

In general, the idea is to not take more than a week (potentially expandable to 10 days if needed, perhaps due to technical difficulties) to finish a usable version of a feature (although may be slightly buggy, later on it should be improved by me). The features in question are somewhat independent, so the order is mostly meaningless, although the editing feature will probably be implemented first, because lack of it is most annoying from these (at least for me).

This general plan should allow expanding if needed, but I also should not use this opportunity unless really, really, really needed. If I need to ask myself, it means it's not needed :wink:.

The features will be worked on a git branch, that will be sent as a pull request, so code review could be performed early on. It's not a good idea to wait with those things :slight_smile:.

Experience

I don't really have experience with Ruby on Rails, but looking at Discourse code, and contributing some small things, I can manage it (it's just yet another MVC framework, isn't it?).

That said, I did work on various open source projects, and timezones are somewhat annoying, but they can be dealt with, by for instance sending messages that can be read by another person later on. I'm comfortable speaking in English, I wrote this draft after all :smile:. I did work for instance on fish shell, which is quite popular software I would say, although I do admit I didn't work on it recently, because university is hard (I don't think university will be a problem during summer break however).

As for deadlines, I usually set myself deadlines even when I technically don't need to, because otherwise I usually do things way too slowly, so... nothing new to me.

What after Google Summer of Code

I do plan contributing to Discourse even after Google Summer of Code, however, I cannot really guarantee anything (I was contributing to fish shell, and am still contributing, although because of difficulties at university, I don't contribute as much as I used to). That said, if I will have time to contribute, I will try to. I like Discourse myself, and I believe the point of Google Summer of Code is not much as writing code for a task, but rather staying as a contributor, once you will like the first real project.

This draft is unfinished, I will look into improving it until the deadline.

Posts: 3

Participants: 3

Read full topic


Can't change mail address on Meta

$
0
0

@Sander78 wrote:

I'm trying to change my mail address from info@mydomain.ext to mail@mydomain.ext but I get the error that the address is in use already. But it's not... I checked with a lost password link.

Posts: 8

Participants: 3

Read full topic

Topic not deleted after deleting spammer

Android mobile device detection is too broad

$
0
0

@jomaxro wrote:

Continuing the discussion from Android mobile device detection is too strict:

So...since @codinghorror's change went through, Discourse now appears in mobile view for my 10" Samsung Galaxy Tablet (user agent below). According to the link shared in the linked post, Samsung Galaxy tablets currently take second place in for the US share of tablet visits. It has 7%, up from 6% a year before. This data shows 2 things that I think were overlooked: 1, Samsung tablet usage increased year over year, and 2, this is US only. When smartphone OS is looked at on a global scale, Android blows iOS away. I believe the last data from IDC showed Android at over 80%, so I would assume that tablet usage globally is greater than 7% (though still less than Apple).

Data aside, I think catching the second most used tablet is important. While avoiding a 100+ line regex statement is good, this one seems too short...

Mozilla/5.0 (Linux; Android 5.0.2; SM-T800 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.91 Safari/537.36

Posts: 4

Participants: 3

Read full topic

Docker install, endless "downloading base image"

$
0
0

@JimmyX wrote:

I installed docker on my laptop. I get as far as logging into the docker with "vagrant ssh" and then I execute

vagrant@vagrant-ubuntu-trusty-64:/vagrant$ ./launcher start

WARNING: We are about to start downloading the Discourse base image
This process may take anywhere between a few minutes to an hour, depending on your network speed

Please be patient

Unable to find image 'discourse/discourse:1.0.17' locally
1.0.17: Pulling from discourse/discourse
a64038a0eeaa: Pulling fs layer
ccf2399b95e2: Pulling fs layer
158b4b978387: Pulling fs layer
a3ed95caeb02: Pulling fs layer
a3ed95caeb02: Download complete
a64038a0eeaa: Verifying Checksum
a64038a0eeaa: Download complete
a64038a0eeaa: Pull complete
a64038a0eeaa: Pull complete

That was over night. Does this take days?

Posts: 6

Participants: 2

Read full topic

How big is your backup?

$
0
0

@ljpp wrote:

It looks like my community is generating data roughly at a pace of 100MB's per month, maybe a little more. With linear projection, my backup size in December would be 1.2GB and in December 2026 around 12GB. The images seem to be ~50% of the whole package.

Thats a lot of data. The previous decade (2006-2016) we did with SMF, and the last backup was 175MB zipped, containing 245K posts but very few images. We seem to generate new posts at a much faster rate with Discourse.

  • How big is your backup?
  • How do you manage them when the size goes up?
  • Will I be in trouble after a few years dumping or restoring a backup with the size measured in several gigabytes?

Posts: 3

Participants: 2

Read full topic

Ability to specify external url to edit sso overrides

$
0
0

@mkew wrote:

We've just got SSO implemented and running smoothly - very happy so far! :grinning:

We are currently using the 'sso override' settings for user details and avatars. A small feature addition that we'd find really useful would be to able to specify an external URL to redirect users to to edit these attributes.

This would be especially useful for members who have signed up just to participate in the forum, who may not necessarily be aware that they can edit various different user settings both in the forum and in our other site.

In our implementation it would be a single URL to edit all 4 attributes, but I guess to be a universal approach it might be necessary to specify a url for each attribute.

Any thoughts on this?

Posts: 2

Participants: 2

Read full topic

Using private / personal messages as long term chat

$
0
0

@codinghorror wrote:

One thing we've noticed come up on a few sites is a pattern of behavior where

users make almost no public posts, but spend most of their time in very, very long PM topics that can be tens of thousands of replies long

There are a few problems with this:

  • We currently have a massive perf problem with longer topics as we send down a list of all IDs of all replies in the topic, which can be enormous -- if the topic is 50k replies long, it includes 50k ids in a list in every request. Longer term we do plan to fix this, but restricting very long topics is something we need to do in the short term, unless there is a very good reason for a topic to have 50k replies, it should be avoided.

  • Private reply activity is fine, in context with other public activity, but when almost all your activity is private, it feels a bit counter to the goals of the overall community and is certainly not something we want to encourage.

  • We totally get that some communities want a chat feature very badly, and this is something that is solidly on our medium term roadmap. We hear you loud and clear and we largely agree; there's a legitimate need for a more real time "lane" on the highway. But abusing Discourse personal messages to force it into a private chat system is not the right way to support that feature.

  • It skews activity data on the site, so the public side of the site which is what most see will be unusually slow despite "good post volume", while there is this giant burgeoning secret clique-ish underground that few have visibility into.

Thus, we've decided to add a new site setting for maximum allowed replies in a PM topic and it will default to 200. After that limit is hit, the PM will be auto-closed by the system user with a brief explanation and reminder something like

This personal message was automatically closed after reaching the maximum of 200 replies. Consider adopting a chat system if you need long term, persistent personal messaging.

This should introduce some desired friction into this behavior, making it harder to abuse, without unreasonably limiting "real" personal message topics.

Posts: 1

Participants: 1

Read full topic


Cannot view 0.0.0.0:3000 in browser, and localhost:4000 gives error

$
0
0

@GaurangTandon wrote:

This is my cmd log:

intl@intl-PC  /f/discourse (master)
$ vagrant ssh
VM must be running to open SSH connection. Run `vagrant up`
to start the virtual machine.

intl@intl-PC  /f/discourse (master)
$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 3000 (guest) => 4000 (host) (adapter 1)
    default: 1080 (guest) => 4080 (host) (adapter 1)
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Remote connection disconnect. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: The guest additions on this VM do not match the installed version of
    default: VirtualBox! In most cases this is fine, but in rare cases it can
    default: prevent things such as shared folders from working properly. If you see
    default: shared folder errors, please make sure the guest additions within the
    default: virtual machine match the version of VirtualBox you have installed on
    default: your host and reload your VM.
    default:
    default: Guest Additions Version: 4.2.0
    default: VirtualBox Version: 5.0
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
    default: /vagrant => F:/discourse
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.

intl@intl-PC  /f/discourse (master)
$ vagrant ssh
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-23-generic-pae i686)

 * Documentation:  https://help.ubuntu.com/
New release '14.04.2 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

Welcome to your Vagrant-built virtual machine.
Last login: Sun Mar 20 07:47:34 2016 from 10.0.2.2
[vagrant@precise32:/vagrant (master)]$ bundle exec rails s -b 0.0.0.0
You are running an old version of bundler, please upgrade bundler ASAP, if you are using Discourse docker, rebuild your container.
You are running an old version of bundler, please upgrade bundler ASAP, if you are using Discourse docker, rebuild your container.
=> Booting Thin
=> Rails 4.2.6 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
Thin web server (v1.6.4 codename Gob Bluth)
Maximum connections set to 1024
Listening on 0.0.0.0:3000, CTRL+C to stop

Whenever I go to 0.0.0.0:3000, it tells me:

So, I tried localhost:4000 (but that's not the url the cmd says). Anyway, I get to a page which gives the error:

ExecJS::RuntimeError in List#latest
Showing /vagrant/app/views/layouts/application.html.erb where line #29 raised:

SyntaxError: discourse/models/badge-grouping: Unexpected token (6:2)
  4 | export default RestModel.extend({
  5 |
> 6 |   @computed('name')
    |   ^
  7 |   i18nNameKey() {
  8 |     return this.get('name').toLowerCase().replace(/\s/g, '_');
  9 |   },
  (in /vagrant/app/assets/javascripts/discourse/models/badge-grouping.js.es6)
Extracted source (around line #45):

43      tags.html_safe
44    else
45      javascript_include_tag(*args)
46    end
47  end
48

Rails.root: /vagrant

Application Trace | Framework Trace | Full Trace

app/helpers/application_helper.rb:45:in `script'
app/views/layouts/application.html.erb:29:in `_app_views_layouts_application_html_erb__915713446_127392560'
lib/topic_list_responder.rb:15:in `block (2 levels) in respond_with_list'
lib/topic_list_responder.rb:11:in `respond_with_list'
app/controllers/list_controller.rb:85:in `block (2 levels) in <class:ListController>'
config/initializers/100-quiet_logger.rb:10:in `call_with_quiet_assets'
config/initializers/100-silence_logger.rb:26:in `call'
lib/middleware/missing_avatars.rb:21:in `call'
lib/middleware/turbo_dev.rb:33:in `call'

Request

Parameters:

None
Toggle session dump
Toggle env dump
Response

Headers:

None

(also, when I get this error, my cmd automatically gets filled with hundreds of lines of code of .scss. Strange!)

My path to getting vagrant set up seems to be pre-filled with obstacles which I don't understand :confused: Please help me with this error. Thanks! :slight_smile:

Posts: 1

Participants: 1

Read full topic

1 to 1 PM vs Group Messaging

$
0
0

@gingerman wrote:

Is there a way to completely block 1 to 1 PM for users but only allow Group Messaging with admin (for private email support)

Posts: 3

Participants: 2

Read full topic

Migration from Xenforo?

Convert "answer" to "linked topic"

$
0
0

@mfaure wrote:

Hi,

On our forum, the admins would like to be able to "convert" an answer to a linked topic (to maintain discussion threads clean). I didn't find anything that could match, neither on the actions available in Discourse nor in the already asked questions.

Does anybody knows if it is possible to tranform an answer into a linked topic ?

Posts: 2

Participants: 2

Read full topic

Need to rebuild app after changing app.yml?

$
0
0

@JimmyX wrote:

If using the Virtual Box (not docker) is there a need to "rebuild the app" after changing app.yml?

I actually copied some files over from the docker install because the file app.yml (taken from standalone.yml) was not there.

Perhaps I am screwing things up.

Posts: 1

Participants: 1

Read full topic

Anyone using gmail for SMTP?

$
0
0

@JimmyX wrote:

Trying to get discourse up and running I used gmail for the SMTP mentoned in app.yml. A feature of gmail is allowing this according to this article. It doesn't work. My settings are something like this (I changed my email and pw).

## on initial signup example 'user1@example.com,user2@example.com'
DISCOURSE_DEVELOPER_EMAILS: 'myemail@gmail.com'

## TODO: The domain name this Discourse instance will respond to
DISCOURSE_HOSTNAME: 'localhost'

## TODO: The mailserver this Discourse instance will use
DISCOURSE_SMTP_ADDRESS: smtp.gmail.com
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: myemail@gmail.com
DISCOURSE_SMTP_PASSWORD: thepassword
DISCOURSE_SMTP_ENABLE_START_TLS: true

Posts: 3

Participants: 2

Read full topic

File upload broken?

$
0
0

@carlokok wrote:

when trying to upload a 1.5m image I now get:

"Sorry, the file you are trying to upload is too big (maximum size is 10240kb)"

was working fine a few weeks ago.

Posts: 6

Participants: 2

Read full topic


Special Privileges for Certain Users?

$
0
0

@pradeep wrote:

We've recently started to use discourse and finding it quite valuable. We want to assign a 'custom badge' to our 'customers'. I've following questions related to it:

  1. Is it possible that we can invite them to join in a certain way such that they automatically get that custom badge. I saw an option of Groups. Can we create a group and invite our customers through that and all the members of that group automatically get a badge?

  2. We should then be able to search for queries by group members so that we can reply those on priority.

If not the above option then how can we meet our objective? This privilege for our customers should be controlled by us.

Posts: 2

Participants: 2

Read full topic

Bitnami install on AWS EC2 - email won't work

$
0
0

@Simon_Donaldson wrote:

I know this install technique isn't supported but if anyone can help me debug the issue I would be very grateful!

I launch the image, runs correctly, I add my mailgun settings and all test emails send fine. I can change username, password, test email and post notifications etc. Perfect.

Then I set up an elastic IP and run bnconfig --machine-hostname DESTINATION then restart... boom. No more emails.

I then backtrack and reset the hostname to the EC2 instance and remove the IP etc, restart, doesn't fix it.

I'm not ready to give up just yet though but sadly the bitnami forums aren't helping.

These are the sidekiq errors:

Can anyone help me debug this, or do these errors make more sense to someone?

Posts: 2

Participants: 2

Read full topic

Cloaked-collection not present?

$
0
0

@stevenpslade wrote:

I'm currently working to fix some bugs in my plugins as I have just upgraded to the test-passed version of Discourse. I am currently getting this error which prevent topic threads from loading:

Uncaught Error: Assertion Failed: A helper named 'cloaked-collection' could not be found

I have not seen anything that cloaked.js has been removed. Thoughts, suggestions?

Posts: 4

Participants: 2

Read full topic

More concise language for About topic title in new Category

$
0
0

@scombs wrote:

When creating a new category, the About topic title is currently:

About the [Category Name] category

This can be changed by a user, but it would be more concise to change this to

About [Category Name]

I find myself changing it every time I set up a new category. Not hard to work around obviously. Just a thought.

Posts: 4

Participants: 3

Read full topic

Banner ad within header

$
0
0

@tcn33 wrote:

Continuing the discussion from Add menu items to main header area:

I am trying to get a 468x60 banner ad to display between the forum logo and the hamburger menu. It should then disappear when the user scrolls down, as @codinghorror mentions in the parent thread. Whatever I try, the ad always appears above the forum logo.

Any tips on getting this to work?

Posts: 1

Participants: 1

Read full topic

Viewing all 60613 articles
Browse latest View live




Latest Images