by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jan 30 2019 08:08
    hoang17 starred kemalcr/kemal
  • Jan 30 2019 06:38
    cayter starred kemalcr/kemal
  • Jan 27 2019 18:40
  • Jan 27 2019 15:56
    sdogruyol closed #498
  • Jan 27 2019 15:56
    sdogruyol commented #498
  • Jan 27 2019 15:53
    sdogruyol closed #509
  • Jan 27 2019 15:53
    sdogruyol commented #509
  • Jan 27 2019 05:14
    mjb2kmn starred kemalcr/kemal
  • Jan 25 2019 01:42
    unixc3t starred kemalcr/kemal
  • Jan 24 2019 22:41
    talentlessguy starred kemalcr/kemal
  • Jan 24 2019 04:00
    ntilotta starred kemalcr/kemal
  • Jan 23 2019 10:12
    iwaruby starred kemalcr/kemal
  • Jan 23 2019 02:35
    isaced starred kemalcr/kemal
  • Jan 21 2019 18:33
    f9n starred kemalcr/kemal
  • Jan 19 2019 12:53
    SeedyROM starred kemalcr/kemal
  • Jan 17 2019 19:06

    sdogruyol on master

    Do not try to call ExceptionHan… Merge pull request #515 from ke… (compare)

  • Jan 17 2019 19:06
    sdogruyol closed #515
  • Jan 17 2019 19:06
    sdogruyol closed #514
  • Jan 17 2019 19:06
    sdogruyol edited #515
  • Jan 17 2019 15:09
    galfarragem starred kemalcr/kemal
