support-chat
This is the support-chat chat channel, created by KajMagnus (KajMagnus), 2016-10-01 08:47:17.784Z
Chat about Talkyard and related things. E.g. ask quick questions.
Hello! Is there an api for getting embedded comments for a certain page in json format? List Posts endpoint returns everything all together and filters are not implemented. Get endpoint returns only likes count, and if i want detailed information i need to use api key which doesn't make sense for the embedded comments case. Is there anything else?

Hi @Daria, Listing comments per page — yes, not yet implemented, but should be a somewhat quick fix. I can write more in a few days / later this week.
Is there anything else?
Maybe depends on what you want to do :- ) What's your use case, if I can ask?
(I'm guessing, though, that the best approach is to implement the get-comments-per-page functionality.)
API docs page: https://docs.talkyard.io/api/v0#tag/default/post/-/v0/list
Relevant source code in class ListController: (aborts early, since not implemented)
throwUnimplementedIf(anyFilter.isDefined && (listWhat == Posts || listWhat == Events),
"TyE603MRD4", "No filters implemented for posts and events")
I am using the API to create posts and comments. Is it possible to increase the size of the POST messages? I am guessing this is something in the backend webserver talkyard is running?
I get this error, when trying to create a page using the API (thru a POST call in Python or curl)
❌ An error occurred: 413 Client Error: Payload Too Large for url: https://archprisms.talkyard.net/-/v0/do
server_origin = "https://archprisms.talkyard.net" # e.g., "https://example.com"
secret_b64 = "REMOVED"
username = "karu"
page_ref_id = sys.argv[1]
cat_ref_id = "rid:category_questions"
# --- Define your multiline string with special characters ---
# Using a triple-quoted string makes this easy and readable.
body_content = """
Review of the paper "LightML: A Photonic Accelerator for Efficient General Purpose Machine Learning," written from the perspective of "The Guardian."
### Review Form
**Summary**
This paper introduces LightML, a photonic co-processor architecture designed for general-purpose machine learning acceleration. The authors claim to present the first complete "system-level" photonic crossbar design, including a dedicated memory and buffer architecture. The core of the accelerator is a photonic crossbar that performs matrix-matrix multiplication (MMM) using coherent light interference. The paper also proposes methods for implementing other necessary ML functions, such as element-wise operations and non-linear activation functions, directly on the photonic hardware. The headline claims are a peak performance of 325 TOP/s at only 3 watts of power and significant latency improvements (up to 4x) over an NVIDIA A100 GPU for certain models.
**Strengths**
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
The paper is well-written and addresses a compelling long-term research direction. The core strengths are:
"""
# --- Prepare the request ---
url = f"{server_origin}/-/v0/do"
headers = {
"Authorization": f"Basic {secret_b64}",
"Content-Type": "application/json"
}
# The payload is a Python dictionary, which is easy to construct.
payload = {
"doActions": [{
"asWho": f"username:{username}",
"doWhat": "CreatePage",
"doHow": {
"refId": page_ref_id,
"pageType": "Discussion",
"inCategory": cat_ref_id,
"title": "Bird vs Owl (with details)",
"bodySrc": body_content, # Your multiline string is inserted here
"bodyFmt": "CommonMark"
}
}]
}
# --- Send the request ---
try:
# The `json` parameter automatically converts the dict to a JSON string
print(url)
print(headers)
print(payload)
response = requests.post(url, headers=headers, json=payload)
# Raise an exception for bad status codes (4xx or 5xx)
response.raise_for_status()
print("✅ Success!")
print(f"Status Code: {response.status_code}")
# Print the JSON response from the server
print("Response JSON:", response.json())
except requests.exceptions.RequestException as e:
print(f"❌ An error occurred: {e}")

@karu It seems there's a just 2000 bytes limit!
def apiV0_do(): Action[JsValue] = ApiSecretPostJsonAction( // [PUB_API]
// For now, may do just a few things. [do_api_limits]
WhatApiSecret.SiteSecret, RateLimits.UpsertFew, maxBytes = 2000,
) { req: JsonPostRequest =>
queryDoImpl(req, doOnly = true)
}
(appsv/server/talkyard/server/api/QueryDoController.scala)
Is it possible to increase the size of the POST messages?
Yes, I'm about to release a new version now soon, some time week I'm guessing. I'll look into making the limits configurable. (Sorry for the temporary blocker)
using the API to create posts and comments
Ok, good idea. Mostly just out of curiosity, how large texts would you expect the AIs to generate?
Thank you!
Typical size is around 6000 characters. Would be nice to support up to 20K characters.
@KajMagnus Hi Magnus...just wondering if you had an update on the ETA for this feature.

@karu Now I've upgraded the server — 20K chars (and more than that) is now ok.
(Not impossible that there'll be some other limit you'd run into — then please let me know)
Hello. Our community portal hosted in cloud seems to be unreachable now. Is there any outage at this moment?
same issue for us today and worked just fine last night, no changes in DNS records or anything related ... A timeout occurred Error code 524
Visit cloudflare.com for more information.
2025-10-02 14:21:51 UTC
and its back and working now :) , just to confirm this is something you fixed/restarted on TY side or this is something else ?
Started working on our end too. Also curious what was that?
wondering if this is CF related issue https://www.cloudflarestatus.com/incidents/k8wn9d8kn7tz
We're down again this morning. The domain is not responding... Might be an issue on the CF side I guess, but I can't say for sure.
yes - i can confirm it - this is not good - and its not CF issue at this point this is TYard
SSL Provisioning Delays
Incident Report for Cloudflare
Resolved
This incident has been resolved.
Posted 9 hours ago. Oct 03, 2025 - 04:01 UTC
I guess its no go for this type of forum :) google bots see webpages not available few times each day and simply stop crawling going forward
502 Bad Gateway [TyE502BGW]
Talkyard's Nginx server cannot connect to Talkyard's application server.
Is the application server not running, or is there some network error?
Please check if the 'app' Docker container is running: 'docker-compose ps'
If it's not running:
- Start it: 'docker-compose start app'. Then wait a few seconds and reload this page.
- Or login in a Bash shell: 'docker-compose run --rm --service-ports app bash'
If it is running:
- Check the logs: 'docker-compose logs'
- Only Play's logs: 'docker-compose logs app'
- Or jump into the container: 'docker-compose exec app bash'
---Invalid SSL certificate Error code 526
Visit cloudflare.com for more information.
2025-10-03 18:10:32 UTC
You
Browser
Working
Newark
Cloudflare
Working
forum.stefanybags.com
Host
Error
What happened?
The origin web server does not have a valid SSL certificate.
What can I do?
If you're a visitor of this website:
Please try again in a few minutes.
If you're the owner of this website:
The SSL certificate presented by the server did not pass validation. This could indicate an expired SSL certificate or a certificate that does not include the requested domain name. Please contact your hosting provider to ensure that an up-to-date and valid SSL certificate issued by a Certificate Authority is configured for this domain name on the origin server. Additional troubleshooting information here.
I'd still appreciate feedback from the team. Do you think it was an exception and something that got fixed already?

