Sb 0000 merged kafkaclient to release-2.4.0

Codecov Report

Merging #675 into release-2.5.0 will increase coverage by 0.22%.
The diff coverage is 0%.

@@                 Coverage Diff                 @@
##             release-2.5.0     #675      +/-   ##
===================================================
+ Coverage             37.9%   38.12%   +0.22%
- Complexity             829      904      +75
===================================================
  Files                  124      142      +18
  Lines                 9187     9771     +584
  Branches              1035     1079      +44
===================================================
+ Hits                  3482     3725     +243
- Misses                5352     5657     +305
- Partials               353      389      +36

Impacted Files
Coverage Δ
Complexity Δ

...ain/java/org/sunbird/kafka/client/KafkaClient.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...rg/sunbird/notification/beans/MessageResponse.java
80% <0%> (ø)
5% <0%> (?)

...ication/sms/providerimpl/Msg91SmsProviderImpl.java
59.19% <0%> (ø)
39% <0%> (?)

...va/org/sunbird/notification/utils/FCMResponse.java
0% <0%> (ø)
0% <0%> (?)

...notification/fcm/provider/NotificationFactory.java
0% <0%> (ø)
0% <0%> (?)

...m/providerImpl/FCMHttpNotificationServiceImpl.java
0% <0%> (ø)
0% <0%> (?)

...nbird/notification/utils/NotificationConstant.java
0% <0%> (ø)
0% <0%> (?)

...tion/sms/providerimpl/Msg91SmsProviderFactory.java
100% <0%> (ø)
4% <0%> (?)

.../java/org/sunbird/notification/utils/JsonUtil.java
26.31% <0%> (ø)
4% <0%> (?)

...rg/sunbird/notification/utils/PropertiesCache.java
0% <0%> (ø)
0% <0%> (?)

... and 9 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ac97c05...49b7b8e. Read the comment docs.


Clicking on a button in a row selects row

Greetings,
if I add a button in a datatable row while auto-selection is active, clicking on a button will select a row.
I'd guess this is not exactly a wanted behaviour for any CRUD-ish GUI, and datatables often come with CRUD.
Is there any workaround for this?
Here is a quick example, just to clarify on what I meant:
http://codepen.io/Sarpedion/pen/ZWyVYJ?editors=1010

You just need to stop the event from propagating. I updated you Codepen

That is indeed the solution, thank you


Usernames seem to all be the same coming out of pairwise_exchanges

Alright, so, here's my code.
corpus = convokit.Corpus(filename=os.path.join(os.getcwd(), 'datasets', 'redditconvos.json'))
exchanges = corpus.pairwise_exchanges(user_names_only=True)
print('loaded ', len(exchanges) ,' exchanges')

for i in exchanges:
	exchanges[i] = [e for e in exchanges[i] if e.text != "[deleted]"] # filter out [deleted]'s
	tlen = len(exchanges[i])
	if(tlen > 1):
		for j in range(tlen):
			print(str(exchanges[i][j].user) + ": " + exchanges[i][j].text)

	print("><><><><><><><")

Now, what I'm kinda expecting is a conversation between different users, right?
But what I keep seeing is the same user having a conversation with, what appears to be... themselves?
Example:
User([('name', 'Borkz')]): Make paragraphs and maybe ill read that.
User([('name', 'Borkz')]): Decided against reading it.
User([('name', 'Borkz')]): And stop running everything you say through a thesaurus.
User([('name', 'Borkz')]): Nice.
User([('name', 'Borkz')]): > > but It should encapsulate all kinds of drug stories recreational and otherwise

I've tried this with both the reddit convo corpus, and the wiki corpus, but it seems like names within one thread are always the same.

Hi, thanks for raising this issue. This has been fixed as of the recent Convokit 2.0 release. We also have a reddit-corpus-small corpus instead of redditconvos.json that users can more readily utilize.
Adapted from your code above, this will now produce what you expect:
import convokit

corpus = convokit.Corpus(filename=convokit.download("reddit-corpus-small"))
exchanges = corpus.pairwise_exchanges(user_names_only=True)
print("Loaded {} exchanges".format(len(exchanges)))

for i in exchanges:
	exchanges[i] = [e for e in exchanges[i] if e.text != "[deleted]"]   # filter out [deleted]'s
	tlen = len(exchanges[i])
	if len(exchanges[i]) > 1:
		for j in range(tlen):
			print()
			print(str(exchanges[i][j].user) + ": " + exchanges[i][j].text)
			print()
		print("><><><><><><><")

Output:

User([('name', 'rheinl')]): “Hi Kpop girl can I send you a pic of g-dragon?”

“Uhhh ok” (what the hell? this guy is so weird)

“Here you go” *sends pic of g-dragon with no makeup*

“Uhh thanks I guess” (Jesus I hope he never talks to me again)

User([('name', 'rheinl')]): “Hi Kpop girl can I send you a pic of g-dragon”

“Woohoo I can’t wait! Please send it right away!”

“Here you go” *sends a pic of g-dragon with no make up*

“Ugh! No you spoilt my day! Hehe!”

><><><><><><><

User([('name', 'belmont_lay')]): I'm sorry if that's how your interactions with friends go 😥

User([('name', 'belmont_lay')]): I'm sorry if that's how your interactions with friends go 😥

But that's not how any of my whatsapps with my friends happened.

><><><><><><><

Please do let us know if you encounter any other issues. Thank you!


Images do not render when using block serializers

With this implementation, my content is rendering as I would expect it to:
<BlockContent
  projectId={process.env.NEXT_PUBLIC_PROJECT_ID}
  dataset={process.env.NEXT_PUBLIC_DATASET}
  blocks={post?.body}
/>

However, the addition of the following serializer makes it so the embedded images in the block content do not render:
const serializers = {
  block: (props): JSX.Element => {
    const { children, node } = props;
    const { style } = node;
    if (style === "h1") {
      return (
        <Typography className="mb-4" variant="h1">
          {children}
        </Typography>
      );
    }
    if (style === "h2") {
      return (
        <Typography className="mb-4" variant="h2">
          {children}
        </Typography>
      );
    }
    if (style === "h3") {
      return (
        <Typography className="mb-4" variant="h3">
          {children}
        </Typography>
      );
    }
    if (style === "h4") {
      return (
        <Typography className="mb-4" variant="h4">
          {children}
        </Typography>
      );
    }
    if (style === "h5") {
      return (
        <Typography className="mb-4" variant="h5">
          {children}
        </Typography>
      );
    }
    if (style === "h6") {
      return (
        <Typography className="mb-4" variant="h6">
          {children}
        </Typography>
      );
    }
    return BlockContent.defaultSerializers.types.block(props);
  }
};

I am thinking that return BlockContent.defaultSerializers.types.block(props); does not properly render images, but it's not clear from the docs how I would do so.

The serializers block shape should be like this:
const serializers = {
  types: {
    block: {
      // Your code
    }
  }
}

The default serializer is defined like this:
const serializers = {
  types: {
    block: …,
    image: …,
  }
}

I'm wondering if maybe we're not merging when you're specifying types, which means that if you specify types: { block: … } then you'll end up with now image serializer. Can you try this instead?
const serializers = {
  types: {
    ...BlockContent.defaultSerializers.types,
    block: (props): JSX.Element => {
      const { children, node } = props;
      …
    }
  }
}

Ah, okay, so simply moving the blocks object down a level to within types did the trick. Thanks!
Somewhat related, are there types available for this library? Probably would have helped me realize my mistake earlier.

There's some comments about typing support in this issue: https://github.com/sanity-io/block-content-to-react/issues/26


Updated gradle configuration names in examples

"compile" is deprecated in favor of "implementation"

The gradle plugin is tested against Gradle 2.3, please make sure that it's supported.

My plugin has no problems with it, but it requires Gradle 5.6+

Closed by 315a2b4


Add subscription payments to your web app with Firebase Extensions & Stripe guide code error

Bug report

Extension name: [e.g. firestore-stripe-payments]

Describe the bug
Thank you so much for the amazing guide! It got me 99% running, I just found an error in the code for part 5 under "Access the Stripe customer portal" when I used ".httpsCallable("ext-firestore-stripe-subscriptions-createPortalLink");" it gave me a "redirect is not allowed for a preflight request" error. I looked up the name of the function in firestore and I could only find ".httpsCallable("ext-firestore-stripe-payments-createPortalLink");" and upon using that in my code it worked perfectly.
To Reproduce
Follow guide exactly as it says
Expected behavior
Pressing the button would take the customer to their portal
Screenshots
If applicable, add screenshots to help explain your problem.
System information

OS: Windows 10
Browser: Chrome

Additional context

Hi @Where44444.
This could be a potential bug in the Firebase Extensions installer, however I am so far unable to replicate.
Could you please provide a screenshot for better debugging of the issue?
Thanks!


new data types: power and energy

I've got a smart electricity meter which can output the current power usage in watts as well as the daily/weekly/yearly energy usage in watthours, that I'd like to integrate into fdrs, so it'd be great to have matching data types. Those could also come in very handy when monitoring a remote battery backed solar installation.

I'll put POWER_T and POWER2_T on the new release for sure. These will match the  VOLTAGE_T & VOLTAGE2_T and CURRENT_T & CURRENT2_T which are doubled to allow you to monitor your own voltage, plus a second device like a battery or solar panel.
I'm going to take some time to think about how to treat daily/weekly/yearly total. I currently am thinking they will be defined by one type, and you'll need to send them each with a different ID. In the meantime, just use an arbitrary value (30-255 should be okay) for the type.

Thanks a bunch Timm! I agree that it should probably just be ENERGY_T and maybe ENERGY2_T as there are way too many totals to cover everybodies usecases. Using IDs seems more sensible as it is a lot more flexible. This would also keep everything nicely aligned with the other types. :+1:

Got this added. Sorry I forgot to list you as a co-author, which I'd normally do. I'll get you on one related to ethernet. I'm going to tackle that soon-ish.


Archway - Remove IBC types

associated with PR - https://github.com/icon-project/IBC-Integration/pull/550


Jenkins integration

These changes added Jenkins support, readme updates (to conform to the makefile changes), and some changes to the validate.sh to align more closely to the validate in the readme.

I’m gonna close this as we are putting in other PRs


Spending upto 50% of the time in lmdb(*.Txn).bytes while benchmarking Txn.Get

I am benchmarking lmdb-go, BoltDB and Badger, using Go benchmarking tools.
In the setup that I have, BoltDB seems to be outperforming lmdb-go by at least an order of magnitude for doing random reads from the key value store. This is a bit surprising and I am trying to investigate why that is the case.
I did some CPU profiling and I noticed this:
$ go tool pprof badger-bench.test  lmdb.out
Entering interactive mode (type "help" for commands)
Showing top 10 nodes out of 44 (cum >= 10ms)
      flat  flat%   sum%        cum   cum%
     120ms 48.00% 48.00%      120ms 48.00%  github.com/bmatsuo/lmdb-go/lmdb.(*Txn).bytes
      80ms 32.00% 80.00%       80ms 32.00%  runtime.cgocall
      10ms  4.00% 84.00%       10ms  4.00%  fmt.(*pp).printArg
      10ms  4.00% 88.00%       10ms  4.00%  github.com/dgraph-io/badger/y.AssertTruef
      10ms  4.00% 92.00%       10ms  4.00%  runtime.(*gcWork).put
      10ms  4.00% 96.00%       10ms  4.00%  runtime.adjustframe
      10ms  4.00%   100%       20ms  8.00%  runtime.greyobject
         0     0%   100%       10ms  4.00%  fmt.(*pp).doPrintf
         0     0%   100%       10ms  4.00%  fmt.Sprintf
         0     0%   100%       10ms  4.00%  github.com/bmatsuo/lmdb-go/lmdb.(*Env).Close

