V3 : API flattening

Specifications
Proposal for API change update
const jscad = require('@jscad/modeling')

and then we need to look into jscad.booleans to get subtract ... even though 99% of the functions in to primitives, booleans etc have unique name.
it would be nicer if they were declared on top level instead:
const { cube, subtract, translate} = require('@jscad/modeling')
// or import for es6 ofc
import { cube, subtract, translate} from '@jscad/modeling'

as a bonus, this would also improve current issue I have with vscode that prefers to generate automatic import like this
const {subtract} = require('@jscad/modeling/booleans')

which then breaks the script
One thing to consider is if we should also keep the old paths too ?
jscad.cube and jscad.primitives.cube

V3 now exports names directly from the various indexes, and pretty much flattens the namespaces in the main index.
export * from './colors/index.js'
export * from './curves/index.js'
export * from './geometries/index.js'
export * from './maths/index.js'
export * from './measurements/index.js'
export * from './primitives/index.js'
export * from './text/index.js'
export { degToRad, flatten, radiusToSegments, radToDeg } from './utils/index.js'

export * from './operations/booleans/index.js'
export * from './operations/extrusions/index.js'
export * from './operations/hulls/index.js'
export * from './operations/modifiers/index.js'
export * from './operations/offsets/index.js'
export * from './operations/transforms/index.js'

@z3dev it may be a strange request, but I would like to be able to support running v2 and v3 in jscadui, and maybe also on the official jscad..
using new package name would help recognize new scripts.
V3
const jscad = require('@jscad/modeling3')

versus V2
const jscad = require('@jscad/modeling')

Especially since our development is rather slow, and in the meantime manifold library is proving to be a beast, I hope to soon attempt at injecting it instead of csg.js into compatible @jscad/modeling package. there is posibility we might even want to drop csg.js instead having it as a choice somehow.
that would be a deeper discussion, after we have a usable replacement tht is working with manifold instead of csg.js

@z3dev it may be a strange request, but I would like to be able to support running v2 and v3 in jscadui.

Well... I've been watching lately. And my first impression is the you're trying to do too much. If you keep expanding the functionality then nothing is gained except code bloat and maintenance issues.
A long time ago (pre-V2), the decision was made to provide the tools to create more expressive tools. JSCAD can't do everything. And, there have been some really cool websites that use JSCAD components.
There's still lots of areas to improve, and JSCADUI looks really cool. But somewhere  down the road, you'll have to make the same decision.

Especially since our development is rather slow...

Slow is relative. I'm sure you know this as author of JSCADUI. :)
V3 is about improving the usability of the API, and moving to ES6. V2 is pretty stable now, but there are a few bugs still. And hopefully, everything will come together to make a better JSCAD.
So far, V3 is moving along pretty much on schedule. @platypii continues to contribute nice improvements. And most of the fundamentals have been completed. But there are some big issues to solve. Resources are short. :( Maybe late 2024, V3 will become mainstream.

By the way, it may be time to have a little chat about plans for the website. I'd be curious as to what everyone is thinking. The website needs some serious thought and improvements.

V3 is about improving the usability of the API, and moving to ES6.

ok, with that in mind, V3 is not yet the place to consider manifold.

Slow is relative. I'm sure you know this as author of JSCADUI. :)

yeah, I am aware :) it is relative :)

There's still lots of areas to improve, and JSCADUI looks really cool. But somewhere down the road, you'll have to make the same decision.

Yeah, there are some things I do want to make part of jacad.app, but then some other ideas as separate projects/demos.
Idea there is that jscad.app becomes something that would improve upon openjscad.xyz and hopefully not too many extra features. I think of it as prototype, there is already few more things there to separate out as useful components.

By the way, it may be time to have a little chat about plans for the website. I'd be curious as to what everyone is thinking. The website needs some serious thought and improvements.

@z3dev  would you like to chat on discord in jscad channel, or a more private session somewhere like a meet. I do not have any reliable means to contact you that is more interactive like email, or sth. I can send you my email address in chat in nodebb.

@z3dev you have not responded or contacted me yet :) check nodebb chat if you would like to use email, or join discord jscad channel :)
Regarding the mentioned feature creep. That is in my nature, and because of that there will be always experimental stuff on jscadui. My idea is to take those explorations and to cherry pick things that we together deem fit for maintaining as part of jscad. That way we can have something manageable/maintainable and also I can have space to play/explore.

@z3dev would you like to chat on discord in jscad channel, or a more private session somewhere like a meet. I do not have any reliable means to contact you that is more interactive like email, or sth. I can send you my email address in chat in nodebb.

I'll set up Discord this weekend, and send a few howdy to the jscad channel. Keep in mind that I'm in Japan, and working full time, so replies might be slow.
A lively discussion about the website would be a lot of fun. Let's hope there's someone good at creating cool websites in the user group. 😃


SSR Support

This PR adds support for frameworks that use SSR like NextJS. In addition it adds an example of how to implement this in a Nexpo app. The way this is handled is similar to other libraries tha wait until the code is running on the client to render the app. It will return a placeholder while rendering on the server then hydrate and render the app once it reaches the client.
closes #17 which was first observed by @JinbeiStudio but took a long time for me to be able to reproduce and get a fix in

Codecov Report

Merging #19 (dfd0d26) into main (c2503f9) will decrease coverage by 5.86%.
The diff coverage is 56.25%.

@@            Coverage Diff             @@
##             main      #19      +/-   ##
==========================================
- Coverage   98.03%   92.17%   -5.87%
==========================================
  Files           9       10       +1
  Lines         102      115      +13
  Branches        7       11       +4
==========================================
+ Hits          100      106       +6
- Misses          2        9       +7

Impacted Files
Coverage Δ

src/providers/BreakpointsProvider.tsx
100.00% <ø> (ø)

src/providers/SSRProvider.tsx
41.66% <41.66%> (ø)

src/hooks/useDeviceSize.ts
87.50% <100.00%> (ø)

src/index.ts
100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Feature/67 product review on landing page

changes copy on job listing page:

adds a static heading
shrinks and moves 'there are n vacancies' copy nearer to the results
changes filter section heading

improves sign in/out:

displays one link or the other based on presence of current user
improved link text

Listing before:

Listing after:

New sign out:

 Product review on landing page


Issue 823 > Use max_wait_time while sleeping in fetch_batches

This an attempt to fix https://github.com/zendesk/ruby-kafka/issues/823 that causes consumer to sleep for 2 seconds and thus causing an avg 1.5 second pause between when a message is published and then started to be processed by a consumer.
Note that my fix is based on research done by https://github.com/paneq in the above issue.

@ElenaHenderson let us know when this is ready for testing and review

@paneq @dasch This is ready for review and testing!
Thank you so much!

@dasch some comments from me:
a) It resolves the latency issue
b) I had to explicitly add require "concurrent/map" to my test project. Otherwise, I experienced:
Traceback (most recent call last):
	3: from consume.rb:8:in `<main>'
	2: from /Users/rupert/.rbenv/versions/2.5.5/lib/ruby/gems/2.5.0/bundler/gems/ruby-kafka-9ed5ecc4ebb9/lib/kafka/client.rb:397:in `consumer'
	1: from /Users/rupert/.rbenv/versions/2.5.5/lib/ruby/gems/2.5.0/bundler/gems/ruby-kafka-9ed5ecc4ebb9/lib/kafka/client.rb:397:in `new'
/Users/rupert/.rbenv/versions/2.5.5/lib/ruby/gems/2.5.0/bundler/gems/ruby-kafka-9ed5ecc4ebb9/lib/kafka/consumer.rb:79:in `initialize': uninitialized constant Kafka::Consumer::Concurrent (NameError)

c) I am worried we are not adding here any test issue to cover this situation. Does this gem have any end-to-end tests that could be utilized to measure latency so that similar problem is not introduced in the future.
d) Honestly, I still fail to understand how this gem (or Kafka) works internally.
Particularly, I don't understand why between fetch requests which receive data from last 0.1s (configured max_wait_time) there are a couple of fetch requests which return in 0.01s without data.
Code:
#producer
loop do
  kafka.deliver_message({time: Time.now.to_f}.to_json, topic: "greetings", key: "Hello")
  puts "delivered"
  sleep(0.005)
end

# consumer
consumer.each_message(min_bytes: 1, max_wait_time: 0.1) do |message|
  now = Time.now.to_f
  sent = JSON.parse(message.value)['time']
  diff = now - sent
  puts("diff: #{diff.round(2)}")
end

