codidact / qpixel Goto Github PK
View Code? Open in Web Editor NEWQ&A-based community knowledge-sharing software
Home Page: https://codidact.com
License: GNU Affero General Public License v3.0
Q&A-based community knowledge-sharing software
Home Page: https://codidact.com
License: GNU Affero General Public License v3.0
I tried to post the following comment, which according to the tracker was exactly 500 characters:
"Thank you both for explaining that background. If we have separate categories for photo/video/CV, then within the first two at least we'd still have a mix of technical and artistic, right? Will the former drown out the latter? Or is the idea that each of these categories would be small enough that the artistic posts would still be seen? Are there questions that would apply to both, so having to choose photo vs video would fragment the questions? A good ontology (category & tag) will be critical."
It neither posted nor emitted an error message, which I think is the current expected behavior for comments that are too long. When I edited to remove one character (499/500), it posted.
Since the UI reports "X/500", that implies to me that you can actually go up to 500. It seems the current maximum length is actually 499.
After navigating here https://outdoors.codidact.com/posts/74762/history
and opening the first history option it looks like this,
The top of the history diff is getting hidden underneath the sidebar.
Main and meta currently use the same set of tags. We need to split those up so they use their own distinct sets; this probably means adding a category
field to the tags table.
Recent layout changes have made the main question list on the site much less usable to me. We've now fixed one of them (the avatar change), but apparently we are now enforcing a "table view" style that IMO is misusing the real-estate. Question titles are squished, some stats are huge out of proportion with their value, and some text is now abbreviated:
To put that in text:
Question titles get only a small portion of the page width now; they used to have most of the main (left) column. This makes scanning down the list of question titles feel quite unnatural.
The answer count is huge, like the score and the time since last activity. It ought to be smaller and not carving out a vertical slice of the page -- either the text flow we had before (something like "3 answers, last activity 14h ago, Joe Blow" below the question), or maybe a small "3 answers" under the question score, or... something else that conveys info without staking out exclusive horizontal territory.
Ditto for the last-activity timestamp -- we absolutely need that, but we don't need it in 72pt. And to the uninitiated, "2d activity" is not very clear I don't think.
The user name is separated from the activity; we want to see who did what when.
Please restore the layout we had before the gravatar change was made, even if it means reverting code, and then if we need to rework things because of changes in the design framework, let's discuss the constraints and needs so we can come up with something that works for the community we're supporting as well as for whatever's driving the code change.
Steps to reproduce:
Expected behavior: alert should notify user that comment is over character limit.
Actual behavior: nothing happens. Comment remains unposted, no notification to user.
Describe the bug
I have two "unread" notifications. They don't go away.
To Reproduce
I'm not sure if this is reproducible at all, but here's what I did
Steps to reproduce the behavior:
Expected behavior
Number of unread items goes down as I click each one, eventually to 0.
Desktop (please complete the following information):
I'm trying to edit a question on Writing Codidact tagged: editing world-building psychology-of-writing.
When I have made the edit and click "Save Changes", I get an error message back:
The following errors prevented this post from being saved:
- Not all of this question's tags are in the correct tag set.
This looks like the same error as in #46, but whatever was done to fix that doesn't seem to have worked for this other question on main Q&A.
Desktop Firefox 68.7.0 on Debian GNU/Linux.
Admins (not moderators) should be able to edit profiles on behalf of any other user.
This is a screenshot of (part of) my user profile in a browser that's currently 1168px wide:
The "user" part is laid out in three (uneven) columns:
This section of the page is further compressed by the presence of the right column that also appears on other pages on the site.
To me, the "about" column looks very squished, and there's a lot of empty space in the other two columns. The right column is also more oriented toward questions than profiles, though perhaps we'll fill it with more user-focused stuff later.
I don't want to ask for big changes when we'll probably be redesigning this page later anyway, but it seems that if we could combine the two sparse columns, we could have more room for the "about" text while still having everything on the page. Could we move the links and tools under the avatar (adjusting the width some), or move the avatar to the top of the column with the links/tools, or put the links/tools below the "about" text somewhere, or... something?
The import script currently available (in scripts/import) has limited functionality: it can only import by tag, by user, or everything. We need to be able to fulfil more granular requests than that.
For ease of implementation, the easiest way to do this may be to change the script to accept a link to a Stack Exchange Data Explorer query, which should return the IDs of posts to be imported; the script should then find those IDs from the data dump (and API, where necessary - it's much slower) and import the relevant data.
There's currently no way to view/sort/search a list of tags, each linking to a list of questions under the tag. We should have that.
This issue was reported here: https://meta.codidact.com/questions/74780
Codidact Meta does not have a matching SE site, but it's still possible to try to link an account. If you do, you get the error "Couldn't parse client_id".
If we offer the "link SE account" option on all sites, it would be better to catch this and report back something like "This site does not have a matching SE site so you can't link an account".
Even better would be to only offer the "link SE account" interface on sites that have associated SE sites, but I don't know how hard that is. (n.b.: I'm aware of a possible "native" Codidact community, one not coming from SE, so this would apply to them if they move forward.)
I noticed that on Writing Codidact, the "Hot Posts" sidebar has one Meta question, three Q&A questions, and one untagged "Terms of Service" which points at https://writing.codidact.com/questions/39221
Following that link (at least without having signed in) leads to a "Not Found" page.
That page, in turn, includes this sentence:
If you believe you encountered this page in error, or you want to report a fault, you can contact the administrator at [email protected].
While example.com
is good for, well, examples (it's reserved for the purpose by RFC 2606), it doesn't make a particularly useful email address for someone to use to try to contact a live human.
I believe that, if it's to be there, the email address should be changed to a valid one which reaches a live human being.
Yesterday I got email from new subscriptions for the first time and it included lots of questions. That didn't seem wrong for a first message.
Today I got email from those subscriptions and it still includes...a lot of questions. My subscription for Site Suggestions on Meta includes all three questions, the oldest of which was asked 12 days ago.
Shouldn't "new" mean "new since the last email"? (Or, more precisely, "new within the frequency you specified", even if it doesn't precisely align with when the email is assembled and sent.)
The site is now showing gravatars in place of user names. I don't care if we show gravatars alongside that info (though they'd need to be smaller), but I really don't want to lose the names. Names are meaningful to me; hard-to-see blobs of graphics are not.
I realize the name is available in a tooltip, but that's extra work and I don't know how to access it on a touch interface. Maybe reverse it -- show the name as text and let the gravatar (and maybe other stats) appear in the tooltip.
I realize you changed other things, making the answer count and last-activity time huge to line up with the gravatars. You'd have to revert that to make names fit. I'd rather have the meaningful text even at that cost.
Copied from https://github.com/ArtOfCode-/qpixel/issues/61 (oops, wrong repo).
NOTE: The details are wrong. It's not Javascript, it's site-specific cookies. See the discussion in the comments.
Describe the bug
Trying to log in to a Codidact site results in a 500 error unless Javascript is enabled.
To Reproduce
Steps to reproduce the behavior:
Actual result:
A text/plain response with the following body:
500 Internal Server Error
If you are the administrator of this website, then please read this web application's log file and/or the web server's log file to find out what went wrong.
Expected behavior
Returning to the front page of the Codidact site, having been logged in or a message is displayed indicating that Javascript is required.
Screenshots
Not applicable.
Desktop (please complete the following information):
Additional context
Nothing known relevant; ask if it's needed.
To Reproduce
Steps to reproduce the behavior:
Desktop (please complete the following information):
A user on Writing Meta suggested a category where people could post their work, either for critique or just to share. A concern is that publishing something, even informally, can impede or even prevent selling that work to a publisher later -- some publishers won't buy what was previously publicly available for free, even if that was an earlier or unfinished draft. The thinking is that restricting read access to the category to signed-in users would suffice. See https://writing.codidact.com/questions/74774#answer-74810.
In thinking about this use case, I realized there's another use case for access-restricted stuff: moderator-only content. On my sites we sometimes wanted to have a place to stash things like templates for our own mod messages, notes about ongoing investigations, and suchlike, and mod chat on SE was terrible for that (and we're not planning chat, let alone private chat, for MVP).
Note that there are two factors here: visibility of the content (can be gated by trust level), and visibility of the category, i.e. even seeing that it exists. For the moderator case there'd be no reason for non-mods to see a tab (and entry in the category list) that they can't access. For the Writing case that's less clear; maybe we want a tab that, if you click on when not signed in, gives you a message about how to access that content. Or maybe it should stay hidden. We need to think more about that part.
I'd like to take on #1 if it's still available.
We need to look into a client-side Markdown renderer and render posts as they're being typed so users have a live preview.
Currently when trying to seed the posts table it will fail because the post_type_id is not set.
Changing
- post_type_id: <%= PolicyDoc.post_type_id %>
to
- post_type_id: 3
in db/seeds/posts.yml
fixes the problem, but I don't know if that's the way it should be fixed.
With the rollout of categories, the question list is missing the pagination controls at the bottom, so only one screenful of questions is available there. This is true for all tabs (questions, age, score, lottery -- though I don't think lottery ever offered more than one page), on both Writing and Outdoors. (Meta doesn't have enough questions to trigger pagination.)
I tried to tag a question on Codidact Meta as status-completed. The tag doesn't exist, but the tags section allowed me to add it as usual. When I submitted the edit I got this error:
Ok, I get that my new tag isn't in a tag set yet (and doesn't even exist), but until we have tag sets, can we allow tag-creation in the usual way? Or if that's hard, I guess we need to raise the priority of the new "create tag" workflow.
Until we have the new workflow (and maybe even after that), it seems reasonable to assume that any new tag being created is to be added to the current category's tag set. A category has only one tag set, so we don't have to worry about resolving ambiguities there.
We could also mitigate my specific problem by creating the status tags on Meta, but with the new Outdoors site we might have people wanting to create new tags there, too.
When categories are updated infrequently (blogs, resources, sometimes meta), it's easy for new posts to fly under the radar. Could we have some sort of indicator in the category tab that there's new stuff, since your list visit, over there? This could be either a count (like"Meta (2)") or just a toggle if there's anything (like "Meta (*)"). This should trigger on new posts but not new comments. Visiting the category should reset it, even if you didn't click through to read the new posts.
The terms of service at /policy/tos on any Codidact site, under User-Generated Content, suggests that permission to use design elements can be obtained by emailing [email protected]
.
I suggest that this is changed to a general address, such as [email protected]
.
If you click "sign in" it asks you for an email address and password (quite reasonably), and if you click "sign up" it asks for info and offers to create an account for you. But if you already have an account on a different Codidact site, things are a little confusing: "sign up" won't work because that account already exists, and "sign in" does work but since you've never been here before you might not think to try it.
Could we add the following notices to these pages, above the forms?
Sign up: "If you have an account on another Codidact site, do not create a new account here. Instead, [sign in](link to sign-in page) with that account."
Sign in: "Your username and password are the same on all Codidact sites."
Recently I noticed that I haven't gotten any email from my daily "new questions" subscriptions on Writing and Meta. Thinking that recent updates had maybe clobbered them, I recreated them a few days ago. And I'm still not getting email, even though there have been new posts.
I asked around, trying to determine if it's something at my end or farther upstream, and Art hasn't gotten subscription email lately either. I don't know that it's a problem at QPixel's end, but could you check the logs to see if messages are being sent out?
The "hot questions" section of the main page on Writing currently shows:
The first and last of these entries are meta posts, but you can't tell by looking at them. In the future there could be hot posts from other categories (like a blog), and some of those might have titles that resemble those on main Q&A, so going by titles isn't a long-term fix.
Could this list indicate the category if it's something other than the current one? Or, if that would be too weird on meta where things would logically be tagged Q&A, maybe we should just show the category for everything?
Also, the section is currently titled "Hot Questions", but soon we will have things -- that I hope might become hot -- that are not questions. How about "Hot Posts"?
If we can get away from "hot", which is kind of SE-insider jargon, then that's even better, but the obvious label includes "active" and that could cause confusion with the "activity" tab on the question list. So if anybody has any ideas then let's consider them, but in the meantime let's de-questionize it.
It was pointed out to me in a tweet (https://twitter.com/jlericson/status/1257726563304435714) that Amazon links that get posted to SE get turned into affiliate links that benefit SE. That's fine for content they host, but is it feasible to sanitize those links on our sites? If so there are two pieces: fixing links we already have (example in https://outdoors.codidact.com/a/46124/46134) and catching them when importing data.
Here https://outdoors.codidact.com/meta/ask
the word wrap looks weird because of the split when the div is at full size. It caused by notice a{
rule in application.css
Also the notices above and below the question have different text, not sure if that is a bug or done that way on purpose.
Tags that were imported,
https://outdoors.codidact.com/questions/tagged/5/paragliding
https://outdoors.codidact.com/questions/tagged/5/bears
are not showing up correctly when you click on them, while tags on questions that have been created since, do show up with a tag page and link to those questions, but not to questions that were tagged with the same tag in the imported content.
This shows correctly for the new question,
Not much detail needed, I believe :)
Wrapping this software up in a Docker container will surely make development, testing and deployment easier. At first glance, three containers are required: a Redis, a MySQL, and the last one for this app itself.
The Dockerfile would be pretty straightforward: Install necessary software from APT repository and RubyGems, then ENTRYPOINT /usr/src/app/bin/rails
. A custom script to initialize the application by reading environment variables and generating the configuration files at the first start is also in need.
With all those stuff ready, a docker-compose.yml
should be easy to work out.
The Dockerfile
file from Charcoal-SE/metasmoke would be a good point to start at, although it's missing some best-practices for Docker.
Ideas?
This screenshot is from this edit history: https://writing.codidact.com/posts/38328/history
Can you find the change? I couldn't until I scanned both in parallel looking for changes in word wrap and narrowing from there.
It's the URL in the first paragraph.
We need qpixel to be able to support a network of sites, as opposed to the single site it currently supports. That's a fundamental change, so this is a lot of work and potentially pretty complex. Some concerns in no particular order:
community
field added to them (integer FK to a Communities table). Users should be shared across communities.Describe the bug
"https://" gets prepended to the Website link field every time you click save on the edit profile page.
If you start out with codidact.org, when you click save it will become https://codidact.org, but then when you click save again, it will become https://https://codidact.org, each time save is clicked it will continue to prepend another https://.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The URL will either be what the user entered, verbatim, or it will check if the protocol is already specified in the specified URL.
When a user leaves a comment on a post, the workflow includes typing up the comment and then clicking the "Post" button next to the "Your comment" field.
However, upon clicking "Post", there is no clear indication that the comment is being posted. Especially if the user is on a high-latency connection, there can be a noticable delay during which there is no indication that anything is happening.
I propose that, when clicking "Post", something visible in the UI indicates to the user that the comment is in the process of being posted. I don't have an exact suggestion for how to indicate that; it could be a donut spinner, animated dots, or simply changing the button text to "Posting" while disabling the button for the duration, or something else.
It's been pointed out to me that the Speculative Science site (most immediately), and math/science sites in general, will need support for math. (I know we've discussed this, but I don't remember if we reached any conclusions.) Speculative Science wants to import data that already uses Mathjax, and other sites might also import such content from SE, so it will probably be easiest if we support Mathjax specifically rather than picking some other tool and then having to deal with conversion.
Users can currently flag posts and moderators can leave feedback on processed flags, but neither can see a summary of flags per user and the feedback left. That'd be useful to have.
From the Outdoors front page:
The first of the two links to https://outdoors.codidact.com/questions/46971, which has 0 answers (not 3).
The second links to https://outdoors.codidact.com/questions/41874, which has 3 answers (not 0).
I noticed and reported duplicates (in Discord) about a day ago. The examples I found then had different answer counts on the question list and different URLs, but they both had all the answers when I clicked through. I don't know if this means there are two separate problems, or if fixing that caused this somehow. I don't have the previous examples handy, sorry.
I told a Writing user about the new Outdoors site, and the person said words to the effect of "hey great -- I never would have known that from looking at your site". That's true; each of our sites looks like a standalone site, and unless you find your way to codidact.com, you'd never know there are others. Ok, right now there are just two plus meta, but we hope that'll change soon -- and even the two ought to know about each other.
Eventually we'll design some sort of cross-site navigation, but for now, could we find a place to add some text? Something like "This site is part of the Codidact network. See a list of our other sites (link)." One place to put this would be in the right column, below the "ask" button and above the hot links.
Alternatively, and until the list gets long, maybe we could actually list them (using our JSON API).
The right column includes subscription links for "new questions" and "interesting questions". I'm not sure those links still work with the change to categories, but since each category has a "subscribe" link at the top, even if they work they seem redundant. Can we remove them? It seems odd for subscription stuff to be in two different places on the page like that.
The links to "Terms of Service" and "Code of Conduct", in the page footer on outdoors.codidact.com, point to writing.codidact.com. They should probably be site-relative; for example, /policy/tos
instead of https://writing.codidact.com/policy/tos
.
When a user exceeds the character limit for a post, answer, or comment, there is currently no indication of anything wrong until they attempt to post. It's unpleasant to write several paragraphs and then be told "sorry, too much."
When a user is close to the character limit for a post, answer, or comment, there should be a visual cue letting them know how many characters are left or by how many they exceed it.
This warning will clearly communicate when a user is near the limit so there is no frustration after submitting the post and only then learning that it needs to be rephrased or broken into multiple parts.
The button near the top right of the page (on desktop) says "sign in".
The page you get to when you click on it says "log in".
The button near the top right of the page (again, on desktop) says "sign up".
The page you get to when you click on it says "sign up".
The recently added notice on the sign up page says "sign in".
The "forgot your password" page has links "log in" and "sign up".
Once you're logged in, you can "sign out".
Can either please be changed so that it is consistent?
Compare here on Github, which uses "sign up" and "sign in" but does so consistently.
Personally I prefer "sign up" and "log in"/"log out", because even at a glance they actually look different, but either's fine with me.
Tags currently have no short or long description. We should have both of those - the short description to be used to provide context and usage information, the long for more detailed descriptions, as on SE.
We need a preferably client-side solution to highlight differences in post history. We already have before/after, but the specific changes are not highlighted.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.