the program spends close to 50% of the time in lmdb.(*Txn).bytes (from here). Is this expected? Can it be improved?
Here is the benchmarking code (view in context):
runRandomReadBenchmark(b, "lmdb", func(c *hitCounter, pb *testing.PB) {
	err := lmdbEnv.View(func(txn *lmdb.Txn) error {
		txn.RawRead = true
		for pb.Next() {
			key := newKey() // Generates a random key
			v, err := txn.Get(lmdbDBI, key)
			if lmdb.IsNotFound(err) {
				c.notFound++
				continue
			} else if err != nil {
				c.errored++
				continue
			}
			y.AssertTruef(len(v) == *flagValueSize, "Assertion failed. value size is %d, expected %d", len(v), *flagValueSize)
			c.found++
		}
		return nil
	})
	if err != nil {
		y.Check(err)
	}
})

The code inside the loop pb.Next {…} is called multiple times and an average calculated. Here are the results for LMDB and Bolt in a simple run:
ubuntu@ip-172-31-39-80:~/go/src/github.com/dgraph-io/badger-bench$ go test -v --bench BenchmarkReadRandomLmdb --keys_mil 5 --valsz 16384 --dir "/mnt/data/16kb"
BenchmarkReadRandomLmdb/read-randomlmdb-128                10000            129638 ns/op
--- BENCH: BenchmarkReadRandomLmdb
        bench_test.go:104: lmdb: 6370 keys had valid values.
        bench_test.go:105: lmdb: 3630 keys had no values
        bench_test.go:106: lmdb: 0 keys had errors
        bench_test.go:107: lmdb: 10000 total keys looked at
        bench_test.go:108: lmdb: hit rate : 0.64
PASS
ok      github.com/dgraph-io/badger-bench       1.362s

ubuntu@ip-172-31-39-80:~/go/src/github.com/dgraph-io/badger-bench$ go test -v --bench BenchmarkReadRandomBolt --keys_mil 5 --valsz 16384 --dir "/mnt/data/16kb"
BenchmarkReadRandomBolt/read-randombolt-128               100000             17122 ns/op
--- BENCH: BenchmarkReadRandomBolt
        bench_test.go:104: bolt: 63722 keys had valid values.
        bench_test.go:105: bolt: 36278 keys had no values
        bench_test.go:106: bolt: 0 keys had errors
        bench_test.go:107: bolt: 100000 total keys looked at
        bench_test.go:108: bolt: hit rate : 0.64
PASS

Bolt comes in at 17122 ns/op which is a lot faster than lmdb-go’s 129638 ns/op
Additional Details
Benchmarks are being performed on a dedicted i3.large instance from Amazon AWS, which provides 450GB NVMe SSD storage, 2 virtual cores along with 15.25GB RAM.

Data size on disk: 61GB
No. of Keys in DB: 5 million
Value Size: 16KB (constant)
Key Size: 22B

Please ask if you require any other details about the benchmarking setup.

@hyc Maybe you have some insights regarding this?

Here is a visualization from another cpu trace, for clarity.

Sorry, no idea. Go is not my specialty, and I don't know what's going on inside lmdb-go.

@deepakjois Hi, thanks for the report and this good bench suite for all three KV stores, I find it very useful!
I just finished evaluating the benchmarks and things are looking to be very normal and familiar from my experience with BoltDB and LMDB. For my experiments I used an Amazon EC2 instance of type m4.4xlarge (16 vCPU, 64 GB RAM) and provisioned IO SSD disk of 2TB capacity (20,000 IOPS guaranteed). The disk was mounted with ext4	defaults,noatime,nobarrier.
OS:
Linux 4.9.38-16.35.amzn1.x86_64 #1 SMP Sat Aug 5 01:39:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

First, I'd like to note that the population performance of BoltDB and LMDB are still uncomparable, i.e. this is LMDB:
[0332] Write key rate per minute: 805.00K. Total:   4.94M
[0333] Write key rate per minute: 767.00K. Total:   4.95M
[0334] Write key rate per minute: 775.00K. Total:   4.96M
[0335] Write key rate per minute: 780.00K. Total:   4.96M
[0336] Write key rate per minute: 744.00K. Total:   4.97M
[0337] Write key rate per minute: 752.00K. Total:   4.98M
[0338] Write key rate per minute: 760.00K. Total:   4.99M
[0339] Write key rate per minute: 730.00K. Total:   5.00M
[0340] Write key rate per minute: 735.00K. Total:   5.00M
closing lmdb

WROTE 5004000 KEYS

But BoltDB declines very fast and I barely had patience to wait until all 5M keys were written:
[6834] Write key rate per minute:  25.00K. Total:   5.00M
[6835] Write key rate per minute:  26.00K. Total:   5.00M
[6836] Write key rate per minute:  26.00K. Total:   5.00M
[6837] Write key rate per minute:  26.00K. Total:   5.00M
[6838] Write key rate per minute:  26.00K. Total:   5.00M
[6839] Write key rate per minute:  27.00K. Total:   5.00M
[6840] Write key rate per minute:  25.00K. Total:   5.00M
[6841] Write key rate per minute:  25.00K. Total:   5.00M
closing bolt

WROTE 5004000 KEYS

@deepakjois
Secondly, both LMDB and BoltDB are highly dependent on the OS disk cache, i.e. after the file was populated it almost entirely sits in the RAM just in case, also if it was completely read, it will still sit in the RAM. The difference you're getting in benchmarks is coming from the fact that some data got into RAM already and gets read from there. And another effect is that when more data was in RAM already, then more time benchmark has to read additional entries from the disk: in your run LMDB obviously was reading values from the disk (only 10000 read in the timeframe), and BoltDB got 100000, most of them probably from the RAM, and the rest from the disk.
Both LMDB and BoltDB are read-optimized, and the timings are very predictable, given the modern hardware and the same CPU frequency. If a read takes 1-2µs, it definitely comes from a RAM cache, if a read takes 130-230µs it definitely comes from the SSD itself. In your case BoltDB got mixed reads, so it was 17µs. To make clean experiments, you can use the following methodology.

@deepakjois
I. State with no caches preset
To get into this state you must run:
echo 3 | sudo tee /proc/sys/vm/drop_caches
sudo blockdev --flushbufs /dev/sdX

Let's run the benchmarks again, but don't forget to use -benchtime 5s to avoid fluctuations. By looking at your benchmarking code it seems that reads are not guaranteed to be unique, so fluctuations may happen if some keys are getting read twice or more. But most reads should hit the SSD directly.
a) BoltDB
$ go test -v --bench BenchmarkReadRandomBolt --keys_mil 5 --valsz 16384 --dir /media/db/store -benchtime 5s
goos: linux
goarch: amd64
pkg: github.com/dgraph-io/badger-bench
BenchmarkReadRandomBolt/read-randombolt-16         	  100000	    116133 ns/op
--- BENCH: BenchmarkReadRandomBolt
	bench_test.go:104: bolt: 63184 keys had valid values.
	bench_test.go:105: bolt: 36816 keys had no values
	bench_test.go:106: bolt: 0 keys had errors
	bench_test.go:107: bolt: 100000 total keys looked at
	bench_test.go:108: bolt: hit rate : 0.63
PASS
ok  	github.com/dgraph-io/badger-bench	13.236s

b) LMDB
$ go test -v --bench BenchmarkReadRandomLmdb --keys_mil 5 --valsz 16384 --dir /media/db/store -benchtime 5s
goos: linux
goarch: amd64
pkg: github.com/dgraph-io/badger-bench
BenchmarkReadRandomLmdb/read-randomlmdb-16         	   20000	    351960 ns/op
--- BENCH: BenchmarkReadRandomLmdb
	bench_test.go:104: lmdb: 12651 keys had valid values.
	bench_test.go:105: lmdb: 7349 keys had no values
	bench_test.go:106: lmdb: 0 keys had errors
	bench_test.go:107: lmdb: 20000 total keys looked at
	bench_test.go:108: lmdb: hit rate : 0.63
PASS
ok  	github.com/dgraph-io/badger-bench	10.596s

Yes, there is still a difference, but nothing extraordinary. Actually it may depends on the value size, as I know BoltDB's performance is not stable depending on the value size. LMDB performance is more stable and with another conditions the resulting figures could be swapped.
II. State with everything is in RAM cache
This is achievable if you run benchmarks soon after populating the store, but another way to get everything into RAM is to read all values. To do that let's run the test at least 2 minutes with -benchtime 120s to let all keys be read at least once. (I suggest you to change the benchmark that will make reads unique, as there is no guarantee that running even for 5 minutes will read all 5M keys at least once).
a) BoltDB
$ go test -v --bench BenchmarkReadRandomBolt --keys_mil 5 --valsz 16384 --dir /media/db/store -benchtime 5s
goos: linux
goarch: amd64
pkg: github.com/dgraph-io/badger-bench
BenchmarkReadRandomBolt/read-randombolt-16         	20000000	       426 ns/op
--- BENCH: BenchmarkReadRandomBolt
	bench_test.go:104: bolt: 12655289 keys had valid values.
	bench_test.go:105: bolt: 7344711 keys had no values
	bench_test.go:106: bolt: 0 keys had errors
	bench_test.go:107: bolt: 20000000 total keys looked at
	bench_test.go:108: bolt: hit rate : 0.63
PASS
ok  	github.com/dgraph-io/badger-bench	9.500s

b) LMDB
$ go test -v --bench BenchmarkReadRandomLmdb --keys_mil 5 --valsz 16384 --dir /media/db/store -benchtime 5s
goos: linux
goarch: amd64
pkg: github.com/dgraph-io/badger-bench
BenchmarkReadRandomLmdb/read-randomlmdb-16         	20000000	       385 ns/op
--- BENCH: BenchmarkReadRandomLmdb
	bench_test.go:104: lmdb: 12648566 keys had valid values.
	bench_test.go:105: lmdb: 7351434 keys had no values
	bench_test.go:106: lmdb: 0 keys had errors
	bench_test.go:107: lmdb: 20000000 total keys looked at
	bench_test.go:108: lmdb: hit rate : 0.63
PASS
ok  	github.com/dgraph-io/badger-bench	10.925s

All other results you would get from the benchmarks will be a mix between RAM and direct SSD access, when a part of the data has been previously read.
Good luck :)

Meanwhile, Badger cold-starts with 46937 ns/op but doesn't fit in RAM as nicely as these two, thus after warmup round it still takes 12616 ns/op to read values o__O

Meanwhile, Badger cold-starts with 46937 ns/op on the same dataset, but it takes much more time to get cached properly, after warmup reads were taking 12616 ns/op so I had to do a second warmup, after that I achieved no less than 863 ns/op.

@xlab thanks for taking the time to illustrate what's going on so extensively. Your results match what I've seen here. Under equal conditions nothing else gets anywhere close to LMDB's read performance.

@xlab Thanks for your comments regarding the bechmarking suite, and also for taking the time to run the benchmarks. I really appreciate it.
I just want to clarify that my intention wasn’t to challenge any claims about LMDB’s performance. In fact I was a bit surprised at the results I got, and I was looking for any possible errors in my setup which might be causing that. We are still in the middle of a doing comprehensive benchmarking, and hope to publish a blog about it soon.
The results that you report are more along expected lines. However, there is one very important difference between your setup and ours. Your setup uses 64GB or RAM. We are running benchmarks here on a machine with 16GB of RAM.
This is a deliberate choice. Some of our use cases for Badger (in Dgraph) involve store sizes which are larger than the RAM available on the machine. In this case, BoltDB store size was 55GB and LMDB was 61GB.
Keeping that in mind, I took your suggestion of clearing the caches and ran the benchmark again. I am just focusing on random read performance below. I also set the -benchtime to be 5s. I have run benchmarks with -benchtime 10m (which is our standard setup) as well and the results are not very different.
$ echo 3 | sudo tee /proc/sys/vm/drop_caches
$ sudo blockdev --flushbufs  /dev/nvme0n1

$ go test -v --bench BenchmarkReadRandomBolt --keys_mil 5 --valsz 16384 --dir /mnt/data/16kb -benchtime 5s
BenchmarkReadRandomBolt/read-randombolt-128               300000             20978 ns/op
--- BENCH: BenchmarkReadRandomBolt
        bench_test.go:104: bolt: 189566 keys had valid values.
        bench_test.go:105: bolt: 110434 keys had no values
        bench_test.go:106: bolt: 0 keys had errors
        bench_test.go:107: bolt: 300000 total keys looked at
        bench_test.go:108: bolt: hit rate : 0.63