Here is my output:
D, [2020-04-29T11:34:54.104006 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] Fetching batches
D, [2020-04-29T11:34:54.104115 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Sending fetch API request 5911 to <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.104297 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Waiting for response 5911 from <IP_ADDRESS>:9092
diff: 0.1
D, [2020-04-29T11:34:54.105206 #93782] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33572 as processed
diff: 0.09
D, [2020-04-29T11:34:54.105330 #93782] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33573 as processed
diff: 0.08
D, [2020-04-29T11:34:54.105477 #93782] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33574 as processed
diff: 0.07
D, [2020-04-29T11:34:54.105678 #93782] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33575 as processed
diff: 0.06
D, [2020-04-29T11:34:54.106100 #93782] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33576 as processed
diff: 0.05
D, [2020-04-29T11:34:54.106418 #93782] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33577 as processed
diff: 0.04
D, [2020-04-29T11:34:54.106512 #93782] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33578 as processed
diff: 0.02
D, [2020-04-29T11:34:54.106587 #93782] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33579 as processed
D, [2020-04-29T11:34:54.106679 #93782] DEBUG -- : [[my-consumer] {}:] No batches to process
D, [2020-04-29T11:34:54.114277 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Received response 5911 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.114357 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] Fetching batches
D, [2020-04-29T11:34:54.114455 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Sending fetch API request 5912 to <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.114574 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Waiting for response 5912 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.126082 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Received response 5912 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.126250 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] Fetching batches
D, [2020-04-29T11:34:54.126412 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Sending fetch API request 5913 to <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.126555 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Waiting for response 5913 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.137080 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Received response 5913 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.137184 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] Fetching batches
D, [2020-04-29T11:34:54.137334 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Sending fetch API request 5914 to <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.137964 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Waiting for response 5914 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.147415 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Received response 5914 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.147517 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] Fetching batches
D, [2020-04-29T11:34:54.147607 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Sending fetch API request 5915 to <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.147718 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Waiting for response 5915 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.163048 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Received response 5915 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.163192 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] Fetching batches
D, [2020-04-29T11:34:54.163489 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Sending fetch API request 5916 to <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.163624 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Waiting for response 5916 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.174798 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Received response 5916 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.174903 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] Fetching batches
D, [2020-04-29T11:34:54.174995 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Sending fetch API request 5917 to <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.175095 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Waiting for response 5917 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.183879 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Received response 5917 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.184045 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] Fetching batches
D, [2020-04-29T11:34:54.184278 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Sending fetch API request 5918 to <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.184418 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Waiting for response 5918 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.194192 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Received response 5918 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.194304 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] Fetching batches
D, [2020-04-29T11:34:54.194414 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Sending fetch API request 5919 to <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.194528 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Waiting for response 5919 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.204990 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Received response 5919 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.205163 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] Fetching batches
D, [2020-04-29T11:34:54.205364 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Sending fetch API request 5920 to <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.205714 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Waiting for response 5920 from <IP_ADDRESS>:9092
diff: 0.1
D, [2020-04-29T11:34:54.210715 #93782] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33580 as processed
diff: 0.09
D, [2020-04-29T11:34:54.210814 #93782] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33581 as processed
diff: 0.08
D, [2020-04-29T11:34:54.210882 #93782] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33582 as processed
diff: 0.07
D, [2020-04-29T11:34:54.210948 #93782] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33583 as processed
diff: 0.06
D, [2020-04-29T11:34:54.211048 #93782] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33584 as processed
diff: 0.04
D, [2020-04-29T11:34:54.211111 #93782] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33585 as processed
diff: 0.03
D, [2020-04-29T11:34:54.211175 #93782] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33586 as processed
diff: 0.02
D, [2020-04-29T11:34:54.211221 #93782] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33587 as processed
diff: 0.01
D, [2020-04-29T11:34:54.211264 #93782] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33588 as processed
D, [2020-04-29T11:34:54.211320 #93782] DEBUG -- : [[my-consumer] {}:] No batches to process
D, [2020-04-29T11:34:54.216002 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Received response 5920 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.216083 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] Fetching batches
D, [2020-04-29T11:34:54.216275 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Sending fetch API request 5921 to <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.216390 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Waiting for response 5921 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.226639 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Received response 5921 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.226800 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] Fetching batches
D, [2020-04-29T11:34:54.226950 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Sending fetch API request 5922 to <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.227164 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Waiting for response 5922 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.235370 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Received response 5922 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.235492 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] Fetching batches
D, [2020-04-29T11:34:54.235638 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Sending fetch API request 5923 to <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.235855 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Waiting for response 5923 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.246979 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Received response 5923 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.247136 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] Fetching batches
D, [2020-04-29T11:34:54.247246 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Sending fetch API request 5924 to <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.247342 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Waiting for response 5924 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.261146 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Received response 5924 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.261315 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] Fetching batches
D, [2020-04-29T11:34:54.261455 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Sending fetch API request 5925 to <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.261656 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Waiting for response 5925 from <IP_ADDRESS>:9092
diff: 0.1
D, [2020-04-29T11:34:54.313068 #93782] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33589 as processed
diff: 0.09
D, [2020-04-29T11:34:54.313194 #93782] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33590 as processed
diff: 0.08
D, [2020-04-29T11:34:54.313316 #93782] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33591 as processed
diff: 0.07
D, [2020-04-29T11:34:54.313437 #93782] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33592 as processed
diff: 0.06
D, [2020-04-29T11:34:54.313551 #93782] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33593 as processed
D, [2020-04-29T11:34:54.313614 #93782] DEBUG -- : [[my-consumer] {}:] No batches to process
D, [2020-04-29T11:34:54.365806 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Received response 5925 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.365976 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] Fetching batches
D, [2020-04-29T11:34:54.366127 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Sending fetch API request 5926 to <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.366261 #93782] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Waiting for response 5926 from <IP_ADDRESS>:9092
D, [2020-04-29T11:34:54.416900 #93782] DEBUG -- : [[my-consumer] {}:] No batches to process

If I change my producer to produce less often:
loop do
  kafka.deliver_message({time: Time.now.to_f}.to_json, topic: "greetings", key: "Hello")
  puts "delivered"
  sleep(0.2)
end

and keep the consumer the same:
consumer.each_message(min_bytes: 1, max_wait_time: 0.1) do |message|
  now = Time.now.to_f
  sent = JSON.parse(message.value)['time']
  diff = now - sent
  puts("diff: #{diff.round(2)}")
end

Then there are less of those fetch request between actual processing.
diff: 0.05
D, [2020-04-29T12:00:09.529827 #94065] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33659 as processed
D, [2020-04-29T12:00:09.529976 #94065] DEBUG -- : [[my-consumer] {}:] No batches to process
D, [2020-04-29T12:00:09.589381 #94065] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Received response 60 from <IP_ADDRESS>:9092
D, [2020-04-29T12:00:09.589623 #94065] DEBUG -- : [[my-consumer] {greetings: 0}:] Fetching batches
D, [2020-04-29T12:00:09.589891 #94065] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Sending fetch API request 61 to <IP_ADDRESS>:9092
D, [2020-04-29T12:00:09.590197 #94065] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Waiting for response 61 from <IP_ADDRESS>:9092
D, [2020-04-29T12:00:09.630621 #94065] DEBUG -- : [[my-consumer] {}:] No batches to process
D, [2020-04-29T12:00:09.690071 #94065] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Received response 61 from <IP_ADDRESS>:9092
D, [2020-04-29T12:00:09.690197 #94065] DEBUG -- : [[my-consumer] {greetings: 0}:] Fetching batches
D, [2020-04-29T12:00:09.690303 #94065] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Sending fetch API request 62 to <IP_ADDRESS>:9092
D, [2020-04-29T12:00:09.690427 #94065] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Waiting for response 62 from <IP_ADDRESS>:9092
diff: 0.05
D, [2020-04-29T12:00:09.731050 #94065] DEBUG -- : [[my-consumer] {}:] Marking greetings/0:33660 as processed
D, [2020-04-29T12:00:09.731159 #94065] DEBUG -- : [[my-consumer] {}:] No batches to process
D, [2020-04-29T12:00:09.793750 #94065] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Received response 62 from <IP_ADDRESS>:9092
D, [2020-04-29T12:00:09.793856 #94065] DEBUG -- : [[my-consumer] {greetings: 0}:] Fetching batches
D, [2020-04-29T12:00:09.794026 #94065] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Sending fetch API request 63 to <IP_ADDRESS>:9092
D, [2020-04-29T12:00:09.794211 #94065] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Waiting for response 63 from <IP_ADDRESS>:9092
D, [2020-04-29T12:00:09.831838 #94065] DEBUG -- : [[my-consumer] {}:] No batches to process
D, [2020-04-29T12:00:09.898081 #94065] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Received response 63 from <IP_ADDRESS>:9092
D, [2020-04-29T12:00:09.898400 #94065] DEBUG -- : [[my-consumer] {greetings: 0}:] Fetching batches
D, [2020-04-29T12:00:09.898755 #94065] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Sending fetch API request 64 to <IP_ADDRESS>:9092
D, [2020-04-29T12:00:09.899162 #94065] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Waiting for response 64 from <IP_ADDRESS>:9092
D, [2020-04-29T12:00:09.903473 #94065] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Received response 64 from <IP_ADDRESS>:9092
D, [2020-04-29T12:00:09.903659 #94065] DEBUG -- : [[my-consumer] {greetings: 0}:] Fetching batches
D, [2020-04-29T12:00:09.903808 #94065] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Sending fetch API request 65 to <IP_ADDRESS>:9092
D, [2020-04-29T12:00:09.903943 #94065] DEBUG -- : [[my-consumer] {greetings: 0}:] [fetch] Waiting for response 65 from <IP_ADDRESS>:9092
diff: 0.04

Do I understand correctly that there is on thread doing data fetching, and a different thread doing data processing? And that the processing thread sleeps when there is nothing to process and while it sleeps we might get data from multiple fetch requests (because of min_bytes: 1) ?

a) It resolves the latency issue
Awesome!

b) I had to explicitly add require "concurrent/map" to my test project. Otherwise, I experienced:
Traceback (most recent call last):
	3: from consume.rb:8:in `<main>'
	2: from /Users/rupert/.rbenv/versions/2.5.5/lib/ruby/gems/2.5.0/bundler/gems/ruby-kafka-9ed5ecc4ebb9/lib/kafka/client.rb:397:in `consumer'
	1: from /Users/rupert/.rbenv/versions/2.5.5/lib/ruby/gems/2.5.0/bundler/gems/ruby-kafka-9ed5ecc4ebb9/lib/kafka/client.rb:397:in `new'
/Users/rupert/.rbenv/versions/2.5.5/lib/ruby/gems/2.5.0/bundler/gems/ruby-kafka-9ed5ecc4ebb9/lib/kafka/consumer.rb:79:in `initialize': uninitialized constant Kafka::Consumer::Concurrent (NameError)

Does that only happen on this branch or also on master?

c) I am worried we are not adding here any test issue to cover this situation. Does this gem have any end-to-end tests that could be utilized to measure latency so that similar problem is not introduced in the future.

There are no tests for latency. There are end-to-end tests, but it can be difficult to make them reliable because Kafka can be a bit unpredictable.

d) Honestly, I still fail to understand how this gem (or Kafka) works internally.
Particularly, I don't understand why between fetch requests which receive data from last 0.1s (configured max_wait_time) there are a couple of fetch requests which return in 0.01s without data.
Do I understand correctly that there is on thread doing data fetching, and a different thread doing data processing? And that the processing thread sleeps when there is nothing to process and while it sleeps we might get data from multiple fetch requests (because of min_bytes: 1) ?

That's exactly right. There's a buffer between the processor and the fetcher that gets pushed to even when the processor is busy – this greatly improves throughput. The sleep was done in order to "back off" when there's nothing to process in order to avoid pegging the CPU. It was a too high sleep duration, making it match max_wait_time makes much more sense.

@paneq Thank you for testing this change. I am ready to merge whenever you give me a green flag and satisfied with everything.

Does that only happen on this branch or also on master?

Only on this branch.

There are no tests for latency. There are end-to-end tests, but it can be difficult to make them reliable because Kafka can be a bit unpredictable.

Let's try not to add them in this fix, but would you be OK with having them in general if someone could make them reliably work?

That's exactly right.

Got it. In such case, I think the sleep should 1/Nth of max_wait_time. I am not sure what N would be good (2, 3, 4, 5, ? dunno). Since max_wait_time is (obviously lol) the Max time we can wait, there is a chance that new data will arrive earlier. Max is worst case scenario. In fact for my usecases where latency is more important than throughput, I could imagine setting min_bytes: 1, max_wait_time: 10s. But as soon as something is there to get, I want it to be fetched and processed. But now I am waiting quite long for the sleep to finish. So we don't know if the answer from kafka will be here in 0.1s or 6s. We should regularly check if it is there. Not sure what is the best way to achieve it, but I believe we are coupling two settings which should be distinct.

Does that only happen on this branch or also on master?

Only on this branch.

Do you have a small reproducible example?

There are no tests for latency. There are end-to-end tests, but it can be difficult to make them reliable because Kafka can be a bit unpredictable.

Let's try not to add them in this fix, but would you be OK with having them in general if someone could make them reliably work?

I would love that!

That's exactly right.

Got it. In such case, I think the sleep should 1/Nth of max_wait_time. I am not sure what N would be good (2, 3, 4, 5, ? dunno). Since max_wait_time is (obviously lol) the Max time we can wait, there is a chance that new data will arrive earlier. Max is worst case scenario. In fact for my usecases where latency is more important than throughput, I could imagine setting min_bytes: 1, max_wait_time: 10s. But as soon as something is there to get, I want it to be fetched and processed. But now I am waiting quite long for the sleep to finish. So we don't know if the answer from kafka will be here in 0.1s or 6s. We should regularly check if it is there. Not sure what is the best way to achieve it, but I believe we are coupling two settings which should be distinct.

What specific sleep duration would you want?

What specific sleep duration would you want?

@dasch I finally had a moment to calculate it with a very sophisticated algorithm ;)
On my Macbook Pro (which I know is not representable):

loop{1+1; sleep(0.005) } leads to 1% CPU usage
loop{1+1; sleep(0.01) } leads to 0.5% CPU usage

So I believe the sleep should be way lower than max_wait_time, ideally configurable and we could go with 0.005 as the default value.

@dasch I know this PR is merged, but what do you think about my previous comment.

I think 0.005 is way too low. We have dozens of these processes running, also on our laptops as part of our dev environment. I would be happy with a PR that adds an optional configuration key for this, but using max_wait_time as the default makes sense to me.


Module dependecies

Hey there,
So I've cloned the project a few times before, and even though I've gotten it to work, Chatistics doesn't work out of the box for me. My environment variables were already set, but LXML was giving me trouble, as where some dependencies that aren't listed in the requirements.txt. I noticed that there's a section for libxml in the README, but I just wanted to ask if you guys were taking any pull requests to add some fallbacks in case certain modules aren't already installed. Thanks!

Hey @farisachugthai, yes I would happily accept pull requests that would make the initial setup smoother!

Hey so I've spent a few days playing around with a LOT of the code. Hahaha I think I ended up falling down a rabbit hole, but in the process managed to identify and solve quite a few of the problems that I was initially having.
Full disclosure, this is my first contribution to an open source project, a project on GitHub and it's actually my first contribution of any kind of code ever. So I suppose be warned? But I tried to be as clear as possible in my work.
So before I push anything, I wanted to ask if i could also add in a file for people using conda to manage py envs. The requirements as they are currently listed are flagged as incompatible by Anaconda, and I was hoping to throw in an alternative solution.

Hey @farisachugthai sure make a PR with everything you have and we can discuss from there

Hey, @MasterScrat. Couldn't help but notice that a lot of these issues would be easily resolved if the project could be packaged and hosted somewhere like PyPi. An added advantage of this would be easy installation using pip/pip3. If you think this is a good idea, could I add in a PR?

Yes sure that would be great! :D

Let's continue this discussion in #26.


missing information at "Connect to remote Azure Active Directory-joined PC"

[Enter feedback here]
Hi
I looked for a solution to "Connect to remote Azure Active Directory-joined PC". Here in the article is only described, how to enable remote connection and not more.
Where is described how I can "Connect to remote Azure Active Directory-joined PC"? Which tool do I need. Which PC name should I use. What happen, if the PC is not located in my TCP subnet? Which user name format and credential must I use? Can you provide a diagram how this should work?
Thanks

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 72e1cc18-3fc2-d7fa-7ff3-20fc9a3596d4
Version Independent ID: 8ed24664-ce8c-7c08-654a-d3ef267f274f
Content: Connect to remote Azure Active Directory-joined PC (Windows) - Windows Client Management
Content Source: windows/client-management/connect-to-remote-aadj-pc.md
Product: w10
Technology: windows
GitHub Login: @Dansimp
Microsoft Alias: dansimp

Hello @bedo1976 ,
Where is described how I can "Connect to remote Azure Active Directory-joined PC"? - it doesn't differ from RDP connections to any other PC. It is not described in the article since this documentation section is intended for IT professionals, not for users, so it is focused on the configuration aspects.
Which tool do I need. - remote desktop connection
Which PC name should I use. - name resolvable from the network where you are connecting from
What happen, if the PC is not located in my TCP subnet? - behavior doesn't differ from any other remote connection. If it is discoverable, routable and if RDP port is open, it will connect.
Which user name format and credential must I use? -<EMAIL_ADDRESS>where<EMAIL_ADDRESS>is user that has permissions for remote connections (it is described in the article)
Thank you


[Wait for #1469] [Dataset] Implement samplewise producer for random

[Pending commit: #1469]

[Dataset] Implement samplewise producer for random

This patch implements samplewise producer for random and its
corresponding test abstraction

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #1470. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnstreamer.mooo.com/.

:octocat: cibot: @zhoonit, test/unittest/datasets/data_producer_common_tests.h does not include Doxygen tags such as @file @brief @author @bug. You must include the Doxygen tags in the source code. Please refer to a Doxygen manual at http://github.com/nnstreamer/TAOS-CI/blob/main/ci/doc/doxygen-documentation.md


How To Group 's and Sort Them as One?

My issue is, each of my "listings" have two table rows. The first row is the one with the cells ('s) that I need to sort by, and the second row is basically just one big cell (e.g. Info	) that carries some descriptive text for that listing, which I don't need to sort by.
I need these two rows "locked" together, so when the table is sorted, they move as one BASED on sorting by the 's in the first (main) row, of the two.
Now, since a
 can have have more than one
, I thought it would make sense to group each "listing" in a
 and have that be each whole listing.
HTML illustration:

Type
Qty

Blue widget
1

text for listing 1

Red Widget
2

text for listing 2

Blue widget
3

text for listing 3

             Type
             Qty

             Blue widget
             1

             text for listing 1

             Red Widget
             2

             text for listing 2

             Blue widget
             3

             text for listing 3

The obvious problem is the fact that I need to give the
 the class="list". It also doesn't work if I just give the table itself that class.
Is there any way to make ListJS do what I want here? I can't be the only one with this issue.
I've already spent days on trying to figure this out, so any help would be GREATLY appreciated. Thanks very much.

I don't think you can have multiple tbody elements inside a table, so the structure is not valid.


Output added for Copy-DbaExtendedEvent

Changes proposed in this pull request:

formatted help
Added TEPP parameters
Add message system
update camelCase
Add output object
All output changed to verbose
removed regex replace for source and destination as it is not needed.

bon merci!


Implement RFC 8888 Congestion Control Feedback

Implements Congestion Control Feedback Reports as defined in RFC 8888.

Some of the best Go code I have read in a while :) LGTM!

Nice! Excited to use this :)


fix: do not try to reset nil objects

Add a nil check in ResetVT like the one in ReturnToVTPool.
Closes https://github.com/planetscale/vtprotobuf/issues/73

Hey @kruskall, in the future could you please make genall before opening a PR? You need to update the embedded codegens or CI won't pass (I've updated them manually before merging). Thank you!


Is there a Chinese version of the test set?

Thanks for such a wonderful work. Is there any plan to open the test set in Chinese?

Thank you for your interest in this work. However, we currently do not have plans to create a Chinese version due to the significant efforts and engineering required for developing this dataset.


fix autocomplete bug

The tag object was sent to filteredSuggestions, but the actual text was expected. Sending tag.text fixes the issue. Closes #342

Thanks @tabrath


Disabling input (text) causes the value to be missing

I want to display the text value in an input field, but disable edit. I assumed that setting disabled=true would result in this, but it causes the value to be empty - it does however disable the input element as expected.
Anyone got this issue?

Hi @omairvaiyani, i wasn't able to reproduce the issue:
https://ember-twiddle.com/3691a8576c35ff149bfc26a564ec5437?openFiles=templates.application.hbs%2C
Can you try tweaking the twiddle and post your reproduction here?


Gwt local files with LocalStorage API

There seems to be a class that emulates a file system using local storage API in the gwt backend, but GwtFileHandle and GwtFiles throw exceptions for everything of FileType.local. Does anyone know why the default implementations of these classes is not used and let the emulating class (java.io.File) take over?

https://github.com/libgdx/libgdx/wiki/File-handling
https://github.com/libgdx/libgdx/wiki/Issue-Tracker


RGZ issues

Ported from email. @jbanfield noted that https://radiotalk.galaxyzoo.org/#/subjects/ARG0003ra1 is incorrectly classified in the consensuses; I failed to realise that volunteers could select multiple IR hosts for a single radio contour. @jbanfield also noted that selecting every radio contour and then selecting multiple IR sources is also possible.

I just never noticed that it was possible to select multiple IR objects on the site! (In that case, it's quite possible that volunteers also don't notice.)
Now that I know that selecting multiple IR objects is possible, this comment in Kyle's code makes a lot more sense (the code in the repository assumes there is only one IR object selected). I've made the same assumption in my code, so is likely where the problem is. I agree that it's not obvious how to handle these cases (which is presumably why the rgz-analysis code doesn't).
As a bit of a case study, here's a quick list of classifications of ARG0003ra1, broken down by how they selected IR hosts. The format is number of hosts (breakdown of which were selected in the same radio grouping). The correct classification according to what you said earlier would be 4 hosts (2, 1, 1) or 5 hosts (2, 1, 1, 1, 1) depending on how you classify the tiny blob in the top right. As you've noted, 4 hosts (4) would also be a correct classification, as would 4 hosts (3, 1) or similar.

0 hosts: 2
2 hosts (2): 2
2 hosts (1, 1): 2
3 hosts (2, 1): 3
3 hosts (1, 1, 1): 1
4 hosts (4): 1
4 hosts (2, 1, 1):
5 hosts (2, 1, 1, 1): 3
5 hosts (3, 2): 1
5 hosts (4, 1): 1
19 hosts (19): 1

The modal classifications do split the central object into two objects. That said, there's a surprisingly large spread of classifications here, so taking the mode is probably not a good idea (and then n = 3 for KDE/clustering). I can't think of a good way to handle these cases but I'm happy to modify my code to deal with multiple IR hosts if a solution arises.

Here's an idea. I'm not sure whether it would work, but I haven't managed to think of anything better so far.
What if we treat the radio annotations and the infrared annotations separately? Finding a consensus radio combination is probably doable if you assume that the majority of people don't click all radio contours at once to classify. Then under the assumption that clicks are distributed like a Gaussian around intended IR objects, you could take all clicks (regardless of the associated radio combination) and cluster them, choosing the nearest cluster to each radio combination as the associated IR object.

I'll try the above in my free time (if I have any this week). If anyone thinks of a better idea before I do, I'm happy to try that instead!

Update: After I implemented #164, I checked how many annotations we discard if we only take the first click. We discard ~55%.


Implement Assistant API for RAG

[ ] Assistant id on the org level (default: echoes-orgslug, ex: echo-exrna)
[ ] some kind of evaluation test for knowledge base (allows users to upload csv containing MCQ's to test the reliability of knowledge base

[ ] Adding knowledge base
[ ] use user access permission for allowing to add data to knowledge base

closed by #61


Build fails with E0658

This is with target-lexicon 0.3.0, rustc 1.33.0-nightly (b2b7a063a 2019-01-01).
Build fails with the following error:
error[E0658]: imports can only refer to extern crate names passed with `--extern` on stable chann
el (see issue #53130)
  --> ******\target-lexicon-0.3.0\build.rs:39:5
   |
18 | / mod triple {
19 | |     include!("src/triple.rs");
20 | | }
   | |_- not an extern crate passed with `--extern`
...
39 |   use triple::{Endianness, PointerWidth, Triple};
   |       ^^^^^^
   |
   = help: add #![feature(uniform_paths)] to the crate attributes to enable
note: this import refers to the module defined here
  -->  ******\target-lexicon-0.3.0\build.rs:18:1
   |
18 | / mod triple {
19 | |     include!("src/triple.rs");
20 | | }
   | |_^

Thanks for the issue and fix, but I can't reproduce the original issue locally, with today's Rust nightly. Is there anything in particular that needs to be done to reproduce this?

Thanks for the reply! Nevermind, I was able to compile the original version with 1.33.0-stable. But it does not compile with 1.33.0-nightly. I guess by today's nightly / stable you mean 1.33.0?

Fixed by https://github.com/CraneStation/target-lexicon/commit/33498282201630f86a75c14b7dfa5abdfd87e1e8 (and not a issue on recent Nightlies :)) so closing.

No problem! Glad to help. :)


Update how-do-i-use-the-reponsefilter-property-to-replace-html-in-an-…

…aspnet-page.md
Fixed typos in "Reponse.Filter" to "Response.Filter"

@dotnet-policy-service agree

Thanks for the fix


Add missing includes

Issue #, if available:
Description of changes:
This PR adds missing #include <thread> entries. These includes are needed due to calls to std::this_thread::sleep_for. Without it, the build fails on Linux.
This PR can be applied on top of PR #1912 as it adds changes to some more files.
Check all that applies:

[ ] Did a review by yourself.
[ ] Added proper tests to cover this PR. (If tests are not applicable, explain.)
[ ] Checked if this PR is a breaking (APIs have been changed) change.
[ ] Checked if this PR will not introduce cross-platform inconsistent behavior.
[ ] Checked if this PR would require a ReadMe/Wiki update.

Check which platforms you have built SDK on to verify the correctness of this PR.

[x] Linux
[ ] Windows
[ ] Android
[ ] MacOS
[ ] IOS
[ ] Other Platforms

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Hello,
Thank you for your pull request!
Your commit is integrated with today release: https://github.com/aws/aws-sdk-cpp/commit/779453577614dae8301048aa4bde85824a6692bd
(Sorry, we are not able (yet) to merge external pull requests on github in our current release model)
If possible, would you mind sharing what is your target platform/config when you see this missing header issue?
Best regards,
Sergey

Hello,
Thanks for integrating this.
I had the problem on both Manjaro using g++ 11.2.0 and Ubuntu 22.04 LTS also using g++ 11.2.0.


jts/1.13

Type: Missing
Summary:
jts/1.13
Details:
No info in package files. Pom file confirms LGPL 3.0.
Resolution:
http://www.gnu.org/copyleft/lesser.txt
Affected definitions:

jts 1.13

@TRQ3 @capfei The sourceforge link on the Maven page has LGPL v2.0 - https://sourceforge.net/projects/jts-topo-suite/. The Maven page also has this link to LGPL v3.0 - http://www.gnu.org/licenses/lgpl-3.0.txt. Which do you think should be Declared?

@AE49 I would go with LGPL-2.1-or-later since the source files have that in their header.
https://sourceforge.net/p/jts-topo-suite/code/HEAD/tree/tags/Version_1.13/jts/java/src/com/vividsolutions/jts/JTSVersion.java


Thank you!

This isn't an issue, more of a note to say thank you so much for creating this fork and hosting this free service!

@soundasleep no problem at all 👍 thanks for the good words

a big thank you from me. I used fixer.io for my crypto application Mammon. I'm going to update my with your api and will mention you. Cheers


Chromecast support

Issue overview
Chromecast support would be a great even on iOS. Many media player do support it (ARTE, Vimeo, YouTube, ..). More info at https://developers.google.com/cast/docs/developers

[ ] Incorrect behavior
[X] Feature request
[ ] Crash
[ ] Help / documentation
[ ] Other: classification

Sorry for the late answer. Yes, this is definitely something we intend to deliver in a hopefully not so distant future. What remains to be investigated is whether Chromecast support must be actually implemented in the library or not.
Given the recent changes of Chromecast V3, it seems possible that Chromecast support could be better implemented at the application level. We should provide all necessary hooks in our library, of course. We could maybe provide a companion framework as well to fill the gap.

Sorry for the late answer. Yes, this is something we are planning to add in a not so distant future (cannot tell you exactly when for the moment).
With the recent Chromecast V3 changes, though, it remains to be investigated whether this feature should be added to our library directly (probably as an optional dependency), or whether it would be best done at the app level (in which case we would provide all necessary hooks and sample code for integration, maybe a companion framework).

The implementation of Google Cast in our application (itself based on SRG MediaPlayer) is almost finished, and I now understand how Google Cast works and how it must be integrated in applications. I can therefore properly answer your feature request:

The way Google Cast works is far different from the way AirPlay works. AirPlay works by having the local AVPlayer instance seamlessly transform into a proxy for content played on the receiver. Integrating Google Cast, though, is rather integrating shared remote controls for content played on the receiver.
When you want to play some content with Google Cast, you just supply metadata and a URL to the receiver by sending all information through the Google Cast SDK. No AVPlayer instance is required at all. In fact, you could imagine having a Google Cast compatible application which can itself not play any media on the device.
With Google Cast, the central authority for content currently being played is the receiver. Once a Google Cast receiver is available, any application using the Google Cast SDK can access information about what is being played and can display a tiny and / or large remote control view to manage playback. With AirPlay, the central authority remains the device itself, not the receiver.
Any content being played on the Google Cast receiver (including content stemming from another app or device) can be managed within these remote control views, in any other application, which is quite different from AirPlay, which is tightly coupled to an AVPlayer instance from a single application.
How those remote control views are integrated strongly depends on the application itself, most notably how its view or view controller hierarchy has been designed.
Finally, Google Cast must be integrated with CocoaPods, which interferes with how we distribute SRG MediaPlayer through Carthage. I attempted integration with Carthage and a custom binary repository. Redundancy of the Protobufs library with other Google SDKs integrated with CocoaPods (most notably Firebase), though, makes such integration unreliable because of duplicate symbols.

For all these reasons, I am now convinced that SRG MediaPlayer cannot provide any Google Cast integration. SRG MediaPlayer controller is strongly related to an AVPlayer instance and therefore promotes SRG MediaPlayer controllers as authorities to control playback. This is in direct opposition to how Google Cast works, with the receiver being the playback authority, and the device only a remote control.
Google Cast integration is moreover the responsibility of the application itself, since SRG MediaPlayer must not make any assumptions about the view controller hierarchy and how Google Cast player views should be presented. Moreover, SRG MediaPlayer has no access to metadata information it could supply to Google Cast, unlike the application itself. Attempting to provide additional abstractions to provide for such flexibility at the SRG MediaPlayer level would lead to additional complexity.


RustEnhanced suddenly stops highlighting of code mid-code (with image)

System or Software
Version

Sublime Text
Build 3126

Rust Enhanced
1.2.3

An image for the problem:
http://i.imgur.com/OK7WNVe.png
I cannot tell how this happens exactly.

@Robbepop could you try running this on the latest version, also could you put a gist link of that code in here, so we can test it our end.
Thanks

The code I was operating on can be found here.
Keep in mind that this is a very actively mutated piece of code and so the break-point of the syntax highlighting could be somewhere else now.

I am able to reproduce this on 1.3.0
Will take a look into it, thanks for the code sample

@Robbepop I've fixed it in this release
https://github.com/rust-lang/sublime-rust/releases/tag/v1.3.1
GIve it a try and let me know

fixed for me, too. :)
thanks for the fast bug fix!


adding article compiling-lisp-to-javascript-from-scratch-in-350-loc.md

Thanks for the PR! Could you change
authors: "Gil Mizrahi"

to
authors:
 - "Gil Mizrahi"

? Hakyll has an automatic fallback mechanism to parse fields as lists, but it fails if content mixes the YAML list syntax and the Hakyll syntax.

No problem. Note that I used the website's gui to create the content of the file.

Note that I used the website's gui to create the content of the file.

Okay, I'll update the template file accordingly.
Did you encounter any errors during the automatic pull request creation process? (After clicking the "Submit a pull request" button on the website's content submission interface)

Hooray, it's live! :)
http://haskanything.com/content/article/compiling-lisp-to-javascript-from-scratch-in-350-loc.html

Thanks!
I haven't run into problems, i just didn't want to grant account permissions to the app.


Pin Torch, Allow Outlines to Use New Transformers

[x] Confirming the issue with torch reproduces in CI.

torch 2.0.1 resulted in test failure

In torch>=1.13.1,!=2.0.*, the OSError described in #568 is resolved.
fixes https://github.com/outlines-dev/outlines/issues/568
We also should upgrade outlines version, as you cannot directly install outlines[serve] due to the dependency conflict between vllm==0.3.0 (requires transformers>=4.37.0) and outlines==0.0.26 (requires transfomers==4.36.2)

Thank you !

In torch>=1.13.1,!=2.0.*, the OSError described in #568 is resolved.

Any way we can simplify this by forcing torch >= X?

We also should upgrade outlines version, as you cannot directly install outlines[serve] due to the dependency conflict between vllm==0.3.0 (requires transformers>=4.37.0) and outlines==0.0.26 (requires transfomers==4.36.2)

You mean cutting a new release once this has been merged?


Capturing cluster metrics in logs

Description
What:

Capture cluster metrics for monitoring
Define methods for crawl, walk, and run scenarios

Why:

So that we may monitor cluster health for various levels of k8s adoption

When:

Ongoing

Where:

K8s

Tasks

[ ] Define solution for M1 (e.g., Azure Container Insights) - #318
[ ] Identify any collisions with current monitoring - #318
[ ] Configure crawl solution for current environment and update provisioning docs/scripts
[ ] Update documentation

Acceptance Criteria

Methods for cluster metrics defined
Crawl method implemented in current pre-prod environment
Docs updated

Constraints

N/A

References:

References #12

We will need to update fluent bit so we don't double capture the app logs

We will need to update fluent bit so we don't double capture the app logs


Test APY & wash-consume bounds more, fix as needed

Bounding rules
For a given week, the OCEAN rewarded is bounded by:

OCEAN budget for that week. E.g. for DF Alpha, this is 10K per week
APY bounded to ≤ 125%; therefore WPY of 1.57171%.
Ensuring that wash consuming is unprofitable.

Implementation
Implementation of the above includes:

Total OCEAN rewards distributed for that week = min(OCEAN_budget_week, total_staked * WPY)
APY ≤ 125% for each LP at each pool
3% consume fee that goes to the Ocean community. The idea: solve (3) via this and APY bound.
And more

Worked Examples
Blog: Ocean Data Farming Examples
Scenarios in blog:

One LP, smaller stake, hits the APY cap of 125%
One LP, larger stake, hits the weekly OCEAN_budget cap
Two LPs, same data consume volume (DCV), same returns
Two LPs, different data consume volume, different returns

Wash consume concern
Limit of OCEAN rewarded is not currently a function of # consumes, price, or DCV.
Concern: can wash consuming happen?
Thought experiment:

Let's say that we are at scenario 3 in the blog post. Each pool has 1 consume. Each LP gets 5K OCEAN rewards; 29.6% APY.
Then LP 1 spends 8 OCEAN to get 8 more consume. Now we're at scenario 4 (at least one path to it -- a malicious one). Now LP 1 gets rewards of 9K OCEAN (59.3% APY).
By spending 8 OCEAN, LP 1 has got an extra (9K - 5K) = 4K OCEAN rewards. This was $ well spent! (The 3% community fee doesn't even matter)

Conclusion: wash consuming can happen right now
How to fix: make the limit of OCEAN rewarded to be a function of DCV. Perhaps reconcile with 3% community fee.
Ht Robin for this thinking:)
TODOs

[ ] Ensure: APY ≤ 125% for each LP at each pool. (I'm pretty sure it's not currently handling this). Write test, confirm, fix as needed
[ ] Test "wash consume concern" in py. Fix as needed

It seems I really misunderstood the formula as I thought this was already take care of.
From my point of view the formula that would solve this problem would take the community % into regard and limit each pool's reward via that. I also aimed at this in my question in the AMA but I did not get my point across.
In scenario 1 the maximum reward would be 1 $OCEAN * 0.03 = DCV * community % fee = 0.03 $OCEAN reward for the LP or  - thus it would be very, very low and basically all tokens would be returned to the pool. So 9999.97 $OCEAN would go back to the data farming rewards pool.
Scenario 2 would be exactly the same.
So in scenario 3 there would be 1 $OCEAN * 0.03 = DCV(1) * community % fee reward for LP of pool 1 and the same for pool 2. 9999.94 $OCEAN go back.
In scenario 4 there would be 9 $OCEAN * 0.03 =  DCV(1) * community % fee = 0.27 $OCEAN reward for LP of pool 1. And 0.03 $OCEAN for LP of pool 2.
This takes care of the wash consume problem but also drastically lowers the amount of rewards distributed. REAL consume has to happen of 10.000 $OCEAN = DCV(total) * community % fee to distribute all the $OCEAN reserved for this phase.

New thought re wash consuming:
what if we didn't change the reward function? That is, keep it as it is for DF1 and DF2.
Then, yes there will likely be wash consuming, but it's an evolutionary arms race for DCV, and the biggest winners will be the LPs who have real volume and don't have to wash consume as much to max out rewards.

https://twitter.com/trentmc0/status/1540393775155089411?s=21&t=PTccjS551Ddd_HpdX2BlXQ

Closing for now, given the current thinking in my comment above. Will reopen if needed.


Error when reoptimize after adding a constraint

Issue here: https://discourse.julialang.org/t/error-with-scip-when-reoptimize-after-adding-a-constraint/43112
SCIP throws an error when I reoptimize a model after adding a constraint:
"""
using JuMP; using SCIP;
model = Model(SCIP.Optimizer);
@variable(model, x);@variable(model, y);@variable(model, z);
@NLconstraint(model, x*y*z <= 5);
@objective(model, Max, 0);
optimize!(model)
@NLconstraint(model, x*y*z >= 3);
optimize!(model)
"""
julia> using JuMP; using SCIP;

julia> model = Model(SCIP.Optimizer);

julia> @variable(model, x);@variable(model, y);@variable(model, z);

julia> @NLconstraint(model, x*y*z <= 5);

julia> @objective(model, Max, 0);

julia> println(model)
Max 0
Subject to
 x * y * z - 5.0 ≤ 0

julia> optimize!(model)
feasible solution found by trivial heuristic after 0.0 seconds, objective value 0.000000e+00
presolving:
presolving (1 rounds: 1 fast, 0 medium, 0 exhaustive):
 0 deleted vars, 0 deleted constraints, 0 added constraints, 0 tightened bounds, 0 added holes, 0 changed sides, 0 changed coefficients
 0 implications, 0 cliques
transformed 2/2 original solutions to the transformed problem space
Presolving Time: 0.00

SCIP Status        : problem is solved [optimal solution found]
Solving Time (sec) : 0.00
Solving Nodes      : 0
Primal Bound       : +0.00000000000000e+00 (2 solutions)
Dual Bound         : +0.00000000000000e+00
Gap                : 0.00 %

julia> @NLconstraint(model, x*y*z >= 3)
x * y * z - 3.0 ≥ 0

julia> println(model)
Max 0
Subject to
 x * y * z - 5.0 ≤ 0
 x * y * z - 3.0 ≥ 0

julia> optimize!(model)
[/nfs/OPTI/jenkins/workspace/SCIPOptSuite_linux_release/scipoptsuite-6.0.2/scip/src/scip/scip_cons.c:991] ERROR: invalid SCIP stage <10>
[/nfs/OPTI/jenkins/workspace/SCIPOptSuite_linux_release/scipoptsuite-6.0.2/scip/src/scip/cons_nonlinear.c:9424] ERROR: Error <-8> in function call
[/nfs/OPTI/jenkins/workspace/SCIPOptSuite_linux_release/scipoptsuite-6.0.2/scip/src/scip/cons_nonlinear.c:9473] ERROR: Error <-8> in function call
ERROR: AssertionError: $(Expr(:escape, :(SCIPcreateConsBasicNonlinear(mscip, cons__, "", 0, C_NULL, C_NULL, 1, tree__, C_NULL, lhs, rhs)))) == SCIP_OKAY
Stacktrace:
 [1] add_nonlinear_constraint(::SCIP.ManagedSCIP, ::Expr, ::Float64, ::Float64) at /home/remi/.julia/packages/SCIP/lx725/src/nonlinear.jl:190
 [2] set(::SCIP.Optimizer, ::MathOptInterface.NLPBlock, ::MathOptInterface.NLPBlockData) at /home/remi/.julia/packages/SCIP/lx725/src/MOI_wrapper/nonlinear_constraints.jl:17
 [3] set(::MathOptInterface.Bridges.LazyBridgeOptimizer{SCIP.Optimizer}, ::MathOptInterface.NLPBlock, ::MathOptInterface.NLPBlockData) at /home/remi/.julia/packages/MathOptInterface/bygN7/src/Bridges/bridge_optimizer.jl:593
 [4] set(::MathOptInterface.Utilities.CachingOptimizer{MathOptInterface.AbstractOptimizer,MathOptInterface.Utilities.UniversalFallback{MathOptInterface.Utilities.Model{Float64}}}, ::MathOptInterface.NLPBlock, ::MathOptInterface.NLPBlockData) at /home/remi/.julia/packages/MathOptInterface/bygN7/src/Utilities/cachingoptimizer.jl:485
 [5] set(::Model, ::MathOptInterface.NLPBlock, ::MathOptInterface.NLPBlockData) at /home/remi/.julia/packages/JuMP/YXK4e/src/JuMP.jl:893
 [6] #optimize!#97(::Bool, ::Bool, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Model, ::Nothing) at /home/remi/.julia/packages/JuMP/YXK4e/src/optimizer_interface.jl:108
 [7] optimize! at /home/remi/.julia/packages/JuMP/YXK4e/src/optimizer_interface.jl:107 [inlined] (repeats 2 times)
 [8] top-level scope at none:0

While the same with only one optimize! works:
"""
using JuMP; using SCIP;
model = Model(SCIP.Optimizer);
@variable(model, x);@variable(model, y);@variable(model, z);
@NLconstraint(model, x*y*z <= 5);
@NLconstraint(model, x*y*z >= 3);
@objective(model, Max, 0);
optimize!(model)
"""
julia> optimize!(model)
presolving:
(round 1, fast)       0 del vars, 0 del conss, 2 add conss, 0 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
(round 2, fast)       0 del vars, 0 del conss, 2 add conss, 0 chg bounds, 0 chg sides, 0 chg coeffs, 4 upgd conss, 0 impls, 0 clqs
presolving (3 rounds: 3 fast, 1 medium, 1 exhaustive):
 0 deleted vars, 0 deleted constraints, 2 added constraints, 0 tightened bounds, 0 added holes, 0 changed sides, 0 changed coefficients
 0 implications, 0 cliques
presolved problem has 5 variables (0 bin, 0 int, 0 impl, 5 cont) and 4 constraints
      4 constraints of type <quadratic>
transformed objective value is always integral (scale: 1)
Presolving Time: 0.00

 time | node  | left  |LP iter|LP it/n| mem |mdpt |frac |vars |cons |cols |rows |cuts |confs|strbr|  dualbound   | primalbound  |  gap
  0.0s|     1 |     0 |     0 |     - | 574k|   0 |   0 |   5 |   4 |   5 |   0 |   0 |   0 |   0 | 0.000000e+00 |      --      |    Inf

******************************************************************************
This program contains Ipopt, a library for large-scale nonlinear optimization.
 Ipopt is released as open source code under the Eclipse Public License (EPL).
         For more information visit http://projects.coin-or.org/Ipopt
******************************************************************************

m 0.1s|     1 |     0 |     0 |     - | 623k|   0 |   - |   5 |   4 |   5 |   0 |   0 |   0 |   0 | 0.000000e+00 | 0.000000e+00 |   0.00%
  0.1s|     1 |     0 |     0 |     - | 623k|   0 |   - |   5 |   4 |   5 |   0 |   0 |   0 |   0 | 0.000000e+00 | 0.000000e+00 |   0.00%

SCIP Status        : problem is solved [optimal solution found]
Solving Time (sec) : 0.09
Solving Nodes      : 1
Primal Bound       : +0.00000000000000e+00 (1 solutions)
Dual Bound         : +0.00000000000000e+00
Gap                : 0.00 %

Thanks for the report. The key seems to be in the message: ERROR: invalid SCIP stage
After solving, SCIP still hangs on to the transformed problem and solution etc. Maybe SCIPfreeTransform must be called before new (nonlinear) constraints can be added.
We have the allow_modification function to reset the stage, which is called in various "add constraint" methods, but is probably missing from the relevant NLP equivalent.
So, calling allow_modification before the @NLconstraint should be a work-around for your situation.
But it should also be fixed properly, of course.

Your example now works on master.


Skip TLS verification during e2e tests

Description
During end-to-end tests, roxctl throws an error about the validity of the certification when connecting to the newly made cluster:
ERROR:	Certificate validation error: x509: certificate signed by unknown authority

OpenShift CI sees this in the build log and will highlight it in the UI, which causes confusion when someone's triaging a broken build. This PR removes TLS verification, which is safe since we created the cluster, and will remove the above error from the build log.
Testing Performed
In progress

OBE https://github.com/stackrox/stackrox/pull/4130


fix(codegen): remove temporary object file

closes #366

oops, not working but should be an easy fix


Context manager clarification

Just out of curiosity, why is the current syntax for the context manager:
ff = AsdfFile(tree)
with ff.write_to("example.asdf"):
    pass

Would it not make sense for it to be:
with AsdfFile(tree) as ff:
    ff.write_to("example.asdf")

? What is the purpose of using write_to as a context manager?:
with ff.write_to("example.asdf"):
    pass

This is somewhat historical (when you create an AsdfFile, it may not have an underlying file object and therefore there is nothing to close).  It should probably just be cleaned up in the docs/tests and elsewhere.


Fix handling of --start-period option for HEALTHCHECK

As adressed in #166 is_valid_healthcheck() throws an error when the '--start-period' option is provided.
This is due a broken regexp that doesn't  handle the dash in the option name.
This PR fixes this.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@marccampbell – another request for a review and merge when you get a chance!


Fix generation of the versioned download URL

It seems that the version interpolation doesn't work properly in newer
versions of the pulumi python library. Let's un-interpolate the version
instead.

This doesn't work, see the failing validate-codegen CI job. I'm pretty sure this is a regression in pulumi somewhere between 3.53.1 and 3.58.0.


chore skip performance check tmp

Try to bypass the following problem
Merging is blocked Required status check "performance (Doris Performance)" was not set by the expected GitHub app.

run buildall


Project Template Generator pulling data into Translator field?

I'm using a Chrome browser on an iMac. As I fill in the template, from top to bottom, I leave the five fields in the "Information about the Translator(s)" group blank, and proceed further down the form. When I get to the "Additional Information About The Work" group, I complete the Copyright year and Brief Summary, and then when I get to the "Summary by" field - and this is the crucial part - what I have been doing is typing the letter "P" (first letter of my first name) and then, as Chrome immediately provides "Peter Dann" for me as a possible auto-completion, I have been selecting that auto-completion from the dropdown. The moment I do that, Chrome populates the "Last name" and "First name(s)" fields in the "Information about the Translator(s)" group with my first and last names - quite unnoticed by me, until now.

Is this something we can mitigate?

We could try setting the autocomplete=off attribute on our <input>s. It should prevent Chrome from auto-filling them with whatever user information it has, at least according to [1]. It shouldn't interfere with our own autocomplete, which done within the application and is independent of the browser.
[1] https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete

We could try setting the autocomplete=off attribute on our <input>s.

Having the browser auto complete fields is a nice feature though. I use it all the time while testing the Project Template Generator.
The part I don't understand is why Chrome would auto fill in the Translator fields while the focus is in the Summary By field. I wonder if we have some crazy JavaScript issue triggering this?  The author and translator fields have some JavaScript associated with them to do things like clear all the fields when the last name field is deleted by the user and for our own auto complete stuff.
I am curious to install Chrome somewhere and see if I can even duplicate the issue in the first place. Maybe something useful would show up in the Chrome debug console

I installed Chrome in a Windows 10 virtual machine. I can't seem to duplicate the issue.
But if you google around there are lots of complaints about weirdness with Chrome auto fill / auto complete with many different workarounds that seem to work / break with random versions of Chome.
One interesting thing I found was the setting show-autofill-type-predictions in chrome://flags. With this option on when you hover over the Summary By field it says the section is trans_last_name[1]. So Chrome is associating the field with the translator last name field somehow. My theory that something in our JavaScript is causing this is starting to look less and less likely.


Login error

When I'm trying to log in using username-password-authentication, I received 401 Unauthorized, but I'm sure that credentials is correct.

Also when I'm trying to use google-oauth2 connection, it logs my Success login with different email but in reality nothing happens, I'm still having You are not logged in! Please Log In to continue. (other social connections works simmilar, logs my Success login, but nothing happens on client)

This might not apply to you, but I did the quickstart tutorial, and part of it was setting up a rule to only allow emails from domain example.org, which I never deleted after completing the tutorial.


[labs/virtualizer] Does not step through assignedSlot when gathering parents

Which package(s) are affected?
Virtualizer (@lit-labs/virtualizer)
Description
When slotting places a Virtualizer within a scrolling parent, the current parent gathering workflow does not acquire that parent. This means that when the content is scrolled, the virtualization is not triggered and subsequent pages of content are not rendered.
Reproduction
https://lit.dev/playground/#gist=d12a3422f91b2b55eee102a491b74e3d
Workaround
Patch the package...
Is this a regression?
No or unsure. This never worked, or I haven't tried before.
Affected versions
All
Browser/OS/Node environment
All

@Westbrook It looks to me like you may have pasted the wrong Playground link. Can you double-check?

@Westbrook Thanks for clarifying what's going on with the Playground in our Discord chat. Here are two more minimal repros derived from yours:
https://lit.dev/playground/#gist=4431876002ed36881754a665e8ea4818 (slot within a scrolling element)
https://lit.dev/playground/#gist=f60d8ccb1361c0373669336e136f2990 (slot is a scrolling element)


Godot Mono C# KinematicBody2D isOnFloor() doesn't work

Godot version:
Godot Mono v.3.2.1
OS/device including version:
Windows 10 1909
Issue description:
isOnFloor() method from KinematicBody2D doesn't seems to work in godot mono while using C#.
Steps to reproduce:
Check isOnFloor() result
Minimal reproduction project:

Please provide a minimal reproduction project.

Are you calling MoveAndSlide() and setting the floor normal? Because If you don't, it won't detect IsOnFloor

Are you calling MoveAndSlide() and setting the floor normal? Because If you don't, it won't detect IsOnFloor

Yes, I set a normal vector(0,1) called vDefault (for normal floor)

Please provide a minimal reproduction project.

Here _
`using Godot;
using System;
public class cs_PlayerMotor : KinematicBody2D
{
// Instance & variables
public static Vector2 velocity = new Vector2(0,0);
public Vector2 vDefault = new Vector2(0,1);
Boolean canDoubleJump = false;
int speed;
int jump;
int gravity;
// Called when the node enters the scene tree for the first time.
public override void _Ready()
{
// Initialize values
speed = 200;
jump = 500;
gravity = 25;
}
public override void _Process(float delta)
{
    // Simple gravity effect
    velocity.y += gravity;
    // Horizontal slide
    velocity.x = getDirection() * speed;
    // Apply velocity effect
    velocity=MoveAndSlide(velocity,vDefault);

    // Jump and double jump
    if((isOnFloor() == true) && Input.IsActionJustPressed("ui_up") == true) // Check if player can jump
    {
        velocity.y = -jump; // jump
        canDoubleJump = true;   // Allow double jump
    }
    else if(Input.IsActionJustPressed("ui_up") == true && canDoubleJump && (isOnFloor() == true)) // Check if player can double jump
    {
        velocity.y = -jump; // double jump
        canDoubleJump = false; // deny double jump
    }

}

`

@RuiPDeJe A minimal reproduction project is a complete project that can be imported into Godot as-is. This way, we can test the project with the same collision shapes you've used in your own project. Otherwise, we don't get a full picture of what we should be testing.

@RuiPDeJe A minimal reproduction project is a complete project that can be imported into Godot as-is. This way, we can test the project with the same collision shapes you've used in your own project. Otherwise, we don't get a full picture of what we should be testing.

@Calinou

You can compress your project into a ZIP archive and upload it here by drag-and-dropping it.

Ha un français ! Oui pardon, mon anglais est pas terrible... Je vais l'upload dans un instant

Here is the project, u need to change .csproj
https://www.mediafire.com/folder/eh74tuy2nsd3i/

The script is cs_PlayerMotor.cs, I used a condition if(velocity.y == 0) instead of if(isOnFloor())

    public Vector2 vDefault = new Vector2(0,1);

        velocity=MoveAndSlide(velocity,vDefault);

This code fails because MoveAndSlide expects an up vector but you've given it a vector pointing down (+Y is down in 2D, so -Y is up). If you replace the first line with:
    public Vector2 vDefault = Vector2.Up; // Same as new Vector2(0, -1)

Then IsOnFloor() works as expected.
Fun fact: If you leave the above code as-is, you could also use IsOnCeiling() :)

    public Vector2 vDefault = new Vector2(0,1);

        velocity=MoveAndSlide(velocity,vDefault);

This code fails because MoveAndSlide expects an up vector but you've given it a vector pointing down (+Y is down in 2D, so -Y is up). If you replace the first line with:
    public Vector2 vDefault = Vector2.Up; // Same as new Vector2(0, -1)

Then IsOnFloor() works as expected.
Fun fact: If you leave the above code as-is, you could also use IsOnCeiling() :)

Oh, thank u !


README.rst: Fix borked rendering

See at https://github.com/msabramo/opterator/tree/patch-1

See https://bitbucket.org/pypa/pypi/pull-request/60/fix-bb-214-make-rst-rendering-not-fail-for/diff


postcss-modules-values variables isn't working in a non-module css/scss files

Desribe the bug
postcss-modules-values variables aren't working on non-module CSS/SCSS files
Did you try recovering your dependencies?

Yes, I already tried using css/scss files to know which one works but no luck, variables isn't working on non-module css/scss files
Which terms did you search for in User Guide?

Can't find any solutions, "postcss-modules-values variables isn't working on non-module/ regular css/scss files"
Environment

System:
OS: Windows 10
CPU: (6) x64 Intel(R) Core(TM) i5-8600K CPU @ 3.60GHz
Binaries:
Node: 10.16.0 - C:\Program Files\nodejs\node.EXE
Yarn: 1.15.2 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 6.9.0 - C:\Program Files\nodejs\npm.CMD
Browsers:
Edge: 44.17763.1.0
Internet Explorer: 11.0.17763.1
npmPackages:
react: ^16.8.6 => 16.8.6
react-dom: ^16.8.6 => 16.8.6
react-scripts: 3.0.1 => 3.0.1
npmGlobalPackages:
create-react-app: Not Found
Steps to reproduce

I'm using postcss-modules-values library for creating variables for my css-modules
variables isn't working on a regular / non-modules css/scss files, I could use css variables but I don't want to refactor my codes because I'm already using postcss-modules-values, in my previous project i'm using gatsby and it works fine even with non-module css/scss files
it works without an error but the variable values aren't there,
as much as possible I don't like to eject my project, It'll be my last resort if ever.

Expected behavior

I expect that the variables created from postcss-modules-values are available with module and non-module css/scss files. Because it behave exactly like this in my gatsby-project.
Actual behavior

Nothing went wrong it works without an error, but If I import my variables to a non-module css/scss files the variable value isn't read or simply the variables isn't working.
Reproducible demo

the bug is understandable even without a bug demo, maybe it's a web pack config issue, I just want you to know that it behaves differently in create-react-app. it works perfectly in other setups like gatsby.

Hi
reproduced your issue in our setup.
To workaround, you have to eject configs and put implicit module require for postcss-modules-values in postcss loader options.
Hope it helps

thanks, I really appreciate your help :)

@mrmckeb In order to fix that issue I can add require('postcss-modules-values') to postcss-loader to enable CSS Modules values feature for non *.module.css files.
Note: CRA already has postcss-modules-values as a dependency of css-loader

This is a regression in CRA 3.0.0. Downgrading to any 2.x.x version seems to work (I'm using 2.1.8).


util.to_forward_slash_path replacements #3

Fixes
Fixes WB-NNNN
Fixes #NNNN
Description
What does the PR do?
Testing
How was this PR tested?
Checklist

[ ] Include reference to internal ticket "Fixes WB-NNNN" and/or GitHub issue "Fixes #NNNN" (if applicable)
[ ] Ensure PR title compliance with the conventional commits standards

copilot:poem

Current dependencies on/for this PR:

main

PR #5493

PR #5494

PR #5498

PR #5499

PR #5500   👈

PR #5495

PR #5496

PR #5497

This comment was auto-generated by Graphite.


evolution-ews: fix missing schemas

Description of changes
cc @blitz

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

I've backported this to 22.05 and can confirm that the calendar backend doesn't crash anymore! :tada:

Is there any way to help this PR along? I'm probably not the only one that was wondering why his calendar didn't work anymore. :)

Updating as suggested in the review comments above would be helpful. I probably will not be able to do it before #182618 is finished.

ping @jtojnar

done

ping @jtojnar

It would be awesome to get this in before the 22.11 release. :)

I fixed the merge conflict. I would also like to see this merged because it fixes an issue where saving a task with a hour as end date fails with "invalid object".

Thanks.


Failed SQL Transaction Errors

We are starting to see these errors in GCP logs:
File "/usr/local/lib/python3.9/site-packages/flask_json.py",
  line 356, in wrapper2 rv = f(*args, **kw)
File "/usr/local/lib/python3.9/site-packages/masquerade/main.py",
  line 179, in suggest return {'suggestions': open_sgid.get_suggestions(search_text, max_results)}
File "/usr/local/lib/python3.9/site-packages/masquerade/providers/open_sgid.py",
  line 342, in get_suggestions suggestions.extend(table.get_suggestions(search_text, max_results))
File "/usr/local/lib/python3.9/site-packages/masquerade/providers/open_sgid.py",
  line 163, in get_suggestions records = database.query(self.get_suggest_query(search_text, max_results))
File "/usr/local/lib/python3.9/site-packages/masquerade/providers/open_sgid.py",
  line 64, in query cursor.execute(query) psycopg2.errors.InFailedSqlTransaction: current transaction is aborted, commands ignored until end of transaction block

It seemed to take the service completely down yesterday for time.

I don't believe that this is an issue any more.


type "Sub" missed

A subroutine is an instance of type Sub and can be assigned to any container.

added as a type!


black outlines around the torches

Hello, I really like this mod and I wanted to include it in my World. But it seems that I have a problem. All torches have some kind of black outline around them. This outline disappears as soon as I activate the torch. I am playing on the newest version of minecraft 1.19.2 and I only use your mod and "Cloth Config". Maybe there is something wrong in my settings but I havent found a solution yet.

Sry, I am new with this whole github thing. Is there anything else I have to upload?

should be plenty for this issue :)

sooo, now i'm confused. you are sure you only use those two mods and not some kind of render mod like magnesium or optifine?

or some kind of resource pack? because it looks like the issue has something to do with vanilla block models. do the normal torches (not buttons or levers) also have this issue?

I was planning on using oculus, which is a forge- and shaderfriendly mod like optifine. In the beginning I was using a shader and thought this is the cause of the problem. But then I started minecraft with just your mod and without any shader or resource pack and it was still there (like in the screenshot).

That's weird. The issue is not present when the torches are activated? Then i will try something tomorrow and hopefully that works, we'll see.

 I figured it out.  I was just checking my resource packs ingame and saw that the "Mod Resources" were below the normal minecraft recouces. Well, I moved it above and noww everything is fine

I am sry for all that work you probably did. But in the end you helped me with your commend which guided me back to the recource folder

Ah that confirms my fix, after next update there will be no dependency on the vanilla model anymore so it won't happen again to anyone :)

I will close the issue of i've fixed it

But still: Thank you for your help and fast replies. Maybe add some big text on curseforge which tells dumb people like me that they have to move the resources xD

fixed in 70bc70f


Integration of a PowerShell Module with DockerCompletion

Integration of a PowerShell Module with DockerCompletion
Hello DockerCompletion Maintainers,
I am in the process of developing a PowerShell module designed to colorize Docker command outputs. My goal is to integrate this feature with DockerCompletion to streamline user workflows.
Potential for Synergy
I believe there is potential for synergy between our tools, but I am uncertain if there is an existing method to extend DockerCompletion with an external module's argument completers.
Key Questions

Is there a recommended approach to achieve this?
Could DockerCompletion implement a function or hook to facilitate such an integration?

Current Attempt
I am currently trying to do this (but it is not ideal for me to modify your source code):

Seeking Advice
Your advice on this matter would be invaluable, and I am open to any suggestions you may have. The addition of such extensibility to DockerCompletion could offer significant benefits to users looking for a more customized command-line experience.
Acknowledgments
Thank you for your dedication to developing DockerCompletion, and I hope my contribution can further enrich this tool.
Best regards,
IsWladi

Currently, DockerCompletion does not provide a function or hook to complete an external module's argument. But there is a way to do that  as the following script:
# Mock function
function DockerColorPosh {
	for ($i = 0; $i -lt $args.Count; $i++) {
		Write-Host ('$args[{0}] = {1}' -f $i, $args[$i])
	}
}

# Import and get the DockerCompletion's PSModuleInfo
Import-Module DockerCompletion
[System.Management.Automation.PSModuleInfo]$DockerCompletion = Get-Module DockerCompletion

# Get the `$argumentCompleter` from the DockerCompletion's PSModuleInfo.
# The `$argumentCompleter` is the scriptblock for `docker` command.
# It is not an exported variable, but we can access it with the `PSModuleInfo.Invoke()` method like this.
[scriptblock]$completer = $DockerCompletion.Invoke({ $argumentCompleter })

# Register the `$argumentCompleter` for any functions
Register-ArgumentCompleter -CommandName DockerColorPosh -ScriptBlock $completer

Now the completer works. For examples:

DockerColorPosh cont[tab] -> DockerColorPosh container
DockerColorPosh container ru[tab] -> DockerColorPosh container run
DockerColorPosh container run --rea[tab] -> DockerColorPosh container run --read-only

The output of the mock function is:
$ DockerColorPosh container run --read-only
$args[0] = container
$args[1] = run
$args[2] = --read-only

Thank you for the prompt resolution to my issue. Your guidance was clear and very helpful . I appreciate the support and look forward to contributing to this project in the future.


Fix checks with comma issues in checks @j2clerck

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

As mentioned in Discord, running grep \, checks/*| grep -E "textFail|textPass|textInfo|RISK|REMEDIATION" I get extra7152, extra7153, extra7156, extra7162, extra765, extra769 and extra794 that have to be changed. Let me know if you can make it or I can do it.

@toniblyx I will have a look at the remaining checks.

Awesome, thanks @j2clerck


Fix empty DXCC on LBA update functions

The JS update / QSL functions of LBA return an empty DXCC. This fixes the issue by using the correct lookup from DXCC table for dxccname.

@phl0 seems I missed this one. Thanks for fix. I also updated so that contest is updated too.


"Install from source" documentation doesn't mention "serf" dependency

I only discovered that "serf" needed to be installed on reading the error message kong threw when I first tried to run it, after completing the "Install from source" walkthrough. I guess that step just needs to be added to the page with a download link.

Has been added since then, thanks!


April 1 CZIF Policy Updates

This must be deployed by April 1  for portal and explorer:

[ ] Remove “(updates coming)” next to Terms of Service and Privacy Policy links on both portal and explorer cookie banners.

[ ] Remove “(updates coming)” next to Terms of Service and Privacy Policy links at the bottom of the portal pages.

[ ] Remove cellxgene.cziscience.com/previewpolicies.

[ ] Replace the contents of https://cellxgene.cziscience.com/tos/ with the TOS section from this document.

[ ] Replace the contents of https://cellxgene.cziscience.com/privacy/ with the Privacy section from this document.

Verified in prod so closing.


Problem with FollowPath and MoveToFort

Expected Behavior
Going back to original path after moving to fort
Actual Behavior
When it encounter a fort, it diverts from the Path and doesn't go back to it
Config.json
	{
		"type": "SpinFort"
	},
	{
		"type": "MoveToFort",
		"config": {
			"lure_attraction": true,
			"lure_max_distance": 2000
	}
	},
	{
		"type": "FollowPath",
		"config": {
			"path_mode": "linear",
			"path_start_mode": "first",
			"path_file": "configs/path.json"
		}
	}

Quoted from Example configuration:

The following configuration tells the bot to transfer all the Pokemon that match the transfer configuration rules, then recycle the items that match its configuration, then catch the pokemon that it can, so on, so forth. Note the last two tasks, MoveToFort and FollowSpiral. When a task is still in progress, it won't run the next things in the list. So it will move towards the fort, on each step running through the list of tasks again. Only when it arrives at the fort and there are no other stops available for it to move towards will it continue to the next step and follow the spiral.

So this is by design.

What if I put MoveToFort as last task? Would it still go to forts or they would be discarded at all?

not exactly the same thing your doing but i'm trying to get a path to walk before moving onto just walking between forts and it's not working right.    even having followpath first and both followpath and movetofort are trying to walk at the same time to different places so it's constantly going back and forth.
I do think there is a bug here as I would expect followpath to work the same as other tasks like movetomappokemon where they run until they can't and then tasks below it get their turn to walk around.

@iruy is your issue resolved?


bazel: add bazelw wrapper

This wrapper allows developers to quickly get off the ground without
having to install bazel or bazelisk manually.
Signed-off-by: Keith Smiley<EMAIL_ADDRESS>

Script itself looks good. We'd also need to update scripts and docs.

Updated to use for all CI scripts, I don't see public facing docs here that need updating

I don't see public facing docs here that need updating

I think we can replace the usage of bazelisk with ./bazelw here and in other files in docs/

/retest


How to install fractal packages

close #212

This PR is not up to date with simpler installation, and moreover the READMEs were modified several times in the meanwhile. Let's start with a fresh one, if needed.


Helm 2.9.0 is giving "connection refused" when deploying charts

Following up from https://github.com/kubernetes/helm/issues/2520. Filing as a new issue as this is occurring with 2.9.0 only and does not occur with 2.8.1.
$ helm version
Client: &version.Version{SemVer:"v2.9.0", GitCommit:"f6025bb9ee7daf9fee0026541c90a6f557a3e0bc", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.9.0", GitCommit:"f6025bb9ee7daf9fee0026541c90a6f557a3e0bc", GitTreeState:"clean"}

Can't even delete Helm:
$ helm reset
Error: Get http://localhost:8080/api/v1/namespaces/kube-system/configmaps?labelSelector=OWNER%!D(MISSING)TILLER: dial tcp [::1]:8080: connect: connection refused

Had to delete as:
$ kubectl delete deployment tiller-deploy --namespace kube-system
deployment.extensions "tiller-deploy" deleted

Switched to 2.8.1:
$ brew switch kubernetes-helm 2.8.1
Cleaning /usr/local/Cellar/kubernetes-helm/2.6.2
Cleaning /usr/local/Cellar/kubernetes-helm/2.8.1
Cleaning /usr/local/Cellar/kubernetes-helm/2.9.0
46 links created for /usr/local/Cellar/kubernetes-helm/2.8.1

Kubectl version:
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.1", GitCommit:"d4ab47518836c750f9949b9e0d387f20fb92260b", GitTreeState:"clean", BuildDate:"2018-04-13T22:29:03Z", GoVersion:"go1.9.5", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.3", GitCommit:"d2835416544f298c919e2ead3be3d0864b52323b", GitTreeState:"clean", BuildDate:"2018-02-07T11:55:20Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"linux/amd64"}

Cluster created using kops on AWS.
More details at https://github.com/arun-gupta/kubernetes-chaos/issues/2

Hey there! This issue has been reported several times at this point. Please see #3990 and the related (duplicate) tickets in that thread. There are several described worarounds, and a patch has been applied to the canaries. A v2.9.1 with that patch will follow once the core team has recovered from jet lag ;)

For reference, the workaround is here: https://github.com/kubernetes/helm/issues/3985#issuecomment-385105880

This fixed it for me.
kubectl -n kube-system patch deployment tiller-deploy -p '{"spec": {"template": {"spec": {"automountServiceAccountToken": true}}}}'

This has been fixed in helm v2.9.1, which is available here: https://github.com/kubernetes/helm/releases/v2.9.1
Thanks everyone!


kele-context: namespace switching should return back to the kele-context prefix

Currently, switching namespaces for the current context via kele-context exits the prefix entirely afterwards. If we consider "default namespace" as a "variable" of the current context (which is effectively what it is), then this is an unintuitive experience.
Let's re-bind namespace-switching within kele-context such that it takes place within an infix that:

Displays the currently set default namespace;
Alters the underlying kubeconfig;
Updates the displayed namespace on doing so.

Making this an infix would be an abuse of Transient infixes.
Instead, we could make this a suffix that simply returns back to the kele-context prefix on completion.

This seems like a micro-optimization.


Update timber.php

If you allow it to be fetch as such, I wont have to use ob_start => Timber::render => ob_get_contents => ob_end_clean

This feature would be great :)


Implemented controllers, views and routes

In this PR, I added rails controllers, views, routes, and other features according to the project requirements. Below are the features I added:

Added a routes
Added controllers for routes path
Added view file for each route action
I finally run rails routes to output all routes

Thank you @rloterh


打印日志中文乱码 (Print log Chinese garbled)

"name":"é¦æ¸¯ä¸å¡æµç¨"

Logbook falls back to UTF-8, unless the content type of the message specifies something different. Which charset are you using?

my default charset  is utf-8
<logger name="org.zalando.logbook" level="TRACE"/>我就配置了这一块，在logback-spring.xml

And the request that you're sending? How does that look like? (Maybe you can copy&paste curl output?)

我的配置
logbook:   format:     style: json #这个值还可以是 http、json等
返回数据
2020-08-04 14:42:41.662|site|8081|TRACE|http-nio-8081-exec-1|org.zalando.logbook.Logbook|DefaultHttpLogWriter.java|write:26|{"origin":"local","type":"response","correlation":"af2e43f663f94507","duration":395,"protocol":"HTTP/1.1","status":200,"headers":{"Connection":["keep-alive"],"Content-Type":["application/json"],"Date":["Tue, 04 Aug 2020 06:42:41 GMT"],"Keep-Alive":["timeout=60"],"Transfer-Encoding":["chunked"]},"body":{"header":{"retCode":"1","retMessage":"æä½æå"},"body":[{"id":70,"seqId":"6689551097411014656","name":"123","type":"1233","source":"process_hk","property":"1","enabled":"1","deleteFlag":0,"createBy":null,"createTime":"2020-08-04T02:56:16.000+0000","updateBy":null,"updateTime":"2020-08-04T05:41:38.000+0000"},{"id":66,"seqId":"6689543600302329856","name":"111","type":"345","source":"process_hk","property":"0","enabled":"1","deleteFlag":0,"createBy":null,"createTime":"2020-08-04T02:26:26.000+0000","updateBy":null,"updateTime":"2020-08-04T02:26:26.000+0000"},{"id":65,"seqId":"6689543406173163520","name":"123","type":"456","source":"process_hk","property":"1","enabled":"1","deleteFlag":0,"createBy":null,"createTime":"2020-08-04T02:25:40.000+0000","updateBy":null,"updateTime":"2020-08-04T02:25:40.000+0000"},{"id":67,"seqId":"6689544221482946560","name":"345","type":"6567","source":"process_hk","property":"1","enabled":"1","deleteFlag":0,"createBy":null,"createTime":"2020-08-04T02:28:54.000+0000","updateBy":null,"updateTime":"2020-08-04T02:28:54.000+0000"},{"id":58,"seqId":"1285814170880708609","name":"é®å·è°æ¥","type":"äºå¡å±","source":"process_nd","property":"1","enabled":"1","deleteFlag":0,"createBy":null,"createTime":"2020-07-14T08:54:51.000+0000","updateBy":null,"updateTime":"2020-08-03T03:23:01.000+0000"},{"id":62,"seqId":"1285814170880708613","name":"æµè¯2","type":"ä¿å®å±","source":"process_hk","property":"1","enabled":"1","deleteFlag":0,"createBy":null,"createTime":"2020-08-03T05:49:11.000+0000","updateBy":null,"updateTime":"2020-08-03T05:49:17.000+0000"},{"id":59,"seqId":"1285814170880708610","name":"é®å·è°æ¥","type":"å¬å®å±","source":"process_hk","property":"1","enabled":"1","deleteFlag":0,"createBy":null,"createTime":"2020-07-14T08:55:00.000+0000","updateBy":null,"updateTime":"2020-08-03T03:22:49.000+0000"},{"id":68,"seqId":"6689545278267199488","name":"æ¢µèåçµé¥é","type":"æ¯æåæ¯èè¬","source":"process_hk","property":"1","enabled":"1","deleteFlag":0,"createBy":null,"createTime":"2020-08-04T02:33:06.000+0000","updateBy":null,"updateTime":"2020-08-04T02:33:06.000+0000"},{"id":63,"seqId":"123","name":"æµè¯2","type":"æé«æ£","source":"process_hk","property":"1","enabled":"1","deleteFlag":0,"createBy":null,"createTime":"2020-08-03T05:56:24.000+0000","updateBy":null,"updateTime":"2020-08-03T07:27:46.000+0000"},{"id":57,"seqId":"1285814170880708608","name":"é®å·è°æ¥","type":"æä¸å±","source":"process_nd","property":"1","enabled":"1","deleteFlag":0,"createBy":null,"createTime":"2020-07-14T08:54:42.000+0000","updateBy":null,"updateTime":"2020-08-03T03:22:57.000+0000"},{"id":64,"seqId":"6689541664240963584","name":"111","type":"è°æ¥å±","source":"process_hk","property":"1","enabled":"1","deleteFlag":0,"createBy":null,"createTime":"2020-08-04T02:18:44.000+0000","updateBy":null,"updateTime":"2020-01-01T04:00:11.000+0000"}]}}

How do you produce that JSON? Spring application with Jackson? Standard settings? Where do those name and type properties come from? Feels like those strings are encoded in a different charset.

Can you post one of the garbled "name" or "type" values here in the original chinese, text? Maybe we can reverse-engineer which charset was used to encode that JSON.

My setting is ok，i have checked.now i use aop to print request param
|
|
|
|
|
魏平涛<PHONE_NUMBER>9
神州数码融信软件有限公司
智能银行解决方案部
|
|
联系我
|
|
|
|
|
在2020年08月07日 15:11，Willi Schönborn 写道：
Can you post one of the garbled "name" or "type" values here in the original chinese, text? Maybe we can reverse-engineer which charset was used to encode that JSON.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

now i use aop to print request param

AOP as in "aspect-oriented programming"? I don't get it.

"name":"é¦�æ¸¯ä¸�å�¡æµ�ç¨�"

JVM默认字符集不一定是UTF-8
Setting the default Java character encoding
-Dfile.encoding=UTF-8
//example
java -Dfile.encoding=UTF-8 -jar example.jar

Can you paste the source code how you send that request? Spring RestTemplate?

I also encontered the problem with Apache HttpClient, and i have solved the problem by using addInterceptorLast rather than addInterceptorFirst.

the same issue happend , my message is “messages":["执行成功"]”，but the log in console print "messages":["æ§è¡æå"]"

@xudamiao-hub Can you paste the source code how you send that request? Spring RestTemplate?

See #870


New autoupdate format

The old format is currently used be the projector code. This the projector code still uses the CollectionElement, it is not so easy to fix. So I want to keep the old code for the projector until a decision is made, if the projector is rewritten for 3.0

I don't understand why travis fails. @normanjaeckel do you know how to fix it? It seems, the python 3.6 code uses the config file from another commit

@ostcar Travis is ok now

I added a commit for the new client.

@ostcar Any work open here? Or should we review/merge?

You can review/merge this

I'll push my commit on top of yours tomorrow. Could be merged then, right?

If someone approve this, I merge it. I hope someone approves this before tomorrow evening.

I'll do this tomorrow morning