Going to Admin, Plugins, Akismet (or directly there via the red blob when Akismet has hidden a post) for me renders a blank page and a couple of Javascript errors in the console. Same on both Safari, Chrome on Mac and iPhone.
Error: More context objects were passed than there are dynamic segments for the route: adminUser.index
Error: Something you did caused a view to re-render after it rendered but before it was inserted into the DOM.
Error: You cannot modify child views while in the inBuffer state
Discourse now has some great email logs for rejections, and includes the "offending" message, but it doesn't confirm that the user got an email notification of that failure.
Would it be a good idea to somehow include the error message that the user received when their email was rejected?
Case: - anonymous user sends mail to group - someone from group replies - the anonymous user replies from another address - mail is bounced, but with a 500 server error
Of course this is an odd case. It happened because I tested something myself and then used the wrong from address. However, getting a 500 server error because of this is still an odd error.
Edit: I just noticed in that error that it's the Mailgun plugin that I was using. So forget it. this is not a (confirmed) bug. @andreabedini, could you have a look?
I just tried to post a bug report with this title: Uninitialized constant Email::Receiver::UserNotSufficientTrustLevelError causes 500 server error. But it wasn't accepted as not being descriptive enough...
Case: - Create a topic with a valid title - Wait til other topics appear (by other users, whatever) - Go edit the title to something invalid, you'll get an error that's it's not accepted - Press the X to cancel the edit - The topic will be pushed to the top as if it had been edited.
Not a bug per se, but because of a background picture I use I noticed the whitespace of some tables isn't far enough to the right. Watch the background picture bleed in behind the word topics.
What does it mean when a link has two "number of clicks" badges, such as in this post? They both have the same tooltip ("N clicks") and link to the same post.
I checked with the founders and they are ok with us restarting this thread with a view to discussing the development of a plugin to deliver some form of WYSIWYG post editing in Discourse.
Bearing in mind @sam's & @codinghorror's previous comments that the core team would not consider undertaking such development for the foreseeable future, what remains is the opportunity for the rest of us to get together and produce the plugin ourselves.
That's assuming that there is enough genuine interest in which to make this project viable.
Assuming there is, how we go about this would be our next consideration. Do we have the required skill sets and sufficient time to make it happen? - or if not, are we prepared to form a small cooperative in which to raise the necessary funds to make it possible?
Sam has already pointed out that this is not an easy task - so let's not fool ourselves that this a 2 or 3 week project - with obvious ramifications on our time and potentially our pockets.
But if we keep our objectives modest, at least to begin with, then I think we stand a chance of delivering something which would, in my view at least, greatly benefit the wider Discourse community. And of course, given it's an optional plugin, we'd hopefully avoid discussions relating to bloatware, bandwidth and server requirements that seem to thwart many initiatives of this type.
Before passing this over to the community to discuss, here's a few of my thoughts that have been developing over the past few weeks.
1 - How much can we achieve by enhancing the existing setup? By that I mean building on top of the existing UI, perhaps with a slightly better editing experience - but importantly, keeping Markdown as the formatting language. I'm deterred from this approach because if any low hanging fruit existed in this area, the founders would probably have added it one quiet weekend. But we should explore this in case we can apply the 80/20 rule and get a reasonably big hit for not a huge amount of effort.
2 - If the above (1) is not viable and, or desirable, the worry is once we step outside of Markdown (which Sam alluded to below), the impact on other areas of the code base would be significant. But that shouldn't deter us, because if we believe WYSIWIG editing is worth the effort, then we need to find the path of least resistance whilst still achieving our objectives. And besides, there may be an alternative way of thinking (see 3).
3 - I probably should have started with this, but what we mean by WYSIWYG is key. I see it as an enhanced editing experience allowing complex HTML structures to be created. I don't see it as simply allowing the user to select bold more easily. If it were, we'd take the route described in scenario 1 above.
The Barcelona & Tenerife post below is an example of what I mean.
This is taken from a prototype that I developed a few days back and it's saved away on the server and renders exactly as you see it above - although I cheated by HTML encoding the HTML and enclosing it in an <a ...></a> wrapper, which was then decoded during the post view render event below - note the following supports multiple encoded wrappers,.
$(this.element).find('.cooked a[href="#decode"]').each(function (index, element) {
var encoded= element.innerHTML;
var decoded = $("<div/>").html(encoded).text();
$(element).replaceWith(decoded);
});
It works very well, but it's a hack and not very Discourse like - although something similar could? be considered.
In case you were wondering, there was no editor involved above - I see that as the simpler bit. For this example I simply copied source HTML from a WYSIWIG editor, HTML encoded it, wrapped with an a tag and pasted it into the post, before saving. Note, that I did manage to leave the existing post contents (shown in red) untouched because only the escaped (a tag wrapped) components were pre and post processed - the rest was left as was. It also quotes very nicely because the HTML in the quoted text is removed during the strip and bake process.
4 - I think the above is overkill for comments, but I would like to see something like the above post made available when creating topics, either limited to specific categories and or against specific trust levels. This also implies that comment creation and editing would not typically be provided with this full fat solution.
Some other issues to consider, but perhaps to be picked up and added to by the community:
5 - What editor?
6 - How is the HTML saved away. Raw? encoded as above ..? or?
7 - How are these posts rendered in search, emails and other activity summaries?
8 - What other considerations are there for the rest of the system?
10 - How do we handle images?
And so on.
Over to you. Is there interest and if so, how do we go about it?
Ps. Please bear with me on this, I am fairly new to the platform which I believe to be the best available. Bar none. So please do tread lightly with me if I've misunderstood one or more aspects of the system and how they work.
It seems to me that if someone my message, the notification should be a message notification, not a topic notification. So it should be green, not blue.
I have these errors and I have no idea how to solve this. After a launcher rebuild app I could change the picture of two users and then the third went bad. And those other two didn't work either before that rebuild.
It's complaining about not being able to open /var/www/discourse/public/assets/select2.png.
2016/02/17 20:34:50 [error] 54#54: *203 connect() to [2400:cb00:2048:1::6819:f017]:443 failed (101: Network is unreachable) while connecting to upstream, client: 172.17.0.1, server: _, request: "GET /letter_avatar_proxy/v2/letter/f/57b2e6/240.png HTTP/1.0", upstream: "https://[2400:cb00:2048:1::6819:f017]:443/v2/letter/f/57b2e6/240.png", host: "domain.ext", referrer: "https://domain.ext/admin/users/5/frida"
2016/02/17 20:34:50 [error] 54#54: *203 connect() to [2400:cb00:2048:1::6819:f117]:443 failed (101: Network is unreachable) while connecting to upstream, client: 172.17.0.1, server: _, request: "GET /letter_avatar_proxy/v2/letter/f/57b2e6/240.png HTTP/1.0", upstream: "https://[2400:cb00:2048:1::6819:f117]:443/v2/letter/f/57b2e6/240.png", host: "domain.ext", referrer: "https://domain.ext/admin/users/5/frida"
2016/02/17 20:37:37 [error] 54#54: *296 open() "/var/www/discourse/public/assets/select2.png" failed (2: No such file or directory), client: 172.17.0.1, server: _, request: "GET /assets/select2.png HTTP/1.0", host: "domain.ext", referrer: "https://domain.ext/users/frida/preferences"
Not sure if this is related, but there are IPv6 errors as well.
I just upgraded my Discourse from 1.4 to the current tests-passed.
An error that I am having trouble with after the upgrade is: Uncaught TypeError: Cannot read property 'reopen' of undefined in regards to Discourse.CategoryTitleLinkComponent.reopen (this is in one of my plugins).
So I am trying to search for why CategoryTitleLinkComponent is now undefined.
Some places I'm looking are the Category controllers and helpers/category-link.js.es6.
From Github I am used to specifying the language of the code block in the "info string" (name from commonmark spec), but it seems that Discourse does not do this. At least not this and the other Discoruse instance I am using.
When I inspect the resulting <pre><code> block it always has lang-auto set.
Examples
The following is YAML and has ```yaml specified, but is highlighted as CSS:
- include: scope:source.c#cparens
The following is (again) YAML and has ```yaml specified, but is highlighted as PHP:
Users on our forum (Hopscotch forum) have recently found a way to bypass the profanity filter by putting invisible by putting an invalid html tag between two parts of the word. For example, the word gmail is by default blocked. But, you can do:
Gm<any invalid tag>ail
Which makes the word 'gmail' show up, because the tag in the middle is invisible.
One of our users is concerned that this could be used to throw off our spam filter, Akismet, by doing something like
Ge<dfg>t f<dgf>ree co<shd>upons on some<hh>thing today! www<fg>.example.com As a test, I made a post with a bunch of repeated chinese characters on an alt who had never posted before, the kind of thing that would be flagged as spam, but put invisible html tags between some letters, and it didn't get flagged as spam. Can Akismet be made to ignore these tags?
Is there a way to disable users entering any domain names / urls in their "name" profile field?
Someone just tricked the system by entering their website into the "name" field next to their real name, and then posting here and there some nonsense, which lead to their website ads in many topics.