Hi @yurist38 and @stefanybags, sorry yes the server was malfunctioning. I had changed the amount of memory from 16 GB to 8 GB but I hadn't updated the application server, so it thought it was supposed to use a lot more memory, than what was actually available.
Just after I made the change, all seemed fine, but after some day, the app server started using more and more memory, without me noticing, and eventually it stopped working.
I thought I had configured alerts that would notify me about this, but seems that didn't work, ... need to look into that. And probably there should be a checklist for changing the amount of memory so I won't forget some other time too
(A question is: How does one remember if there's a checklist for doing something, or not. How does one remember to look at the checklist)

@yurist38 and @stefanybags, I'll send you a DM in a little while
@KajMagnus good to hear that the issue is found and fixed now. Thank you for the update, I appreciate it.

Turns out I did get an alert notification about the server being offline, but I didn't notice partly because I was doing other things, partly because I got some other & more recent notifications about possibly problematic log messages — which are always almost harmless. Now I've reduced how often notifications are sent about possibly-problematic log messages, so I'll better notice the actually important alerts

(Interesting, seems pilots sometimes have some minor problems remembering to check their checklists:
"How do I remind myself to run in-flight checklists?"
https://aviation.stackexchange.com/questions/38476/how-do-i-remind-myself-to-run-in-flight-checklists
"How do you remind yourself to do your checklists?"
https://www.pilotsofamerica.com/community/threads/how-do-you-remind-yourself-to-do-your-checklists.102704/
At least there's some seemingly good advice there)

on page https://www.talkyard.io/compare/discourse
It says Install on-premise as open source (open core)
Is this still the case? what parts are not open now?


https://github.com/debiki/talkyard-prod-one?tab=readme-ov-file#installation-instructions
step 7:
Update 2021-04-04: It's better if you use firewalld instead — it's safer: Docker can bypas ufw rules, but not firewalld rules.
The script is still using ufw

@IvanTheGeek Everything in Talkyard today is open source.
SCIM and SAML (enterprise stuff) when/if implemented in the future, would probably be closed source (or source-available). And some future enterprise compliance stuff that I don't know exactly what it is.
The script is still using ufw
In the upcoming Talkyard v1 the ufw instructions will be gone, instead, just this text:
Install a firewall, for example firewalld. Note that ufw (another Linux firewall)
is incompatible with Docker, see:
https://docs.docker.com/engine/network/packet-filtering-firewalls/#docker-and-ufw.
(If you use Google Cloud Engine: GCE already has a firewall.)
Maybe I could make those edits now directly instead, no need to wait until v1 hmm.

... Now there's some edits in this main2 work-in-progress branch, with ufw removed: https://github.com/debiki/talkyard-prod-one/blob/main2/README.md#preparations

Just did a signup for the trial (you hosting). One the agreements page, the links to the TOS and Privacy policy end up being not served pages. [YES, I look over the crazy stuff like that]

@IvanTheGeek Oh you're right. Thanks for mentioning!
So, when having created a forum, and logging in as forum owner the first time, the TOS and Privacy both link to: https://www.talkyard.io/-/terms-of-use and https://www.talkyard.io/-/privacy-policy, which redirects to: https://forum.talkyard.io/-terms/of-use and https://forum.talkyard.io/-privacy/policy, both of which are 404 Not Found.
Fortunately, it's only when logging in the 1st time as owner — thereafter, when other people join the forum, the links work (they point to https://ones-own-forum/-/terms-of-use and .../-/privacy-policy).
Either I should 1) remove this dialog, when joining the forum as the forum owner. It's his/her forum, and s/he doesn't need to accept their own terms. Or 2) link to some SaaS terms instead, hmm. There's some automated emails sent later with links to the SaaS terms, you might have gotten already.