PASS
ok      github.com/dgraph-io/badger-bench       6.842s

$ echo 3 | sudo tee /proc/sys/vm/drop_caches
$ sudo blockdev --flushbufs  /dev/nvme0n1

$ go test -v --bench BenchmarkReadRandomLmdb --keys_mil 5 --valsz 16384 --dir /mnt/data/16kb -benchtime 5s
BenchmarkReadRandomLmdb/read-randomlmdb-128                30000            196923 ns/op
--- BENCH: BenchmarkReadRandomLmdb
        bench_test.go:104: lmdb: 18801 keys had valid values.
        bench_test.go:105: lmdb: 11199 keys had no values
        bench_test.go:106: lmdb: 0 keys had errors
        bench_test.go:107: lmdb: 30000 total keys looked at
        bench_test.go:108: lmdb: hit rate : 0.63
PASS
ok      github.com/dgraph-io/badger-bench       8.370s

As you can see, LMDB is still reporting much higher timings. I still havent been able to figure out why there is such a big difference. My initial suspicion was that it is the lmdb-go bindings which may be the problem, which is why I filed an issue here.
Any insight into this would be useful, unless you believe this is along expected lines.

Oh, when your data set is larger than RAM you need to use NoReadahead on the environment. By default the kernel pages in 16 pages on every 1-page access, and when the data set is so large, the extra 15 pages usually means some other useful data gets evicted from FS cache.

Hm, with txn.RawRead = true and with lmdb.NoReadahead set, I got these results:
[hyc@gamba badger-bench]$ go test --bench BenchmarkReadRandomBadger --valsz 16000 --keys_mil 2 --dir /mnt/data/b1000 --timeout 10m --benchtime 3m
/mnt/data/b1000/badger
BenchmarkReadRandomBadger/read-random-badger-4         	 5000000	     40377 ns/op
PASS
ok  	github.com/dgraph-io/badger-bench	252.981s
[hyc@gamba badger-bench]$ go test --bench BenchmarkReadRandomRocks --valsz 16000 --keys_mil 2 --dir /mnt/data/b1000 --timeout 10m --benchtime 3m
BenchmarkReadRandomRocks/read-random-rocks-4         	 1000000	    338936 ns/op
PASS
ok  	github.com/dgraph-io/badger-bench	460.359s
[hyc@gamba badger-bench]$ go test --bench BenchmarkReadRandomLmdb --valsz 16000 --keys_mil 2 --dir /mnt/data/b1000 --timeout 10m --benchtime 3m
BenchmarkReadRandomLmdb/read-random-lmdb-4         	200000000	      1478 ns/op
PASS
ok  	github.com/dgraph-io/badger-bench	454.398s

Thank you @hyc. Setting lmdb.NoReadahead does make a huge a difference.
$ go test -cpuprofile lmdb.out  -v --bench BenchmarkReadRandomLmdb --keys_mil 5 --valsz 16384 --dir "/mnt/data/16kb" --timeout 10m --benchtime 5s
BenchmarkReadRandomLmdb/read-randomlmdb-128              1000000              6777 ns/op
--- BENCH: BenchmarkReadRandomLmdb
        bench_test.go:104: lmdb: 631893 keys had valid values.
        bench_test.go:105: lmdb: 368107 keys had no values
        bench_test.go:106: lmdb: 0 keys had errors
        bench_test.go:107: lmdb: 1000000 total keys looked at
        bench_test.go:108: lmdb: hit rate : 0.63
PASS
ok      github.com/dgraph-io/badger-bench       11.005s

ubuntu@ip-172-31-39-80:~/go/src/github.com/dgraph-io/badger-bench$ go test -v --bench BenchmarkReadRandomBolt --keys_mil 5 --valsz 16384 --dir /mnt/data/16kb -benchtime 5s
BenchmarkReadRandomBolt/read-randombolt-128               300000             21025 ns/op
--- BENCH: BenchmarkReadRandomBolt
        bench_test.go:104: bolt: 189816 keys had valid values.
        bench_test.go:105: bolt: 110184 keys had no values
        bench_test.go:106: bolt: 0 keys had errors
        bench_test.go:107: bolt: 300000 total keys looked at
        bench_test.go:108: bolt: hit rate : 0.63
PASS
ok      github.com/dgraph-io/badger-bench       6.842s

Once again, thanks for taking the time to dig into this.

I will close this issue now, because my core concern is resolved.
But before that I just wanted to point out that setting the lmdb.NoReadahead flag slows down iteration under the same setup:
w/ lmdb.NoReadahead set:
$ go test -v --bench BenchmarkIterateLmdb --keys_mil 5 --valsz 16384 --dir "/mnt/data/16kb" --timeout 60m
....................BenchmarkIterateLmdb/lmdb-iterate-128                      1
<PHONE_NUMBER>254 ns/op
--- BENCH: BenchmarkIterateLmdb/lmdb-iterate-128
        bench_test.go:317: [0] Counted 2000000 keys
PASS
ok      github.com/dgraph-io/badger-bench       2746.396s

without lmdb.NoReadahead:
$ go test -v --bench BenchmarkIterateLmdb --keys_mil 5 --valsz 16384 --dir "/mnt/data/16kb" --timeout 60m
....................BenchmarkIterateLmdb/lmdb-iterate-128                      1
<PHONE_NUMBER>83 ns/op
--- BENCH: BenchmarkIterateLmdb/lmdb-iterate-128
        bench_test.go:321: [0] Counted 2000000 keys
PASS
ok      github.com/dgraph-io/badger-bench       626.069s

So, in order to achieve the best possible results for LMDB in all cases, I tweaked the benchmark code to conditionally set the flag based on the type of benchmark being run: https://github.com/dgraph-io/badger-bench/commit/e33adc49f3c7b0e5f917ced8a8706cd1844a5b52

So, in order to achieve the best possible results for LMDB in all cases, I tweaked the benchmark code to conditionally set the flag based on the type of benchmark being run.

Don't think that's the right approach. In a real world system, once you open a KV store with some settings, that's it. All the lookups and iterations happen for the same settings, typically concurrently.

@manishrjain
I guess it's under the same Noreadahead settings for LMDB all benchmarks now. N.B. It should be possible to know beforehand if the data set is larger than RAM


Rework bundles and GitHub release

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

https://gist.github.com/maxmoehl/7fe32619f8503b5d29abfcc0e0f9e7df

/close


Script Errors for EFFECTIVECPP_27 Reported on Linux

*** Inspection Error*** File: /jenkins/workspace/Testing/CodeCheck/Nightly/scitools/plugins/CodeCheck/Published Standards/Effective C++ (3rd Edition) Scott Meyers/EFFECTIVECPP_27/check.upy: Inspected File: /jenkins/workspace/Testing/CodeCheck/Nightly/samples/gitahead-Linux/gitahead/dep/scintilla/scintilla-3.10.6/lexlib/LexerBase.cxx: Error: Traceback (most recent call last):
File "/jenkins/workspace/Testing/CodeCheck/Nightly/scitools/plugins/CodeCheck/Published Standards/Effective C++ (3rd Edition) Scott Meyers/EFFECTIVECPP_27/check.upy", line 104, in check
if prevLex.text() == '&' or nextLex.text() == '?' or re.search(r'&|*', ref.ent().type() + ref.scope().type()) or (prevLex.text() == '[' and nextLex.text() == ']'):
//~^~~~
TypeError: can only concatenate str (not "NoneType") to str
*** Inspection Error*** File: /jenkins/workspace/Testing/CodeCheck/Nightly/scitools/plugins/CodeCheck/Published Standards/Effective C++ (3rd Edition) Scott Meyers/EFFECTIVECPP_27/check.upy: Inspected File: /jenkins/workspace/Testing/CodeCheck/Nightly/samples/gitahead-Linux/gitahead/dep/scintilla/scintilla-3.10.6/lexlib/LexerSimple.cxx: Error: Traceback (most recent call last):
File "/jenkins/workspace/Testing/CodeCheck/Nightly/scitools/plugins/CodeCheck/Published Standards/Effective C++ (3rd Edition) Scott Meyers/EFFECTIVECPP_27/check.upy", line 104, in check
if prevLex.text() == '&' or nextLex.text() == '?' or re.search(r'&|*', ref.ent().type() + ref.scope().type()) or (prevLex.text() == '[' and nextLex.text() == ']'):
//~^~~~
TypeError: can only concatenate str (not "NoneType") to str
*** Inspection Error*** File: /jenkins/workspace/Testing/CodeCheck/Nightly/scitools/plugins/CodeCheck/Published Standards/Effective C++ (3rd Edition) Scott Meyers/EFFECTIVECPP_27/check.upy: Error: Traceback (most recent call last):
File "/jenkins/workspace/Testing/CodeCheck/Nightly/scitools/plugins/CodeCheck/Published Standards/Effective C++ (3rd Edition) Scott Meyers/EFFECTIVECPP_27/check.upy", line 104, in check
if prevLex.text() == '&' or nextLex.text() == '?' or re.search(r'&|*', ref.ent().type() + ref.scope().type()) or (prevLex.text() == '[' and nextLex.text() == ']'):
//~^~~~
TypeError: can only concatenate str (not "NoneType") to str

Looks good!


THRIFT-4960 Bare Trait Warnings

Fixes bare trait (dyn) warnings in the library as well as generated code.

Bare traits, e.g. &mut TInputProtocol currently generate warnings which will be an error in a future rust version. Bare traits are now fixed in the rust lib and generated code to include dyn.

[ ] Did you create an Apache Jira ticket?  (not required for trivial changes)
[ ] Does your pull request title follow the pattern "THRIFT-NNNN: describe my issue"?  (not required for trivial changes)
[X] Did you squash your changes to a single commit?  (not required, but preferred)
[X] Did you do your best to avoid breaking changes?  If one was needed, did you label the Jira ticket with "Breaking-Change"?
[ ] If your change does not involve any code, add  [skip ci] at the end of your pull request to free up build resources.

I created a ticket for you. Next time please try to follow our contrib guide. Thank you!

Sorry @Jens-G, thought this fell under trivial change, compiler warning, since it was a rust compiler warning, but it does change the code generator. Will make an issue next time.


Add preserveDrawingBuffer to the context so Canvas can be exported la…

…ter.

sweet, thx for the PR


[Host_v2] - Footer #912

Issue:
Implementation of new Footer:
Task includes:

Text
Answer Bar
Next State Button

Link to github item: https://github.com/rightoneducation/righton-app/issues/912
I was not able to get to the other notes part of this task:

footer bar should be greyed out when the GameSession state is not in CHOOSE_CORRECT_ANSWER or CHOOSE_TRICKIEST_ANSWER

I also realized that I haven't made storybook files for this task and github item #911 which is the header.
Figma Links:
Individual Components
Overall Component
Resolution:
I created styled components where necessary and created containers to style the parent components together.
Relevant code:

FooterContent.tsx - top level component containing all of the smaller components that make up the entire footer
AnswerBar.tsx - parent component of the text and styled linear progress component
GameSessionContainer.tsx - added in FooterContent and hardcoded props
BarGroup.tsx - container to put together the total number of players text and styled linear progress component
FooterBackgroundStyled.tsx - container for the sticky background of the footer
InputNum.tsx - to place the number of players who have answered text right before the progress value in the styled linear progress component
NextStateButton.tsx - the button for the next state, currently console logs when clicked on
StyledLinearProgress.tsx - styled LinearProgress component

Preview:
Screenshot of the implemented footer on localhost:

TODO:

Greyed out bar
Storybook for a. progress bar, b. button

Hi @amarax,
We're working on the footer component for the new version of host. Currently in the Figma:

Is it correct to assume that these button states match the states in the original version of host? In other words, it's an outline when there are still players answering questions, the button goes solid when all players answer and the text changes to correspond to the state of the game?