Xavi Ablaza
@xaviablaza
trying to upgrade a production-ready application from crystal 34 to 35, and i am running into a lot of issues :(
Xavi Ablaza
@xaviablaza
I'm getting really weird CORS issues now. Anybody here able to successfully enable CORS? This is what I'm adding in Kemal:
before_all do |env|
  env.response.headers["Access-Control-Allow-Origin"] = "*"
end
static_headers do |response, filepath, filestat|
  response.headers.add("Access-Control-Allow-Origin", "*")
end
7rans
@trans
Anyone else have problems with serving javascript from public directory? (Using Firefox browser) My web pages never finish loading. But it only happens for certain scripts. If I create my own javascript file it seems fine, but jquery, for instance, won't load. Even if I try it directly, http://0.0.0.0:3000/jquery.js, the whole script will appear on the page, but the spinner never stops spinning.
7rans
@trans
Just tried it in Google Chrome. Does the same thing.
7rans
@trans
Okay. I just tested using ruby -run -ehttpd . -p8000. Worked fine. It is definitely a problem with Kemal.
Todd Sundsted
@toddsundsted
yes, i see the same thing, even for regular rendering
Xavi Ablaza
@xaviablaza
Yes. There's an infinite loading of our bundle.js as well on crystal 35 and kemal 0.26.1. RIP to our SPA that is supposed to go live in prod on July 1 @trans
Xavi Ablaza
@xaviablaza
@trans @toddsundsted were you guys able to find a workaround? I've been scratching my head for days now because of this issue
Julien Reichardt
@j8r
You can try 0.35.1 @xaviablaza , just in case
Xavi Ablaza
@xaviablaza
@j8r still broken in 0.35.1 :(
Muhammed Yaşar
@yorci
@toddsundsted @trans check this kemalcr/kemal#576
Giorgi Kavrelishvili
@grkek
@xaviablaza what error do you get?
Todd Sundsted
@toddsundsted
nice troubleshooting
Sergey Makridenkov
@msa7

Got issue with web socket on 0.35.1 reserved1 = 0, reserved2 = 1, reserved3 = 0, see crystal-lang/crystal#9522. Rollback to 0.34.0 solve the issue.

IMO might be Kemal issue, see crystal-lang/crystal#9484 re WebSocketHandler

Xavi Ablaza
@xaviablaza
@grkek resolved all issues when I merged mamontha's kemalcr/kemal#576 and kemalcr/kemal#577 into my own fork
Still looking for those PRs to be merged into the upstream for kemal to work on 0.35.1
Xavi Ablaza
@xaviablaza
You can use this version of kemal if you want stuff to work on 0.35.1
kemal:
    github: makisu/kemal
    commit: 058505205f692e354abb50785ffe8fd3aa880e56
7rans
@trans
@xaviablaza Thank you.
Marwan Rabbâa
@waghanza
Hi,
do you have any information about a new kemal release ?
Xavi Ablaza
@xaviablaza
I also think that the new changes in 0.35.1 should be bump kemal to 0.26.2 at least too
Ed
@drum445
What's going on with Kemal, websockets seem to have been broken since 0.35.1
Whenever the client communicates with the server, the socket disconnects - seems to be similar to: kemalcr/kemal#577
anyone know when @xavi's fix will be pushed, it seems to fix it?
Bar Hofesh
@bararchy
@drum445 Sadly I believe @sdogruyol has no time for this, I would suggest trying out either Lucky or Amber which seems much more maintained.
Julien Reichardt
@j8r
amber and lucky are much bigger than Kemal :/
Marwan Rabbâa
@waghanza
@drum445 take a look at crystal folder in https://github.com/the-benchmarker/web-frameworks
Anton Maminov
@mamantoha
upstream version of Kemal works on Crystal 0.35.1
Alex Leferry 2>
@alexherbo2
Does Kemal have an IRC channel?
Ed
@drum445
@bararchy thanks for letting me know, that is sad to hear, I was a big fan of Kemal as I've used sinatra for years
It got me into Crystal :+1:
There wasn't many bugs really, hopefully maintainers will keep it compatible with the latest crystal
plainas
@plainas
Hey all. Haven't use kemal in a while. I came back now, started up a new project, but it appears that recent versions of crystal have some compatibility issues with the whole Compress:gzip thing. I got this error:
Warning: Zlib is deprecated, use Compress::Zlib
Showing last frame. Use --error-trace for full trace.

In lib/kemal/src/kemal/helpers/helpers.cr:143:7

 143 | Gzip::Writer.open(env.response) do |deflate|
       ^
Error: undefined constant Gzip::Writer
I wouldn't like to downgrade crystal. does this mean that I need to manually edit the dependency?
Muhammed Yaşar
@yorci
@plainas what version do you use both kemal and crystal ?
plainas
@plainas
kemal 0.26.1
Crystal 0.35.1 [5999ae29b] (2020-06-19)
Blitline
@Blitline_twitter
How is kemalcr.com so fast? What is the rest of the stack besides kemal? Nginx? Varnish?
Jonathan Silverman
@mixflame
Crystal is fast
plainas
@plainas
@Blitline_twitter there is not stack behind kemal... all those things would go in the front of a kemal service if you wanted. Kemal is a framework to write http server applications. That is all. Written in a language that compiles to native binaries. And without fluff/bloat
just tangencial, but the whole mindset of looking as nginx and varnish as an holly grail of speed that you can put in front of crappy slowly software is quite telling of the current state of server technologies. Not trying to be overly negative. I love nginx.
I've heard of several people exposing their kemal applications directly to the internet. The reason most people put said proxies in front of their apps is usually their absurd scale limitations
plainas
@plainas
anyways, Here's a suggestion for the guides: Add an example of how to put the code inside a module and a class and how to handle objects whose lifetime transverses the request scopes. Database connections handles, etc. Such examples exist, for example in the websocket example, but they only work with the code placed directly as main code.
And here's a suggestion for kemal generaly: provide a way to add routes grammatically by calling a method. The current macros are great for many applications and have a lovely simple syntax. But they don't play well with things like loading route configurations from a file and so on. They force routes to be hardcoded at compiletime.
This can be done without breaking current functionality. Most python micro-frameworks do this. They provide an anotation based route definition, but you can still call the method used to add a route manually.
Ed
@drum445

I've heard of several people exposing their kemal applications directly to the internet. The reason most people put said proxies in front of their apps is usually their absurd scale limitations

What do you mean by this? That nginx or the app doesn't scale?

Julien Reichardt
@j8r
He probably meant that a cache is added on top of applications to have more perf
Christian Kakesa
@fenicks
Whats the best way to retrieve current_url with Kemal? HTTP headers or an help is provided?
plainas
@plainas
Hey everyone, I would like to leave a thank you note for sdogruyol and others that made and maintained kemal. This was a very usefull piece of software for me. I used it a few times to create small http services. Great simplicity and lightness. To the point as it should be. As it seams that the community is loosing steam, I will migrate the only active project I have that uses it to use crystal's built in web server library. I think this would be a useful piece of software as it is, but crystal is still not stable enough to guarantee an acceptable level of forward compatibility of projects like this one. Thank you! We absolutely need more pragmatism and simplicity like that shown in this project in the IT world.
Joris Vanhecke
@vanhecke
Hi guys. does anyone have a "page load time" feature snippet?
I want to show load time in footer