@IvanTheGeek The installation scripts repo: https://github.com/debiki/talkyard-prod-one is MIT and has always been. But it's just bash scripts and documentation. The actual Talkyard discussion forum software is: https://github.com/debiki/talkyard and is AGPL.

Thanks for the license explanation. I did not catch that. For the admin setup, I am thinking since I was doing a saas on your servers, I was expecting to find the terms and policy related to me having you host my forum, if that helps.
In signing up as my forum user, I would expect to find the forum owners (mine) tos and privacy policies.
Just feed back, hope it helps.

@IvanTheGeek Ok :- ) Now I've fixed the site owner ToS link, so it points to: https://legal.talkyard.io/talkyard-standard-saas-terms
The site owner privacy link — for now, it's: https://forum.talkyard.io/-/privacy-policy, but it's a bit messy — it's a mix of site owner and normal forum member privacy-policy :-/ Probably it'd be better if there was a new Privacy Policy for site owners owner only (& maybe site admins too).
find the terms and policy related to me having you host my forum
Yes, that was my idea too
Just feed back, hope it helps.
Yes it did / does :- )

Its nice that you have reacted so quickly!
FEEDBACK:
- the text is clear and readable
- the shortcuts are a nice touch
- also, the reference to where the terms are based off is nice
- Section 2. "When using our Services requires an account," the grammer is off somehow. Maybe either "Using our Services requires an account," or "An account is required when using our Services," or something of that nature.
- Section 2. the link (https://www.talkyard.io/-/privacy-policy) to Privacy Policy is invalid

Is there any consideration or ability to support IPv6?
Doing a whois on the IP for c1.talkyard.net (the CNAME I was told when I went to add my own domain name in admin) is showing Google Cloud. You may be using them directly or you are the customer of someone using them for infrastructure.
Either way, my cursory search about it for google is that IPv6 is included at no charge.
Two areas would need addressed:
- The dns record for
c1.talkyard.netwould need a new AAAA record pointing to the assigned IPv6 address. This would be required on your side as thec1.talkyard.netdomain will need to reply to A and AAAA requests. Once I set my custom domain (i.e. forum.example.com) as a CNAME, I can not add a A or AAAA record to it. - the server would need the IPv6 address added to its networking stack, and then whatever server is running Talkyard would need to be attached to that IPv6 address as well.
OPINION: IPv6 will never reach its full potential until as many folks that ARE able to support IPv6 ARE supporting it. As Talkyard seems to be somewhat software and technical orientated forum software (which is one of the attractions as it is more the way MY mind works), it would seem to be a good option to support the modern practices.

As I was writing a previous post, I wanted to use incline code block code. I was able to do so from knowing about already. I am more of a click guy, so I clicked the </> thinking it would do the code for the highlighted selection. It instead pull it down into a full code block with new lines. Having a logic or separate button in the editor to do inline code would be desired.
If you rather I post these things in the a topic under a category or something. Pleas let me know!

@IvanTheGeek Thanks for the feedback! Oh it's the same broken link, in another source code repo (a legal docs repo)
I haven't thought about IPv6. Actually I think it'll have to wait :- / Thanks for mentioning the areas-to-address anyway. I agree with your opinion, just that there's so much to do, so little time
About </> — hmm, if using </> for inline code, what button icon makes sense for a multi line code block button? (I asked ChatGPT but it didn't have any good ideas :- ))
If you rather I post these things in the a topic under a category or something. Pleas let me know!
Yes for new ideas / issues in the future, I'd prefer that :- )
@KajMagnus Thanks for the updates to increase the limits for updates via API. Works like a charm. I have tested it and archprisms.talkyard.net is now populated with actual content. I'll be sending a message on a blog post to the computer architecture research community on this website tomorrow. I'll keep you posted. Thanks for the support.
Hi KajMagnus,
It's Michael from The REIT Forum. Was searching for servers with talkyard chat enabled and found a link into this one. Figured I should give it a try. Maybe try it from some phones also to see how similar the experience is. The draft saving feature is nice. The preview box might get a little bit strange as it gets bigger.
I'm thinking maybe the preview box is to handle more complex messages? Or maybe it's because the chat box we write into is limited to about 4 lines in height?
Regardless, I like that this doesn't have an excessive amount of options. Nice and simple. A bit interesting with the way we can join multiple channels, but it seems viable so far. The fact someone has to hit "post message" instead of just pressing "enter" is interesting. That's probably a bonus since it reduces accidental early entry. Well, I suppose I still need to hit the "advanced editor" option.
I tried taking a screenshot of part of a page (from the talkyard.io website). Then I hit the paste button into this box. It has a brief "uploading" thing, but I don't see the partial screenshot showing up in the preview.
After a little testing. When I take a screenshot and post it into the advanced editor, it uploads the image and includes it. In simple editor, it appears to upload, but then doesn't do anything with it. I noticed that the "preview your chat message" part appears even in the advanced editor with the preview also included on the right hand side. Might get a little confusing for members with less tech background.
Screenshot showing where I'm typing in advanced editor along with both previews at once:
This is pretty cool though. The images go in nicely. The channels and direct messages on the left are clear.
A few ideas:
- Adding image uploading to simple editor would be great. For non-engineers, this would largely remove the need for "advanced editor".
- Perhaps allow disabling the "preview" by default and allowing someone to toggle a preview? Putting a button next to post message that says "show preview" or something like that? Perhaps also outlining the entire preview the same way it has a bar at the top? Or highlighting the entire preview that way?
- If this system gets single sign-on working with other blogging platforms, that would great. It feels pretty clean.
- Replacing "16 days ago" with timestamps might help with precision. Displaying in local time would be nice if possible. IE. "Oct 29, 2025 3:02 PM."
- There are only two features that feel absent as a user (not sure about moderator):
5A. The ability to create a thread and have threaded comments. .
5B. The ability to use reactions on a comment.
I created a screenshot of how threads are configured in Rocket Chat since I like their thread implementation much more than the Discord thread implementation.
I really like the platform you're developing here. I may need to look at the forum implementation simply because the chat system is so well designed.
For chat admins: It would be great to have the ability to restrict certain channels to paid members (as part of single sign on) and to restrict free accounts from being able to start a private conversation with anyone who is not a server admin (reduces scam potential).
Thank you for all your great work!
