To-do List
-
Yeah, I can do that. But are we sure we want to do that? In theory I could add an option to make it selectable if one wants to open the link in a new tab. But, personally, I think it's better to just have all links open in the current tab, and then people just know that a ctrl+click opens links in new tabs in basically any browser on any OS. Or a long touch on any mobile browser brings up a context menu to open in a new tab. I'm not big on opening like 50 tabs at once, but I know a lot of people are, and I suppose that it may be easier to do that if all links inside of posts default to open in new windows. But, personally, I don't think it's that hard to just hold the ctrl button.
Just an FYI, we could, in theory, git rid of this rich text stuff altogether and just do Markdown: https://www.markdownguide.org/basic-syntax/ . Which a lot of programmers these days are already adept at. I thought this ("Trix") was the best option for Rails right now--and it is extensible with some JS knowledge. You can add any kind of functionality that fits in a <figure> tag, it just takes some customization in the code to make a button for it...
Regardless, any changes made to the way text gets printed that we want to apply to ALL posts, would go here.
I think I fixed the other issues with the profile page and the email links, can I get an confirmation on this?
-
But, personally, I think it's better to just have all links open in the current tab, and then people just know that a ctrl+click opens links in new tabs in basically any browser on any OS.
Every website on the internet nowadays defaults to new browser tab. I think you should make it a choice to opt out. I like the META cuz I like one taps and avoid keyboard shortcuts like other lazy people.
-
Can we make hyperlinks open in new tabs and not the current tab? ... Every website on the internet nowadays defaults to new browser tab.
My experience is that links open in the same tab unless you opt to open in a new tab (via CTRL or long-touch). I don't even know how to opt out of links that open in a new tab by default. Some do that of course but it's bad practice on the part of some sites that need to link to sources etc. but also need you not to leave their site.
we could, in theory, git rid of this rich text stuff altogether and just do Markdown:
Nah, Trix is good. There are some methods for selecting text that will come in handy for quoting. And the basic functionality 'just works'. I've tried others that didn't.
-
Also, I think that the 'Reply' link in emails is broken on paginated threads. I think it needs
?page=
followed by the actual page number in the query string before the post's anchor tag.
The "Commented on [Date]" link on all the posts needs this too. Then instead of adding pinned post to the Finished category, we might add them to a user-specific list for easy reference later. I was trying to bookmark a specific post you (Cody) made and I was able to do it by manually adding the page variable to the URL.
-
There are now user settings for "auto-subscribe on post" and "open all post links in new window," defaults to false for both.
Page links should be fixed for permalinks on posts, and I added a link to the last post of a thread as part of the information of a thread on the thread index.
-
Oh, I also changed back to a sort of "solved" functionality from the "pin" function. I think we should keep the solved functionality, make it so only the thread creator can "conclude" a thread, and upon conclusion the editor shouldn't show up for anyone but thread owners.
I then think we should add ANOTHER function for pinning posts, then we should discuss the best way to have them show up. Should the thread be re-organized so they just skip to the top, and don't show in the position they were originally posted (or just a placeholder). Or, another example, there could be a dropdown with pinned posts at the top of each thread. I know other forums operate, generally, with pinned posts just showing up at the top and removed from their place in the thread--but we can do whatever we want.
-
Well, all of that seems to be working tip top. Jolly good. The "Last post by Cody" link says four days ago. Sorry for the late reply. I somehow got unsubscribed from the thread. Actually I know exactly how; I was dorking around with the pin button. I auto-subbed on post. That's definitely a welcome change although I think that should default to ON just because I think people generally want to hear how others will respond to their comments rather than dropping the mic and leaving the room
.Very nice to get proper links to posts. I think each post should have the date (not linked) then a 'Copy Link' link and the a 'Pin This Post' checkbox. If the box is checked, the post will appear in a list on the left maybe under the 'By Category' list.
As for concluding posts, I'm not sure how necessary it is to do that. I have another idea for keeping things manageable but we can get to that later. I really want to clean up the profile/settings page. The problem is that I still have no idea how it's rendered. I see all the forms under app/views/devise but I don't how they end up on one page. If I did, I could divvy them up into collapsible groups and then I wouldn't be confused about which password field needed to be filled.
Side note. Maybe only things related to security/identity should require a password. Settings should be simple.
-
- Subs default to on with single post in thread
- Conclude originally came from the "solved" from the original repo. So...I agree about conclusion not being necessary, so maybe we should remove or find a way to repurpose it to the "pin" button (so we can have multiple pins). Because right now, you can only have one post "solve" a thread.
- Agreed RE settings, it'd also be nice if those were just AJAX, so you click and it's done, don't even need to hit "save" or anything.
Time is getting pretty thin, but I'll see if I can sneak time in for this stuff sometime soon. I also REALLY want to get something together for better quoting.
Had an idea to use this: https://atomiks.github.io/tippyjs/
Select text -> tippy pops up, click the "quote this" button in the pop up--> focus on editor window, append special new quote format thing building on the beautiful thing you already added (just including the poster's name and a link to the post). But, again, a time thing.Also mentioned in the "thread type" thread, may be time for a new "to-do" thread this one is getting long. Or, I guess it could just go on indefinitely--though, the "pin" functionality would help out a lot here.
What's the way the Pins should look like again? Gotta review some posts...
-
So...I agree about conclusion not being necessary, so maybe we should remove or find a way to repurpose it to the "pin" button
How posts should be pinned/flagged/conclude etc. really depends on the thread format... This particular thread is just a running log of ideas and solutions. I don't think it should ever be closed. The only problem I see is the pagination running wide. Maybe we can work an ellipse in there? As for pins, now that posts have proper links, bookmarking those in the browser will suffice in most case. As a matter of convenience, we could add a category for threads where you've pinned posts and/or a quick link to the post itself but that's certainly not a top priority.
If we pursue the peer review idea, It would require at least the ability for the mediator (and only the mediator) to pin multiple comments (in everyone's view) until those comments have been resolved.
Had an idea to use this: https://atomiks.github.io/tippyjs/
Yeah, that looks pretty slick. Is there a way to make the tip show up as soon as you select on mobile (where there's no hover)? Trix has some text select functions built in that I was going to look into implementing. Automatically having the poster's name and a link added would be some very impressive coding though...and then having the quote automatically pasted onto what's in the comment box ;^)
I think your idea for breaking the comment box out into its own column so you can compose and navigate the thread simultaneously is great too but would only work on PC.Time is getting pretty thin, but I'll see if I can sneak time in for this stuff sometime soon. I also REALLY want to get something together for better quoting...
...it'd also be nice if those were just AJAX, so you click and it's done, don't even need to hit "save" or anything.These are things that can and would like to help with but the file structure for the views and assets is a dark labyrinth. I know it's not sexy, but consolidating those resources so that it's clear what's referencing what and where the elements are that I should be referencing is top priority IMHO.
-
The only problem I see is the pagination running wide.
It actually may be the case that it's already going to create an ellipses, I just don't know when, maybe after 5 pages? If not, good point, we'll need to look into that.
As a matter of convenience, we could add a category for threads where you've pinned posts and/or a quick link to the post itself but that's certainly not a top priority.
Interesting, do you mean that pins should be related to the User and not shared by all through the Thread? Or, Thread pins AND users pins. Though, yeah, User pins would just be bookmarks.
f we pursue the peer review idea, It would require at least the ability for the mediator (and only the mediator) to pin multiple comments (in everyone's view) until those comments have been resolved.
I like the idea. I think there are four distinct functions that I have mixing in my head. (This is mainly for my reference and to think about how it would actually work on the back-end)--not a to-do list just a logic exercise:
- Within categories, pinning threads to the top of categories.
- Bookmarks for posts specific to users which would show up in their own way somehow.
- Pins inside of threads with the peer-review type that would be pinnable only by a mediator, and then viewable by everyone.
- Optional regular pins in of other thread types that would only be pinnable by the original poster and would be viewable by everyone.
For me I have to think about these in terms of Models and database Relations. (Numbers correspond to above)
- Add "pins" Array column to ForumCategories. Moderators can "pin" ForumThreads, which adds the Thread id to the array attached to ForumCategories.
- Add and Array column to Users with pins, or make some kind of Join Table for users and posts.
- Add "thread_type" enumerable column to ForumThreads, Add "pins" Array column to ForumThreads, have functionality change for Peer Review thread type.
- Add "thread_type" enumerable column to ForumThreads, Add "pins" Array column to ForumThreads, have functionality change for regular thread types.
Another way to do this would be to just make a separate ForumPins Model, and then specific the type of pin (enumerable, maybe like 0=>bookmark, 1=>threadpin, 2=>categorypin, 3=>peerreviewpin) and somehow flush out how the logic works for that. As with anything in programming there's lots of ways to do the same thing, but how it gets done at the basis changes what's possible in the future.
Is there a way to make the tip show up as soon as you select on mobile (where there's no hover)?
You can set the "trigger" to "manual" and then find the tippy instance and call ".show()" on it with whatever logic you want, including capturing selected text--but I've never tried to do that before so it would take some learning. Sounds fun though.
-
ăăăȘă WebPacker: https://www.simplethread.com/rails-7-the-end-of-webpacker/
-
It actually may be the case that it's already going to create an ellipses
If that's the case, it needs to do it earlier (preferred) or we need to put pagination on its own row (clutterier) because it's already scrunched on mobile.
Or, Thread pins AND users pins.
I mean there could be a filter for 'Pinned' and, if you've pinned a post in a thread, that thread would show up under that filter. Then, next to the 'Last Post' button at the top of the thread, there could be a 'Pinned Post' button. Remove pin from post = remove thread from filter.
Within categories, pinning threads to the top of categories.
Yeah, this is pretty standard for 'Read This Before Posting' type stuff. It would definitely be needed in a thread that functions differently in general than threads you're used to AND functions differently for users who are taking on different roles.
Bookmarks for posts specific to users which would show up in their own way somehow.
See above...
Pins inside of threads with the peer-review type that would be pinnable only by a mediator, and then viewable by everyone.
Yeah, but we shouldn't call them pins because that's confusing. How about flags? (Even though that has some negative connotations.)
Optional regular pins in of other thread types that would only be pinnable by the original poster and would be viewable by everyone.
Yeah, I mean this is only relevant for Stack Exchange type threads where there is a specific question and an accepted answer. I don't imagine we're going to do much of that. Low priority I think.
ăăăȘă WebPacker
Well, I still don't understand what it does but it seemed to add a layer of complexity where it was intended to remove one so Buh-Bye.
-
Not sure if this has been brought up but sometimes after I post, the page refreshes and I'm thrown back to the first post on page one. Most of the time it properly refreshed to my freshly posted post. Also, sometimes the page numbers are sometimes missing from the top of the thread pages.
-
Here's my dream quote button.
function getSelectionHtml(){
var html = '';
if (typeof window.getSelection != "undefined") {
var sel = window.getSelection();
if (sel.rangeCount) {
var container = document.createElement("div");
for (var i = 0, len = sel.rangeCount; i < len; ++i) {
container.appendChild(sel.getRangeAt(i).cloneContents());
}
html = container.innerHTML;
}
}
else if (typeof document.selection != "undefined") {
if (document.selection.type == "Text") {
html = document.selection.createRange().htmlText;
}
}
return html;
}$("#quotebutton").on('click', ()=>{
var postURL = // get the URL with the post# somehow
var author = // get the author's name somehow
var selectedHtml = getSelectionHtml();
if (selectedHtml == ''){ // nothing selected
selectedHtml = // get the trix document of the entire post somehow
}var html = "<blockquote>";
html += selectedHtml;
html += ` - <a href="${postURL}">${author}</a>`;
html += "</blockquote><br>";$("#commentbox").append(html).focus();
});
Each post would have its own quote button. Clicking the button gets
- the selected html (not just text) from the window object or, if nothing is selected, the entire trix document of the post.
- the name of the poster
- a URL to that specific post
It automatically adds everything you selected (or the entire post) to a blockquote and appends the name of the poster as a hyperlink to the post that the quote came from. Then it pastes that into the comment area and focusses on it so you can bang away. Ideally, you could go back and quote any number of things and they'll be appended but that's only going to work for comments on the same page as the content of the trix editor does not persist across pages.
I didn't write the function but I tested it and it works fine. I just don't know how to get the poster's name, the link to the post or the trix document programmatically.
-
That is dope AF. We can make it happen, the gears are turning as we speak. BUT, I am just too swamped. I had an hour here to do as I pleased, but I have spent it all on content instead of upgrades/updates. But, there will be time again, may be a bit though. December is our busiest online-sales month in oyster land, which means a lot of little tasks for me.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better đ
Register Login