List of overwritable CSS-parameters

Hey there!
You showed some of the configurable CSS-parameters, but is somewhere out there a full list?
Best regards

Did you resolve your problem with the searchbar being positioned oddly?
You can find a complete list of all defined CSS variables in the first html selector here in the CSS  (L30-157).
The comments in the CSS and the list in the Readme is all documentation that's currently available.
You can also explore the list of defined variables in

Hey, thank you for the guidance :)
Yes, I resolved the oddly placed searchbar. It seemed like that the error resulted from the fact that my Doxyfile was from an old version of Doxygen or that something in it was broken. After I replaced it by a automatically generated one from Doxygen 1.9.1 it worked just fine!


Serialization of larger payloads can lead to incorrect chunks

This PR contains a fix for issue https://github.com/KallDrexx/rust-media-libs/issues/21.
It contains the following changes:

Changed the size of the socket send buffer to 4MB (from default: 87 KB)
Changed the size of the socket receive buffer to 4MB (from default: 369 KB)
Changed the 'write' function to 'write_all', which will fail when the buffer is not fully written.

Gstreamer uses a default size of the TCP buffers of 2.5MB, I set the default sizes to 4 MB.
I'm not a Rust programmer, so let me know what you would like to see changed!

What's really interesting about this is that the normal Rust TCP structs have no way to get or receive TCP buffer size.  I wonder if I missed this because this is primarily a concern in event event driven networking, as I see the capability in both Tokio and Mio's APIs.
Thanks a ton for this!

Thank you for a great library!


AttributeError: 'DataManager' object has no attribute 'generating_args_preprocess'

Traceback (most recent call last):
File "/root/retrieve/prm/exp0_test0/main.py", line 46, in
train.supervised_fine_tuning(test=True)
File "/root/retrieve/prm/exp0_test0/engines/train.py", line 271, in supervised_fine_tuning
gen_kwargs = self.data_manager.generating_args_preprocess(gen_kwargs)
AttributeError: 'DataManager' object has no attribute 'generating_args_preprocess'

Traceback (most recent call last): File "/root/retrieve/prm/exp0_test0/main.py", line 46, in train.supervised_fine_tuning(test=True) File "/root/retrieve/prm/exp0_test0/engines/train.py", line 271, in supervised_fine_tuning gen_kwargs = self.data_manager.generating_args_preprocess(gen_kwargs) AttributeError: 'DataManager' object has no attribute 'generating_args_preprocess'

已修复


Describe class array syntax

Multiple classes feature is really useful, but it's not mentioned in the book. Had to open the https://github.com/leptos-rs/leptos/discussions/3053 discussion to figure out this

Thanks!


connector with 2 flow variables

I tried a simple electrical example with a voltage source and 2 resistors using complex quantities. For the connector I used 2 potential and 2 flow variables. The results was not correct.
used elements
Cpin = Model(
    vRe = potential,
    vIm = potential,
    iRe = flow,
    iIm = flow
    )

ConePort = Model(
    p = Cpin,
    n = Cpin,
    voltsRe = Var(),
    voltsIm = Var(),
    ampsRe = Var(),
    ampsIm = Var(),
    equations = :[
        voltsRe = p.vRe - n.vRe
        voltsIm = p.vIm - n.vIm
        0 = p.iRe + n.iRe
        0 = p.iIm + n.iIm
        ampsRe = p.iRe
        ampsIm = p.iIm
        ] )

Cresistor = ConePort | 	Model(
    R = Var(parameter=true, value=1.11),
    equations = :[
        R*ampsRe = voltsRe
        R*ampsIm = voltsIm
        ] )

The full example here: myComplex.jl.txt
simulation results
The connection equations for the potential variables are correct, but for flow variables both are used in the equation - see below.
The system breaks down into 2 independent parts (Re, Im), so the equation should only have Re or Im variables
connection equations
connect equations in TTTT:
  Volts.p.vRe = R1.p.vRe
  Volts.p.vIm = R1.p.vIm
  0 = ((Volts.p.iRe + Volts.p.iIm) + R1.p.iRe) + R1.p.iIm   #--> WRONG
  R1.n.vRe = R2.p.vRe
  R1.n.vIm = R2.p.vIm
  0 = ((R1.n.iRe + R1.n.iIm) + R2.p.iRe) + R2.p.iIm   #--> WRONG
  R2.n.vRe = Volts.n.vRe
  R2.n.vIm = Volts.n.vIm
  Volts.n.vRe = ground.pin.vRe
  Volts.n.vIm = ground.pin.vIm
  0 = ((((R2.n.iRe + R2.n.iIm) + Volts.n.iRe) + Volts.n.iIm) + ground.pin.iRe) + ground.pin.iIm     #--> WRONG

modification
I made some modification in ModelCollections.jl to create flow-Connection equations for each single flow variable in the connector.
It works.
ModelCollections.jl.txt
remark:  Sorry for my programming style. Working >20y with MODELICA, but only 20day with Julia.
correct connection equations
Connect equations in TTTT:
  Volts.p.vRe = R1.p.vRe
  Volts.p.vIm = R1.p.vIm
  0 = Volts.p.iRe + R1.p.iRe
  0 = Volts.p.iIm + R1.p.iIm
  R1.n.vRe = R2.p.vRe
  R1.n.vIm = R2.p.vIm
  0 = R1.n.iRe + R2.p.iRe
  0 = R1.n.iIm + R2.p.iIm
  R2.n.vRe = Volts.n.vRe
  R2.n.vIm = Volts.n.vIm
  Volts.n.vRe = ground.pin.vRe
  Volts.n.vIm = ground.pin.vIm
  0 = (R2.n.iRe + Volts.n.iRe) + ground.pin.iRe
  0 = (R2.n.iIm + Volts.n.iIm) + ground.pin.iIm

versions
Julia: Version 1.5.3 (2020-11-09)
ModiaLang : version = "0.8.1"
Modia:  version = "0.5.1-dev"

You are correct, that you found an issue with this partial implementation of connect semantics. I have started to generalize it.
In the mean time, you can use your implementation or you can use Complex numbers:
`ComplexTest = Model(
p = Pin,
n = Pin,
equations = :[
connect(p, n)
p.v = Complex(1.0)
p.i = Complex(0.9, 0.1)
n_i_im = imag(n.i)
]
)
complexTest = @instantiateModel(ComplexTest, log=true)
simulate!(complexTest, stopTime=1)
plot(complexTest, ("n.i", "n_i_im"))`
Note that to plot the imaginary part, you must introduce an auxiliary variable and use the imag() function.

Using Complex number in equation is possible, but to solve a system of equations, Complex has to be split into REAL and IMAG parts. The same for the der() operator.
Modia is extreme powerful and offers high level of flexibility. Great work.


added new control node documentation, linked redis documentation

added new control node documentation, linked redis documentation

nydge

er, nudge

Okay, edits are all done, except I'm Ieaving the notes about tmux pane 5 in (for now).


TypeError: 'NoneType' object is not subscriptable

Hey Ryan,
I am getting the following error while running the model.py code, Could you please assist?
Thanks
TypeError: 'NoneType' object is not subscriptable
File "/recipe-summarization/src/train_seq2seq.py", line 96, in create_model
model.add(SimpleContext(simple_context, rnn_size, name='simplecontext_1'))
File "/anaconda/envs/tensorflow/lib/python3.6/site-packages/keras/models.py", line 492, in add
output_tensor = layer(self.outputs[0])
File "/anaconda/envs/tensorflow/lib/python3.6/site-packages/keras/engine/topology.py", line 636, in call
output_shape = self.compute_output_shape(input_shape)
File "//anaconda/envs/tensorflow/lib/python3.6/site-packages/keras/layers/core.py", line 629, in compute_output_shape
x = self.call(x)
File "/anaconda/envs/tensorflow/lib/python3.6/site-packages/keras/layers/core.py", line 663, in call
return self.function(inputs, **arguments)
File "recipe-summarization/src/model.py", line 84, in simple_context
1. - K.cast(mask[:, :maxlend], 'float32'), 1)
TypeError: 'NoneType' object is not subscriptable

I got the same error as well, seems like there is an empty list some where

Go to your keras library. In layers folder open core.py.  Co to class Lambda. In call method after  "arguments = self.arguments" add following code:
    if (mask == None):
        mask = arguments['mask']

I am also getting the same error. @rinush  would you tell me where is the particular file, you're talking about, located on the disk?

First Find your keras library on your pc.

Open the keras folder

Open the layers folder

Open core.py

Find class Lamda

In class Lamda find call method and add the code after "arguments = self.arguments"
add following code
                     if (mask == None):
                         mask = arguments['mask']


Safari 6.0.5 [Mac] handle sometimes jumps to the left

Hi guys,
firstly, thank you for your hard work and beautiful plugin.
But I found an issue today. On mac, safari 6.0.5 while sliding, the handle sometimes suddenly jumps to the left. And therefore it will show "Before" picture completely. After moving it a bit more it jumps back to the intended position.
Issue can be reconstructed even on plugin home page.
http://zurb.com/playground/twentytwenty
Thanks for fixing it, I would love to use it on my latest project.
Johnny

Hi guys,
I am having a problem with the twenty twenty plugin on safari only.
If
and my status bar is in "hide mode" I can't see the plugin
and if my status bar is in "show mode" I can see the plugin
On another hand, if the
and my status bar is in "hide mode" I can see the plugin
and my status bar is in "show mode" I can't see the plugin
Is it possible to remove the "link" between the status bar and the plugin of the status bar?
Thanks


⚠ SceneTime has degraded performance

In e5a3210, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 3542 ms

Resolved: SceneTime performance has improved in fcce87d after 7 minutes.


Implement a sample WebSocket

Let's start with the harder part ig... me myself and many others working on this repo too have probably never used web sockets, so let's try implementing some sample web sockets. Anyone is welcome to complete this issue, I will also try to work on this when I get time.

Let's work on this after a single player prototype is ready!

Check PR #5  @RTG2717


chore: Update test.yml

Pull Request Test Coverage Report for Build<PHONE_NUMBER>5
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 94.501%

Totals

Change from base Build<PHONE_NUMBER>2:
0.0%

Covered Lines:
678

Relevant Lines:
681

💛  - Coveralls


Release as a universal wheel

By releasing as a Python wheel as well as a source distribution, you can speed up end user’s installs. After merging this command, to release you just need to run python setup.py clean sdist bdist_wheel upload.

Current coverage is 68.88% (diff: 100%)

No coverage report found for master at 2caec11.

Powered by Codecov. Last update 2caec11...a3bf848

you might want to integrate setuptools_scm and a pypi deploy (see https://github.com/pytest-dev/pytest-xdist/blob/master/.travis.yml#L37 and its setup.py for a example)

🎉


CI Fixes

CI failures are caused by the following package incompatibilities.

https://github.com/dask/dask/issues/11038 Some versions of dask are incompatible with python 3.11.9. We were accidentally upgrading to this python version due to a --no-py-pin I added that we no longer need. Removing this fixes the issue, but this is not a true fix - perhaps we should pin dask to avoid the problematic versions (I don't know which versions are affected, only that the fix went into 2024.4.1, and has been back-ported to 2024.2.1).
Pyarrow uses pandas.core.internals.DatetimeTZBlock, which will be removed in the next major release, and is already gone from the nightly builds. This is already handled in newer versions of pyarrow by checking the pandas API version, but causes failures for older versions of pyarrow. Perhaps this could be fixed by patching the repodata for pyarrow, but I'm uncertain whether this can be done for an optional dependency like pandas. For now, I've fixed this by testing the pyarrow and pandas nightly builds together, but an actual solution might be to drop support for older version of pyarrow when pandas 3 is released.

You can also repodata patch optional dependencies via constraints in conda-forge.


Places Adapter Integration

It would be nice if I could select a places instance that will receive the gathered data for location interpretation. I've read a hint or two that this already was implemented but somehow it doesn't show up for me.

Places-adapter integration fixed in 1.4.1. #


Opp firmware 2

Coverage increased (+0.01%) to 92.854% when pulling 0ae6742b3ab14b1f8381bcfaf90491e03feedce6 on opp_firmware_2 into 4688f347577fce6c29c6c61390ae50805bebf048 on dev.

Coverage increased (+0.01%) to 92.854% when pulling 0ae6742b3ab14b1f8381bcfaf90491e03feedce6 on opp_firmware_2 into 4688f347577fce6c29c6c61390ae50805bebf048 on dev.

Coverage increased (+0.01%) to 92.854% when pulling fded05ff9a41a61bfe6493cb4b2ab6609521bd5d on opp_firmware_2 into 4688f347577fce6c29c6c61390ae50805bebf048 on dev.


Adds support for new release URL macro

Switches to new URL macro in SFOS >= 4.6. In longer term, allows to reduce the load on OBS and its administration

Reenable processing of the version string before adding it as CMake option. Without it, test builds will fail at OBS

Test build available at https://build.sailfishos.org/package/show/home:rinigus:tmp/sailfishos-chum-gui
Please check on SFOS 4.6.x.x as I don't have access to it. For that, use GUI build from 4.6 repo
Fixes: #270

doesn't work yet, few more changes are needed

Please check on SFOS 4.6.x.x as I don't have access to it.

Neither do I.
Though I have two comments WRT the added code, see above.

I have installed this on a pinetab2 running <IP_ADDRESS>, and after removing the override I had in place for the SFOS Version, the correct URL was used for the chum repository and packages are available in the UI

@piggz, thanks!

@Olf0, thank you very much for resolving the regex. ready to merge?

@Olf0, thank you very much for resolving the regex. ready to merge?

Yes, sure.  I will create a release then (already did a little preparation), and notify you by a push to sailfishos:chum when it successfully compiled at sailfishos:chum:testing.

Thanks, merged


Scroll through video nodes

It would be nice to be able to just 'scroll' through all the video nodes with the up and down arrow keys, in addition to using the number keys. As it is now, it's super inconvenient to switch between nodes if you have more than 10.
Could also play in with #17, would be nice to have this as an option in a potential list of hotkeys.

what are you doing with more than 10 outputs bruh 💀

what about ALT + scrollwheel?

Loaded every episode in one script on different nodes so I didn't have to keep reloading vspreview 💀
And yeah, any shortcut is fine as long as the feature is there ig.

💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀💀

Ctrl+Tab and Ctrl+Shift+Tab fulfill this purpose, a hotkey explainer page would be helpful.


Split patch file in multiple pieces so we can provide ChatGPT with a larger context

We had the problem with large patches that we had to work with a maximum token size of 4096 tokens.
The following changes were made:

Split the patch with the parse-diff library
Recompile the patch again with different pieces, and add enough context for ChatGPT to understand the changes
Truncate only long patch pieces, instead of the entire patch
Exclude package.json files, as those don't provide additional value, similar to binary files

This should provide a much more complete code review compared to the previous version.
Solves #19

Let's get it in and go from there :)


[C++][FS][Azure] Produce better error message when Move is attempted on flat-namespace accounts

Describe the enhancement requested
Azure Blobs Storage doesn't support renaming of blobs (without downloading and re-uploading the Blob) and offers even less support for atomic rename of multiple blobs.
Users are advised to enable Hierarchical Namespace support [1] if they intend to perform Move operations. AzureFileSystem will automatically detect HNS is enabled and use the Azure Data Lake File System Gen 2 APIs [1] and perform Move operations through that. Then even directories can be moved (something that even the Arrow S3FileSystem doesn't support at the moment).
Before giving up, I started the work in [2]. If anyone wants to implement just blob Move or directory Move, I recommend cloning the branch and continuing the work from there.
[1] https://learn.microsoft.com/en-gb/azure/storage/blobs/data-lake-storage-namespace
[2] #40025
Component(s)
C++

Issue resolved by pull request 40406
https://github.com/apache/arrow/pull/40406


Utilities section is buggy

It is almost impossible to tap and select one on unc0ver 1.1.4 and some older versions.

Can you please explain what you mean? what device are you on, what do you mean by "impossible to tap" (works fine for me on my X and 5S)?

Please watch this

@KMamedoff Seems like you are the only person with this issue. Unless you can find other people with this issue, I'm going to close this in around a day or 2.

it seems to be only happening to me. I cannot reproduce this issue on other devices and I tried to download unc0ver from different sources including using my own developer account with Cydia Impactor and issue still persists. Interesting.

I’ve reproduced this issue and will fix as soon as we merge substrate into master.

How did you reproduce it? Is that "didUnhighlightItemAt" issue?

Was an autolayout mistake


Specify required fields for response models on tcl4 branch

The below tcl4 models are missing a specification for required fields. @hi-kevin mentioned offline that all fields are likely required. Referenced from the swaggerhub yaml.

JSendStatusResponse
JSendSlippyResponse
JSendGridCellMetadataResponse
GridCellMetadataResponse

Fixed in swaggerhub and yaml has been posed to github.


Add link and instructions/rules to contribute

Link is /admin - we probably want this on every page.
Instructions - Something along the lines of being a signed-in, public member of CCP-WSI organisation on GitHub
Rules - Don't modify anyone else's entries, probably need a user policy...

Include information like when you should expect to see your change in the catalogue

Still need to add rules or some sort of user policy but will make new issue for that


[OTHER] Expand the list of codeowners

What would you like to share?
I will also add special cases with several other directories, so that it is easy for future changes.
Additional information
No response
Checklist

[X] I have read the Contributing Guidelines
[X] I have checked the existing issues
[X] I am willing to work on this issue (optional)
[X] I am a GSSoC'23 contributor

@mkubdev
Should I make a PR?
You can look at this for reference: https://github.com/rupali-codes/LinksHub/blob/main/.github/CODEOWNERS

The structure could be important. Let me know what you think.

@Anmol-Baranwal Sorry, just watching this issue. LGTM!

Ah! No worries.
I will make a PR in a day or two then.

Sure np!
Also we should remove @WebXDAO/webx-guild from codeowners


overwriteRequestHeaders.disable ignored when inserting is disabled

Hello there,
We're using the following configuration to disable a header:
{
  "version": 1.0,
  "overwrites": [
    {
      "openApiOperation": "*::/*",
      "overwriteRequestHeaders": [
        {
          "key": "request-id",
          "value": "default",
          "disable": true
        }
      ]
    }
  ]
}

After updating from v. 1.9.1 this adds the header to all paths, even to those without the header defined in oas3. To prevent this, we set insert to false:
     {
          "key": "request-id",
          "value": "default",
          "disable": true,
          "insert": false
        }

Now the header is no longer added to paths without it, but the header is also not disabled on paths on which it is present.
We got the same problem with overwriteRequestQueryParams. Expected behaviour would be for the header to stay disabled.

Used oas def:
openapi: 3.0.1
info:
  title: Test
  version: 1.10.0
paths:
  /test:
    get:
      summary: Get test
      operationId: get-test
      parameters:
        - name: param
          in: query
          schema: &ref_0
            title: Testparam
            type: string
        - name: test-header
          in: query
          schema: &ref_0
            title: Testparam
            type: string
      responses:
        '200':
          description: Wallets list
    parameters:
      - &ref_1
        name: request-id
        in: header
        required: false
        schema:
          type: string
        example: 'abc'
  /test2:
    get:
      summary: Get test 2
      operationId: get-test
      parameters:
        - name: param
          in: query
          schema: &ref_0
            title: Testparam
            type: string
        - name: test-header
          in: query
          schema: &ref_0
            title: Testparam
            type: string
      responses:
        '200':
          description: Wallets list

hi @gpa
The "targetting" concept for Postman is that you specify which requests you want modify or test or extend, like in the "overwrite example".
So the more "open" you are targetting criteria by using wildcards (*), to more requests are matching and modified by Portman.
You are using: "openApiOperation": "*::/*", which means all OpenAPI methods & operations gets modified.
So you can do a couple of things:

only target specifics OpenAPI operations "openApiOperation": "GET::/test2", (which can be a single operation or a range of operations.
OR
you can target all but exclude certain operations using "openApiOperation": "*::/*","excludeForOperations": ["GET::/test1"]"

hi @thim81,
thanks for the answer.
I was aware that I could restrict the criteria, but the use case was to "in all paths, disable the header x, if it exists". This was possible pior to v1.10, which is why I assumed it was a bug.
If this is no longer supported, feel free to close the issue and we'll switch to specifying operationIds

Sorry, but your example still adds the disabled header request-id to path /test2 which is what I'm trying to avoid, and it requires specifying paths on which the header is present. I'll just go ahead and use more specific matching criteria. Thank you nevertheless for your help.

That is usually an indication that the targeting is too broad.
add the "excludeForOperations": ["GET::/test2"]" or only target the API operations that require that request-id via "openApiOperation": "GET::/test"

@gpa Were you able to solve the issue, with a more compact target, like suggested?

yes but imo this is a workaround


Minitest Adapter

This gem looks awesome and solve the problem of balancing tests but on our project we only run tests with minitest. I will be possible to get a minitest adapter?

@3zcurdia Would be great to have it if you could create a pull request. It should be easy to add new adapter if you know minitest well. Here are current adapters:
https://github.com/ArturT/knapsack/tree/master/lib/knapsack/adapters
Let me know if you can help with that.

I am happy to help, but right now I found that is more complex than I imagined, let me explain what I found and maybe you could provide some feedback. I found in the adapters that the methods to call on knapsack are encapsulated inside of after/before config blocks for RSpec or similar on Cucumber, unfortunately on minitest doesn't have a this config blocks, on minitest you could do that overriding a methods called setup and teardown so the other option that I found was to make a minitest plugin which it looks more easy to integrate but the introduction of a plugin it might change the current abstraction of the adapter

You can use before() and after() and use ::Kernel.at_exit to execute something after all test suite, similar as here
https://github.com/ArturT/knapsack/blob/master/lib/knapsack/adapters/cucumber_adapter.rb#L15
Here is article I found:
http://stackoverflow.com/a/5883960/905697
Knapsack adapter doesn't require before test suite block.
Let me know if you need more tips. Thanks for help!

@3zcurdia Let me know if you can work on this. If not I will try to do something during the weekend.

So far I tried but the before block or setup method is still my main blocker, maybe you could find a better solution, I will keep digging and see what I could find, also I noticed that the adapters could be separated gems to avoid install unnecessary dependencies

I will look on that today and let you know.
Regarding adapters as separate gems, might be a good idea but for now I think it would be inconvenient for user. Right now knapsack doesn't require rspec or cucumber as dependency.

I checked source of minitest and found this https://github.com/seattlerb/minitest/blob/master/lib/minitest/test.rb#L129-160
I created pull request https://github.com/ArturT/knapsack/pull/16 with code I did so far and added TODO list there.
I will try to do more maybe during next week or weekend.
For now I stuck with getting test file path for current running test. If you want to play with code I did maybe you will figure out this. Pry debugger might be useful.
BTW What version of minitest you are using?  Are you doing this with rake test or in a different way? Are you using test_helper.rb file?

I figured out how to get test file path but will have to improve it a bit. I will keep up to date list of done things in pull request https://github.com/ArturT/knapsack/pull/16
BTW Do you have test files with the same test class name in one test suite? For now it bothers me because I'm getting test file path by search file having the same name as test class.

Here my answers:

Yes I run rake test but for parallel test on circle I used ruby -I.:test -e "ARGV.each{|f| require f }" ${files[@]}
Yes I use test_helper.rb is very convenient to config different gems like capybara
Particular I use rspec syntax so class names does not matter and I could split tests without repeating class names, I never had to use the unit test syntax.

@3zcurdia Thanks for answers. I didn't test rspec syntax yet but you can do it.
You can find here info how to add minitest:
https://github.com/ArturT/knapsack/tree/minitest-adapter
Please check if command $ KNAPSACK_GENERATE_REPORT=true bundle exec rake test works for you. I will have to find open source project with minitest rspec syntax to test knapsack.

I ran the tests and well it didnt make it trought got an nil on test_path on line https://github.com/ArturT/knapsack/blob/minitest-adapter/lib/knapsack/adapters/minitest_adapter.rb#L63 here is the trace
NoMethodError: NoMethodError: undefined method `gsub' for nil:NilClass
~/.rvm/gems/ruby-2.2.2/bundler/gems/knapsack-5aa3fedf8130/lib/knapsack/adapters/minitest_adapter.rb:63:in `test_path'
~/.rvm/gems/ruby-2.2.2/bundler/gems/knapsack-5aa3fedf8130/lib/knapsack/adapters/minitest_adapter.rb:20:in `before_setup'
~/.rvm/gems/ruby-2.2.2/gems/activesupport-4.2.0/lib/active_support/testing/tagged_logging.rb:16:in `before_setup'
~/.rvm/gems/ruby-2.2.2/gems/activesupport-4.2.0/lib/active_support/testing/setup_and_teardown.rb:40:in `before_setup'
~/.rvm/gems/ruby-2.2.2/gems/activerecord-4.2.0/lib/active_record/fixtures.rb:825:in `before_setup'
~/.rvm/gems/ruby-2.2.2/bundler/gems/knapsack-5aa3fedf8130/lib/knapsack/adapters/minitest_adapter.rb:63:in `test_path'
~/.rvm/gems/ruby-2.2.2/bundler/gems/knapsack-5aa3fedf8130/lib/knapsack/adapters/minitest_adapter.rb:20:in `before_setup'
~/.rvm/gems/ruby-2.2.2/gems/activesupport-4.2.0/lib/active_support/testing/tagged_logging.rb:16:in `before_setup'
~/.rvm/gems/ruby-2.2.2/gems/activesupport-4.2.0/lib/active_support/testing/setup_and_teardown.rb:40:in `before_setup'
~/.rvm/gems/ruby-2.2.2/gems/activerecord-4.2.0/lib/active_record/fixtures.rb:825:in `before_setup'

@3zcurdia I changed the way how I get test file path. Could you check now if you can generate report for your test suite?

@3zcurdia Good news, I've finished work on minitest adapter and it works on my test project https://github.com/KnapsackPro/rails-app-with-knapsack but would be great to have feedback from you.
I updated readme on branch https://github.com/ArturT/knapsack/tree/minitest-adapter with info how to set up minitest.
You can check code changes in pull request https://github.com/ArturT/knapsack/pull/16
Please let me know if it works for you then I will release new knapsack gem version.

@3zcurdia I released knapsack v1.2.0 with minitest support. I'm closing this issue but please let me know if it works for you or if you find any bug please create a new issue. :) Hope this release will help you with your work. :)

I tested and it worked on circle-ci really nice! thanks!

@3zcurdia So cool! BTW Check it out http://knapsack.launchrock.com I'm working on it and will let you know about beta release.


Parrot Bepop Drone SDK 3.0 Unix Sample

Can anyone please share the sample code to control the bepop and video streaming through Unix. The step to connect to another WIFI when the Bepop WIFI is enabled?

Hi vignesh02,
Now, there is an example which shows you how to connect to a Bebop drone and catch video streaming.
You can merge it with the JumpingSumoPiloting example to get streaming and piloting.
Be sure to read this closed issue if you have any problem with streaming while sending piloting commands
Regards,
Djavan


[$1000] Reply in thread count is not update while send message faster

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to any chat
send message
reply in thread
send some messages on thread fast
get back to main chat
observe the reply count

Expected Result:
Reply count should be accurate
Actual Result:
take some time to update reply count
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[] MacOS / Chrome / Safari
[x] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: Needs reproduction
**Reproducible in production?:**Needs reproduction
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/259ad808-6473-4709-8eb6-0bd63d058e7e
Expensify/Expensify Issue URL:
Issue reported by: @niravkakadiya25
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1684501662147189
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01e0fdd621bd8a21ae
Upwork Job ID:<PHONE_NUMBER>594076672
Last Price Increase: 2023-06-13

Proposal
Please re-state the problem that we are trying to solve in this issue.
Reply in thread count is not update while send message faster
What is the root cause of that problem?
We are solely relying on backend update here, we don't have optimistic data to handle this
What changes do you think we should make in order to solve the problem?
In addActions
https://github.com/Expensify/App/blob/5e99de8a713c13b75bd66ca1fb54495d377d2f83/src/libs/actions/Report.js#L187
We should check if this report parent action item to determine if it is a report thread by checking allReport[reportID].parentReportActionID.
Then we should retrieve parent report action by
    const report = allReports[reportID];
    const parentReportActionItem = allReportActions[report.parentReportID][report.parentReportActionID];

Then we can increase childVisibleActionCount to +1.
Check if childOldestFourEmails contains currentUserEmail if yes, replace it to the last part of this list. If not add it to the last of this list.
Increase childCommenterCount by one, but we cannot determine if current user is alredy included or not, we can see childOldestFourEmails but it is limited to the last 4 emails

What alternative solutions did you explore? (Optional)

Proposal
Please re-state the problem that we are trying to solve in this issue.
Thread item in parent report is not update while send message faster in thread
What is the root cause of that problem?
When add a message in thread, we dont't update the optimisticData of parent report action in addActions function. So that thread item is not update immediately. It waits for api return data before updating.
What changes do you think we should make in order to solve the problem?
When add a comment in thread, we should update the optimisticData of parent report action in addActions function with fields that are childCommenterCount, childLastVisibleActionCreated, childOldestFourEmails, childVisibleActionCount. In addActions we should get the report with reportID from allReports. use isThread fucntion to check the report is a thread or not. If it is a thread we should update optimisticData of parent report action as follows:

Get parentReportAction from allReportActions by getting parentReportID and parentReportActionID from current report
Increase childVisibleActionCount by 1
If the thread doesn't have any message parentReportAction.childCommenterCount is undefined, we should update childCommenterCount  to 1 to display thread item else we update it to parentReportAction.childCommenterCount because we cannot be sure that current user has been sent message yet.
childLastVisibleActionCreated should be updated to currentTime
https://github.com/Expensify/App/blob/7a42755a79737314edf702ce17bf0647dd8c41fb/src/libs/actions/Report.js#L211
We should split parentReportAction.childOldestFourEmails into an array. And then, we check if currentUserEmail is not in array, we should push it to the last of array and also remove the first email if the length of array is equal 4. Otherwise we replace currentUserEmail to the last of array.
Push optimisticParentReportActionData to optimisticData

We should update optimisticData of parent report action because it needs to update thread item immediately and also in offline mode.
What alternative solutions did you explore? (Optional)

@chiragsalian @stitesExpensify assigning you guys as CME on this issue as discussed here, since you guys are the one I see on the threads tracking issue and this is a threads bug. Thanks y'all!

@0xmiroslav do you have opinions on the above proposals?

unassigning myself since stites has got this 🙂

@0xmiroslav bump for your thoughts on the existing proposals.

@0xmiroslav do you agree that @dukenv0307 proposal to update the optimisticdata will fix the issue?

Okay, so while the proposals are pretty similar, @dukenv0307's proposal specifically mentions that we need to update the optimistic data, whereas @alitoshmatov solution is working around not having optimistic data.
@dukenv0307 I'm going to assign you, and you can get started on a PR!

@stitesExpensify I meant updating parent report action optimistically, when I said

We should update this parent action item with following updated fields:

And I think it was clear, since there was not any other obvious way of updating parent report action except supplying optimistic data

@dukenv0307 I am not arguing that I should have been selected for the job.

Looks like we should be able to get the PR wrapped up tomorrow.

No, I'm having a conversation with @dukenv0307 and @0xmiroslav today on the PR though

Looks like the PR is close. Just waiting on a final review from @stitesExpensify

How's the PR going? Are we close?

Yep, we're chugging along!

@niravkakadiya25 can you please apply to this job?
@dukenv0307 @0xmiroslav sent you contracts.
@0xmiroslav friendly reminder on the checklist.

@puneetlath  can you please sent contract to me as well?
Here is my upwork link:
https://www.upwork.com/freelancers/~01b750750a0d76226c

@puneetlath accepted

@dukenv0307 and @niravkakadiya25 have been paid. @0xmiroslav just waiting on the checklist for you.

@0xmiroslav can we pay this one out now? Can you link me the Upwork account that we should be paying?

All paid!

@puneetlath not received offer in upwork.


Feature request : inverter DC voltage in V of each channel

Hi
good job and thanks for sharing
Is it possible to add the sensor.inverter_[UID]DC_voltagech[1-4] - the DC voltage in V of each channel (model depentent) of the inverter ?
Thanks a lot

that would be great if beside the DC voltage the dc_current could be read

You can find the APSystems ECU Protocol - Command Group 11 in the Appendix section on https://github.com/npeter/ioBroker.apsystems-ecu

Hi,
yes, it will be a great feature to see inverter DC voltage in V and DC  current in A on each channel.
Thanks in advance for helping with this feature request.
cu
k-plan

@lesissou I'm pretty sure that DC voltage and current are not part of the data obtained from this query method. If you can point me specifically to the part where DC voltage can be drawn from the data please let me know, I may have missed it. What I do know is that DC voltage and current per panel is sent to the EMA website, but that does not include the signal strength (as far as I have been able to find out), but that's a whole different story. I can't really add this feature with this integration. I you agree we can close this feature request.

It is right, you can see this values on the APSystem Power Control Software : https:///index.php/configuration
I thinked this values should be include in the data, but if you say NO that fine.
Thanks you a lot to try it
Thanks you for your job, since the last version I haven't any issue for the history value
Regards

I totally agree that these DC values on panels would provide additional info and should be included but unfortunately the received data after querying the ECU with the specific method from within this integration does not contain the Direct Current data. It only contains the Alternating Currents. I know that the ECU's have the data but there has not been further more efforts to reverse engineer and look for a query to retreive these values as well.


Update nan dependency - add support for iojs/node v0.12

This adds support for iojs and node v0.12

Thanks.


Show info on why a server is either admin_down or offline and by whom. (#1542)

Request for traffic ops feature to show info on why a server is either admin_down or offline. (#1542)
Comcast ticket: https://tkts.sys.comcast.net/browse/CDNOPS-920
Add st_chg_reason column, varchar(256), to the db
It can be viewed on the server index page via hover over Status
The user:reason can be seen on both the server index and edit pages
The database entry can also be edited on the server view/edit page
Hover is only active on ADMIN_DOWN and OFFLINE states
It is also only viewable/editable on the edit page in ADMIN_DOWN or OFFLINE states
A reason is now required to set a server as ADMIN_DOWN or OFFLINE

quick observation: i get the 'reason prompt' when I hit the 'offline server' button....but i don't get the 'reason prompt' when i edit a server and change the status in the dropdown to offline/admin down. should I?

Only with the button. The only time you see it in edit is if it is already offline or admin_down.
Ohhh I see what you mean. Didn’t realize you could change the status there.
From: Jeremy Mitchell
Reply-To: Comcast/traffic_control
Date: Thursday, September 8, 2016 at 4:36 PM
To: Comcast/traffic_control
Cc: Joe Polcari, Author
Subject: Re: [Comcast/traffic_control] Show info on why a server is either admin_down or offline and by whom. (#1542) (#1821)
quick observation: i get the 'reason prompt' when I hit the 'offline server' button....but i don't get the 'reason prompt' when i edit a server and change the status in the dropdown to offline/admin down. should I?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/Comcast/traffic_control/pull/1821#issuecomment-245732061, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADi_iZnRDp2KsRDoK7QgtwCV3DhMRNhsks5qoHHHgaJpZM4J4Y52.

Now that I’m looking at it, I’m not sure you should be able to edit the status field to set a server offline or admin_down and I’m not sure both should be a choice.
If you use that to set a server offline, it bypasses the offline_confirm function – maybe that’s ok? I don’t know.
From: Jeremy Mitchell
Reply-To: Comcast/traffic_control
Date: Thursday, September 8, 2016 at 4:36 PM
To: Comcast/traffic_control
Cc: Joe Polcari, Author
Subject: Re: [Comcast/traffic_control] Show info on why a server is either admin_down or offline and by whom. (#1542) (#1821)
quick observation: i get the 'reason prompt' when I hit the 'offline server' button....but i don't get the 'reason prompt' when i edit a server and change the status in the dropdown to offline/admin down. should I?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/Comcast/traffic_control/pull/1821#issuecomment-245732061, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADi_iZnRDp2KsRDoK7QgtwCV3DhMRNhsks5qoHHHgaJpZM4J4Y52.

here's what i'd recommend:

revert traffic_ops/app/lib/Schema/Result/Server.pm and run db/admin.pl reverse_schema again but this time only make sure the changes you see are only related to the addition of the st_chg_reason column (you might even want to consider renaming that column to offline_reason or something. conveys a little better meaning but i'll leave that up to you.) (who knows why the extra changes slipped into Schema/Result/Server.pm but if it was me I'd want a clean PR that only represents the changes I made)

maybe you can tie in the offline_confirm() function into the server edit screen (if the status is offline or admin_down). i can help you with that if you need help.

I would appreciate the help ... tomorrow if that's ok?


Cannot run with linux

I'm trying to install jupyterq. But it can't run. In jupyter notebook, the kernel dies immediately after I open a new Q notebook and tries to restart but fail.
Then I try the jupyter console with:
$ jupyter console --kernel=qpk

There is no response. So I suspend the process with ctrl + C.
It shows the error message as below:
Traceback (most recent call last):
  File "/home/lshang/.local/bin/jupyter-console", line 11, in <module>
    sys.exit(main())
  File "/home/lshang/.local/lib/python3.5/site-packages/jupyter_core/application.py", line 266, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/home/lshang/.local/lib/python3.5/site-packages/traitlets/config/application.py", line 657, in launch_instance
    app.initialize(argv)
  File "<decorator-gen-116>", line 2, in initialize
  File "/home/lshang/.local/lib/python3.5/site-packages/traitlets/config/application.py", line 87, in catch_config_error
    return method(app, *args, **kwargs)
  File "/home/lshang/.local/lib/python3.5/site-packages/jupyter_console/app.py", line 141, in initialize
    self.init_shell()
  File "/home/lshang/.local/lib/python3.5/site-packages/jupyter_console/app.py", line 114, in init_shell
    client=self.kernel_client,
  File "/home/lshang/.local/lib/python3.5/site-packages/traitlets/config/configurable.py", line 412, in instance
    inst = cls(*args, **kwargs)
  File "/home/lshang/.local/lib/python3.5/site-packages/jupyter_console/ptshell.py", line 272, in __init__
    self.init_kernel_info()
  File "/home/lshang/.local/lib/python3.5/site-packages/jupyter_console/ptshell.py", line 323, in init_kernel_info
    reply = self.client.get_shell_msg(timeout=1)
  File "/home/lshang/.local/lib/python3.5/site-packages/jupyter_client/client.py", line 77, in get_shell_msg
    return self.shell_channel.get_msg(*args, **kwargs)
  File "/home/lshang/.local/lib/python3.5/site-packages/jupyter_client/blocking/channels.py", line 50, in get_msg
    ready = self.socket.poll(timeout)
  File "/home/lshang/.local/lib/python3.5/site-packages/zmq/sugar/socket.py", line 695, in poll
    evts = dict(p.poll(timeout))
  File "/home/lshang/.local/lib/python3.5/site-packages/zmq/sugar/poll.py", line 99, in poll
    return zmq_poll(self.sockets, timeout=timeout)
  File "zmq/backend/cython/_poll.pyx", line 143, in zmq.backend.cython._poll.zmq_poll
  File "zmq/backend/cython/_poll.pyx", line 123, in zmq.backend.cython._poll.zmq_poll
  File "zmq/backend/cython/checkrc.pxd", line 12, in zmq.backend.cython.checkrc._check_rc
  File "/home/lshang/.local/lib/python3.5/site-packages/jupyter_console/app.py", line 123, in handle_sigint
    if self.shell._executing:
AttributeError: 'ZMQTerminalIPythonApp' object has no attribute 'shell'

It seems like an issue with jupyter. But it works pretty well with Python or R kernel. So I believe it is more likely to be an issue here.

Hello,
Could you confirm the kdb+ version you are using (.z.k and .z.K) and then can you run the jupyter console with the debug flag
 $ jupyter console --kernel=qpk --debug

And post any output, also please check you have the latest version of embedPy https://github.com/KxSystems/embedPy/releases/latest and jupyterq https://github.com/KxSystems/jupyterq/releases/latest
Thanks

I'm using the 64-bit on-demand version of KDB.
q).z.k
2018.02.26
q).z.K
3.5

I checked the debug mode. The error messages are included below:
[ZMQTerminalIPythonApp] Searching ['/usr/local/bin', '/home/lshang/.jupyter', '/usr/etc/jupyter', '/usr/local/etc/jupyter', '/etc/jupyter'] for config files
[ZMQTerminalIPythonApp] Looking for jupyter_config in /etc/jupyter
[ZMQTerminalIPythonApp] Looking for jupyter_config in /usr/local/etc/jupyter
[ZMQTerminalIPythonApp] Looking for jupyter_config in /usr/etc/jupyter
[ZMQTerminalIPythonApp] Looking for jupyter_config in /home/lshang/.jupyter
[ZMQTerminalIPythonApp] Looking for jupyter_config in /usr/local/bin
[ZMQTerminalIPythonApp] Looking for jupyter_console_config in /etc/jupyter
[ZMQTerminalIPythonApp] Looking for jupyter_console_config in /usr/local/etc/jupyter
[ZMQTerminalIPythonApp] Looking for jupyter_console_config in /usr/etc/jupyter
[ZMQTerminalIPythonApp] Looking for jupyter_console_config in /home/lshang/.jupyter
[ZMQTerminalIPythonApp] Looking for jupyter_console_config in /usr/local/bin
[ZMQTerminalIPythonApp] Connection File not found: /run/user/1001/jupyter/kernel-17122.json
[ZMQTerminalIPythonApp] Starting kernel: ['q', 'jupyterq_kernel.q', '-cds', '/run/user/1001/jupyter/kernel-17122.json']
[ZMQTerminalIPythonApp] Connecting to: tcp://<IP_ADDRESS>:39923
[ZMQTerminalIPythonApp] connecting shell channel to tcp://<IP_ADDRESS>:58732
[ZMQTerminalIPythonApp] Connecting to: tcp://<IP_ADDRESS>:58732
[ZMQTerminalIPythonApp] connecting iopub channel to tcp://<IP_ADDRESS>:35776
[ZMQTerminalIPythonApp] Connecting to: tcp://<IP_ADDRESS>:35776
[ZMQTerminalIPythonApp] connecting stdin channel to tcp://<IP_ADDRESS>:34991
[ZMQTerminalIPythonApp] Connecting to: tcp://<IP_ADDRESS>:34991
[ZMQTerminalIPythonApp] connecting heartbeat channel to tcp://<IP_ADDRESS>:40576
Traceback (most recent call last):
  File "/home/lshang/.local/lib/python3.5/site-packages/jupyter_console/ptshell.py", line 323, in init_kernel_info
    reply = self.client.get_shell_msg(timeout=1)
  File "/home/lshang/.local/lib/python3.5/site-packages/jupyter_client/client.py", line 77, in get_shell_msg
    return self.shell_channel.get_msg(*args, **kwargs)
  File "/home/lshang/.local/lib/python3.5/site-packages/jupyter_client/blocking/channels.py", line 57, in get_msg
    raise Empty
queue.Empty

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/lshang/.local/bin/jupyter-console", line 11, in <module>
    sys.exit(main())
  File "/home/lshang/.local/lib/python3.5/site-packages/jupyter_core/application.py", line 266, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/home/lshang/.local/lib/python3.5/site-packages/traitlets/config/application.py", line 657, in launch_instance
    app.initialize(argv)
  File "<decorator-gen-116>", line 2, in initialize
  File "/home/lshang/.local/lib/python3.5/site-packages/traitlets/config/application.py", line 87, in catch_config_error
    return method(app, *args, **kwargs)
  File "/home/lshang/.local/lib/python3.5/site-packages/jupyter_console/app.py", line 141, in initialize
    self.init_shell()
  File "/home/lshang/.local/lib/python3.5/site-packages/jupyter_console/app.py", line 114, in init_shell
    client=self.kernel_client,
  File "/home/lshang/.local/lib/python3.5/site-packages/traitlets/config/configurable.py", line 412, in instance
    inst = cls(*args, **kwargs)
  File "/home/lshang/.local/lib/python3.5/site-packages/jupyter_console/ptshell.py", line 272, in __init__
    self.init_kernel_info()
  File "/home/lshang/.local/lib/python3.5/site-packages/jupyter_console/ptshell.py", line 326, in init_kernel_info
    raise RuntimeError("Kernel didn't respond to kernel_info_request")
RuntimeError: Kernel didn't respond to kernel_info_request

It appears your kernel is not starting at all, haven't been able to replicate the issue but the latest release has some additional startup logging which should help find where the failure is, could you download it from here
https://github.com/KxSystems/embedPy/releases/tag/1.1.2
And then run
JUPYTERQ_DEBUG=1 jupyter-console --kernel=qpk
The start of the expected output is

jupyterq_kernel: loading embedPy
jupyterq_kernel: loading pyzmq
jupyterq_kernel: zeromq socket setup
jupyterq_kernel: check imports
jupyterq_kernel: start server
jupyterq_kernel: completed loading
`header`pheader`metadata`content!(`version`date`session`username`msg_type`msg..
`header`pheader`metadata`content!(`version`date`session`username`msg_type`msg..
`header`pheader`metadata`content!(`version`date`session`username`msg_type`msg..
`header`pheader`metadata`content!(`version`date`session`username`msg_type`msg..
`header`pheader`metadata`content!(`version`date`session`username`msg_type`msg..
`header`pheader`metadata`content!(`version`date`session`username`msg_type`msg..
`header`pheader`metadata`content!(`version`date`session`username`msg_type`msg..
Unrecognized message type history_request on channel sh

Could you post your output?
Apologies for the trouble
Thanks

I used system python 3.5 before. After switch to anaconda python 3.6.4, the kernel works.
After start the jupyter console, there is a warning message as below. Is it normal?
Unrecognized message type history_request on channel sh
/home/lshang/anaconda3/lib/python3.6/site-packages/jupyter_console/ptshell.py:95: UserWarning: No lexer found for language 'q'. Treating as plain text.
  warn("No lexer found for language %r. Treating as plain text." % name)

Thanks!
During my setup procedure, I once got an error message from jupyterq which complaining that it can't find "q" in my PATH even though I set alias for q as the typical way. Therefore, I created an executable script in one of my PATH directory which execute q. Then I overcome that error.
Is it an necessary step to setup jupyterq? If the answer is yes, I suggest that you add it to the README file so that other users may save some time.


added dominican university ibadan

Url of the schools website: https://dui.edu.ng/
Url of one of the courses offered: https://dui.edu.ng/department-of-physical-mathematical-sciences/#1586000257705-8592a6d1-c304

@trevidia Pull request merged. Thank you!

Thanks sir


Dollar suffix for certain table names

Do you want to request a feature or report a bug?
Neither, I have a general question
Why is it that certain tables have a dollar sign suffix relative to their corresponding subgraph entity? For example, here's a postgres table made for a subgraph which has an entity called data_sources but the table name is called data_sources$

Why does graph node add this suffix?

All subgraphs have a data_sources$ table which tracks dynamic data sources created by the subgraph. The $ is added to prevent it from conflicting with the table from an entity called DataSource, if there is one.

Got it! I've also seen a table called block$ - is there a way to know ahead of time which entities will have a table with the $ suffix?

Immutable entities have a block$ column, but I'm not aware of a block$ table.

The $ is only used in table/column names that are generated for internal bookkeeping purposes, never for entities/attributes that come from the subgraph schema.

Ah got it, thanks for the explanation @lutter!


Interfaces to make it possible to use different MQTT clients

The current concrete implementation of MqttClientConnection makes it so that there isn't a way to use a different MQTT client. A customer requested an example Greengrass Lambda function that uses this SDK to handle jobs on Greengrass - https://github.com/aws-samples/aws-greengrass-lambda-functions/issues/792 - and if there was an interface I could use to replace the implementation with a Greengrass compatible one I could create the example.
I'll work on a PR for this.

Hmmm, looks like this might belong in AWS CRT.

Moved to AWS CRT repo - https://github.com/awslabs/aws-crt-java/issues/124


Cherrypick 2023-06-25

A handful of commits from space-station-14, with one early merge: #17504
Tidied all current station maps. Any mapped-in weapons that were unusable before should work again.

Just out of curiosity, do you think you could look into picking the replays aswell? I looked into it but it'd require a few other commits to be pulled aswell due to engine changes or something


Passing environment and simulator seed to the C++ bindings

🚀 Feature

Passing the habitat RLEnv and python Simulator seed to the C++ bindings so that functions like self._env.sim.sample_navigable_point() generate the same point after setting the sim seed using self._env.sim.seed(seed)
Motivation
This will make many things reproducible, including generating datasets. It should help in benchmarking.

@devendrachaplot, thank you for creating this issue. We have the related issue on habitat-sim side. Your request is rising the priority.


Get Started with SAP Cloud SDK for JavaScript

Tutorial URL: https://developers.sap.com/tutorials/s4sdkjs-getting-started.html
Please specify the step you are referring to step4:
isn't it better to use option --save in the npm install command: npm install @sap/cloud-sdk-core --save
Regards Britta

Hi Britta,
Thank you for your feedback! Since version 5.0.0, --save is the default option when calling npm install, i.e. the respective dependency will be added to your project's package.json automatically.
Best regards
Dennis

oh, I did not know this, as i am a newbee to nodejs and somone told me to not forget the save option.
So i will close the issue.


Fix import wrong authentication exception

Motivation
In PR #697 , used javax.naming.AuthenticationException, but should be org.apache.kafka.common.errors.AuthenticationException, otherwise will cause uncovered exception when throw IllegalSaslStateException.
Modifications
Alter javax.naming.AuthenticationException to org.apache.kafka.common.errors.AuthenticationException.

@Demogorgon314 I saw javax.naming.AuthenticationException appearing in the following classes at the same time: OauthValidatorCallbackHandler, PlainSaslServer, OauthLoginCallbackHandler, should we unify Authentication exception types.

@Demogorgon314 We should reuse llegalStateException which defined in SaslAuthenticator, PTAL :)

@Demogorgon314 I saw javax.naming.AuthenticationException appearing in the following classes at the same time: OauthValidatorCallbackHandler, PlainSaslServer, OauthLoginCallbackHandler, should we unify Authentication exception types.

Agree. We should unify Authentication exception types.


refactor(semantic): reduce allocation in resolve_references_for_current_scope

Current dependencies on/for this PR:

main

PR #2414   👈

This stack of pull requests is managed by Graphite.

Well done!

Merge activity

Feb 16, 7:47 AM EST: @Boshen started a stack merge that includes this pull request via Graphite.


Typo "indovidual" on Relay Spec (Edges and Nodes) page

the pink circles represent indovidual resources

I assume this should be "individual"

Correct. Thanks for reporting and thanks for the PR to fix!


HTC Vive Cosmos - not recognized

i don't see rules for htc-cosmos
logs after connecting headset:
kernel: usb 4-5.1: new SuperSpeed Gen 1 USB device number 20 using xhci_hcd
kernel: usb 4-5.1: New USB device found, idVendor=0bb4, idProduct=0323, bcdDevice=68.01
kernel: usb 4-5.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
kernel: usb 4-5.1: Product: USB3.0 Hub
kernel: usb 4-5.1: Manufacturer: VIA Labs, Inc.
kernel: hub 4-5.1:1.0: USB hub found
kernel: hub 4-5.1:1.0: 1 port detected

kernel: usb 3-9.1: new high-speed USB device number 23 using xhci_hcd
kernel: usb 3-9.1: New USB device found, idVendor=0bb4, idProduct=0323, bcdDevice=68.00
kernel: usb 3-9.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
kernel: usb 3-9.1: Product: USB2.0 Hub
kernel: usb 3-9.1: Manufacturer: VIA Labs, Inc.
kernel: hub 3-9.1:1.0: USB hub found
kernel: hub 3-9.1:1.0: 4 ports detected

kernel: usb 4-5.1.1: new SuperSpeed Gen 1 USB device number 21 using xhci_hcd
kernel: usb 4-5.1.1: New USB device found, idVendor=0bb4, idProduct=0315, bcdDevice=60.00
kernel: usb 4-5.1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
kernel: usb 4-5.1.1: Product: USB3.0 Hub
kernel: usb 4-5.1.1: Manufacturer: VIA Labs, Inc.
kernel: hub 4-5.1.1:1.0: USB hub found
kernel: hub 4-5.1.1:1.0: 4 ports detected

kernel: usb 3-9.1.1: new high-speed USB device number 24 using xhci_hcd
kernel: usb 3-9.1.1: New USB device found, idVendor=0bb4, idProduct=0315, bcdDevice=60.00
kernel: usb 3-9.1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
kernel: usb 3-9.1.1: Product: USB2.0 Hub
kernel: usb 3-9.1.1: Manufacturer: VIA Labs, Inc.
kernel: hub 3-9.1.1:1.0: USB hub found
kernel: hub 3-9.1.1:1.0: 4 ports detected

kernel: usb 3-<IP_ADDRESS>: new full-speed USB device number 25 using xhci_hcd
kernel: usb 3-<IP_ADDRESS>: config 1 interface 2 altsetting 2 has 0 endpoint descriptors, different from the interface descriptor's value: 1
kernel: usb 3-<IP_ADDRESS>: New USB device found, idVendor=0bb4, idProduct=0314, bcdDevice= 1.23
kernel: usb 3-<IP_ADDRESS>: New USB device strings: Mfr=1, Product=2, SerialNumber=0
kernel: usb 3-<IP_ADDRESS>: Product: VIVE Cosmos Multimedia Audio
kernel: usb 3-<IP_ADDRESS>: Manufacturer: HTC
kernel: input: HTC VIVE Cosmos Multimedia Audio as /devices/pci0000:00/0000:00:14.0/usb3/3-9/3-9.1/3-9.1.1/3-<IP_ADDRESS>/3-<IP_ADDRESS>:1.3/0003:0BB4:0314.0013/input/input44
kernel: hid-generic 0003:0BB4:0314.0013: input,hidraw3: USB HID v1.11 Device [HTC VIVE Cosmos Multimedia Audio] on usb-0000:00:14.0-<IP_ADDRESS>/input3
mtp-probe[8640]: checking bus 3, device 25: "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-9/3-9.1/3-9.1.1/3-<IP_ADDRESS>"
mtp-probe[8640]: bus: 3, device: 25 was not an MTP device

kernel: usb 4-<IP_ADDRESS>: new SuperSpeed Gen 1 USB device number 22 using xhci_hcd
kernel: usb 4-<IP_ADDRESS>: New USB device found, idVendor=0bb4, idProduct=0313, bcdDevice= 3.18
kernel: usb 4-<IP_ADDRESS>: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kernel: usb 4-<IP_ADDRESS>: Product: VIVE COSMOS
kernel: usb 4-<IP_ADDRESS>: Manufacturer: HTC Corporation
kernel: usb 4-<IP_ADDRESS>: SerialNumber: c710b209
kernel: hid-generic 0003:0BB4:0313.0014: hiddev2,hidraw4: USB HID v1.01 Device [HTC Corporation VIVE COSMOS] on usb-0000:00:14.0-<IP_ADDRESS>/input0
kernel: hid-generic 0003:0BB4:0313.0015: hiddev3,hidraw5: USB HID v1.01 Device [HTC Corporation VIVE COSMOS] on usb-0000:00:14.0-<IP_ADDRESS>/input1

Thank you. Cosmos is an HTC product, the decision to support Linux will be up to them.
We can add udev rules so the hardware is recognized, but without drivers you should not expect it to work in SteamVR on Linux.


Feat/lesq 729/legacy search [LESQ-729]

Description
Music year: 1953

remove call to 2020 search api
update legacy filter to exclude EYFS only
remove all 2020 search api code
update all tests to use 2023 fixture and refactor some functionality to be shared

How to test
Once the search API changes have been deployed to production:

Go to https://deploy-preview-2357--oak-web-application.netlify.thenational.academy
Search for eg 'volcanoes'
You should see legacy results, once each (no duplicates)
in the requests tab you should only see requests to one search API
you should still see results for non-legacy content
if you search for eg 'veggies' you should get no results (EYFS content)

Screenshots:
the results are coming back in a different order for legacy content, which suggests they're being weighted differently. Not sure we care at this point as it brings them in line with new content? Compare with prod vs this branch
Eg using legacy api:

vs using new api:

@jack-skerrett-oak the qa testing is only on staging so won't be on prod, shall I ignore it anyway to be safe?
And yes agreed the computing subjects in particular are out of control

@jack-skerrett-oak that 'qa test' subject is only published on staging, right?

units

@njblore Ah OK, I didn't pick up on that. I guess it's fine for now though it does highlight we might need to be clearer on search results eventually

:tada: This PR is included in version 1.409.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Move data to OSF

The enchroachement indicator uses a lot of temp files that could be moved to OSF. Really this pertains to all the chapters, but this could be a place to start. This is not urgent.

Agree with you. Ideally the data could be stored somewhere like OSF


Feature Request: Add Download as PDF button on shared Resume page

It would be awesome if the same functionality to export as PDF was available as a button on the shared Resume page.
GIVEN I want to add download links to my online resume.
WHEN I turn on new "Add download links to resume" slider under the "Share Resume" section
AND I open the shared Resume link
THEN a buttons should appear on the top right of the resume page "Download as PDF (Single Page)"
AND a button should appear on the top right of the resume page "Download as a PDF (Multi-page)"
GIVEN someone views my online resume and wants to download it as a PDF
WHEN someone clicks on the "Download as PDF (Single PAGE)"
OR someone clicks on the "Download as PDF (Milti-page)"
THEN the same function should be called as is used for Export as PDF in the control panel.

Thank you for the issue.
This has been implemented in v3, please stay tuned for updates on the repo :)


v1.6.0 release preparation - update build folder - [merged]

In GitLab by @jberlin on Nov 29, 2022, 16:49
Merges as_gui_production_preparations -> master
update build folder and vars.js

In GitLab by @jberlin on Nov 29, 2022, 16:49
mentioned in commit 2270e6a5fc94a170fc4903bdb0bf6ae2f867e690

In GitLab by @jberlin on Nov 29, 2022, 16:49
approved this merge request


Add maps

Could you attach a screenshot - curious to see what this looks like?

Heres a photo! Not sure why there are gray bars though


docker --restart=always

How do I configure the docker run with the parameter?
--restart=always
restart_service => true - states that by default the value is true, but this does not seem to work if the container crashed in last execution due to errors such as Out of memory.

Their are two ways of doing this, depending on whether you want to use the init scripts or not.
You can pass extra_parameters as described here: https://github.com/garethr/garethr-docker/blob/master/manifests/run.pp#L16
extra_parameters => ['--restart=always']

Or you can pass a value to restart directly as mentioned here: https://github.com/garethr/garethr-docker/blob/master/manifests/run.pp#L7
The interface isn't super clear here, and will likely change in a major version in the future.

great thanks... :+1:


Small Countries Are Always in debt

Now sorry if I'm spamming but The New World Order Economy is wonky your always losing money no matter what you do its easier to go into the positives as a Great Power like the Soviet Union or The USA but if you play as a small country like Bulgaria or Vietnam it is impossible to make money you always end up going bankrupt or need loans to survive could you try to fix this so it is easier to play as smaller countries

Simsulla if you see this could you please fix Nwos Economy so you can play as smaller nations

will look into it.

Merged with the issue of monetary problems to prevent cluttering