First "good" results

Using the new supervised learning step I created, I've been able to train a model to the point that seems to be learning the the openings of chess. Also it seems it starts to avoid losing naively pieces.
Here you can see an example of a game played for me against this model (AI plays black):

This model plays in this way after only 5 epoch iterations of the 'opt' worker, the 'eval' worker changed 4 times the best model (4 of 5). At this moment the loss of the 'opt' worker is 5.1 (and still seems to be converging very well).
As I have not GPU, I had to evaluate ('eval') using only "self.simulation_num_per_move = 10" and only 10 files of play data for the 'opt' worker. I'm pretty sure if anybody is able to run in a good GPU with a more powerful configuration the results after complete convergence would be really good.

Hi Zeta36!
I, too, wondered whether the techniques that created AlphaGo Zero could be applied to chess.  To be honest I was sceptical, but decided to do an experiment anyway.  Fortunately, before I started putting together my own implementation, I stumbled across yours.
My attempts to train from scratch a couple of days ago (no supervised learning) did not go very well, so I downloaded lots of games from KingBase (http://www.kingbase-chess.net/), extracted 15000 random games where the result was not a draw and one or both players had ELO >= 2400, and ran "sl" on them.  After that I started "self", "opt", and "eval" and let the whole thing run for 24 hours.  Eval changed the best model almost every iteration (7 times in all), although many "next generation" models were not evaluated because "opt" runs so much faster than "eval" on my machine (due to gpu).
In any case I checked the "opt" log this afternoon.  Results at the time were:
loss: 1.2003 - policy_out_loss: 0.4032 - value_out_loss: 0.1931
That seemed promising, so even though I'm not a great chess player I played a game vs. the best model to see how it fared.
Results (in pgn format) are attached.
caz.20171205.01.pgn.txt
I would have created an animated gif, like you did, but had no idea what tool to use for that.
As you can see, the opening game was passable - some sort of English Opening variant I think.  But at move 15 the Chess Alpha Zero model made what seemed like a questionable move to me (I probably would have done Nxe4).  From that point on the game makes very little sense, with CAZ giving away pieces left and right.
Still, very interesting.

Hello, @bame55 .
I think we'll have to modify the planes of the input model following this great work: https://arxiv.org/pdf/1712.01815.pdf
Two planes seems to be not enough information. Also, I'm afraid MCTS is too slow because of Python. Not enough speed is able to be reached even with a good GPU.

I think you're right, two planes is probably not enough.  If you think about the nature of Go vs. the nature of Chess this makes intuitive sense.
As for MCTS: I don't think python is really the limiting factor since keras+tf carry most of the load, but if it is a contributing factor there's no reason portions of the python code couldn't be rewritten in C++ (or some other compiled language) and packaged up for use within python, right?
The biggest bottleneck I'm facing right now is game play speed in both evaluate.py and self_play.py.  I believe this is partly because python's "chess" package does not perform well.  It certainly wasn't designed for this sort of use.

Related to workload distribution, is it possible for training results to be shared so that others can replicate the results?

Yes, @prusswan.
You will have a copy of the best model also in your local machine all the time. You just copy your best model configuration and weights with somebody and he will be able to run it and play against it.
Regards.

@bame55 this is the animated gif of your game. Could you please share with us the weights of the model you trained to loss near 1. Thank you!!

Sure.  Where should I put the file?  I tried ftping it to alpha-chess-zero.mygamesonline.org but can't write files there (ftp error is "500 Unable to service PORT commands").

@bame55, push them into this project. In the folder "data/model/". Do a pull request and I'll accept it. And tell us please the model configuration that you used: cnn_filter_num, cnn_filter_size, etc.
Thank you :).

I won't be able to do the push until tonight (roughly 12 hours from now), but will as soon as I can.

It looks like the model might be overfitting to the opening before it has a chance to learn basic chess principles like piece values. GM games might not be the best place to start training as they don't show the network what happens when you give away pieces.

Yes, @Akababa. I think you are right. Maybe it'd be better start training with low ELO games and start increasing in time the ELO of the games.

Yes, sort of like AlphaZero :) That way we can also see where it plateaus and iterate faster.
BTW can you comment on why you closed my PR? I can clean it up if necessary

I closed it because I restored in master an old version of the project. I tried to introduce more planes of feed input into the model but it seems I did something wrong. Your code was commits beyond the restored version.

Are you referring to the "data format" issue I raised? I've already fixed all the stuff I mentioned (and a few other bugs) so after a bit more testing I hope I can merge.
https://github.com/Akababa/chess-alpha-zero/blob/dimreduce/src/chess_zero/env/chess_env.py
It's diverged significantly by now though

It looks promising, @Akababa. Anyway before pulling remember to check your development with a SL training step as we did here. Your model has to converge to a loss near 1 and play at least as well as the @bame55 one. I have a friend, @benediamond that is also trying to feed with the planes DeepMind comments in its paper. He should also do the same test with his implementation before trying self-play or anything else.

By the way, about looking for games of low ELO, we can download in this web: http://ficsgames.org/download.html, PGN files with all kind of ELO games.

Noted thanks! I hope we can share test cases too.
The training loss is questionable (in my opinion) because it can just overfit the common openings, and we don't know if the model is complex enough to fit the subtle positional ideas in those openings anyway. We need a common validation test set of beginner level (~1000 elo) to compare results.

Today I've uploaded the best model data I've been able to train in supervised learning way. I trained it using the --type mini configuration I pushed also today. This model was trained for 15 generations (with 8 changes in the best model) using a 5 PGN of human games with different ELO strength (not just high ELO ratings). I downloaded the PGN files from here: http://ficsgames.org/download.html (selecting "Chess (all time controls, all ratings)").
The quality of the games are like this (AI plays black):

The NN works a great game until it fails and lose the queen. The position of blacks are really good the first dozens of movements. I wonder if this simple and naive (just two planes feed input model) is able to improve even more.
Right now the model continue converging slowly and now loss it's over 5. In the next days I'll upload new results. After that I'll start training in self-play way.


syntax error, unexpected tLABEL

Hi, I'm installing gemstash on a fresh ubuntu 14.04 vagrant box as per the README.md, and getting a syntax error. I'm not particularly familiar with ruby, so would be grateful for any pointers.
Thanks,
Joe
vagrant@gemstash-01:~$ sudo apt-get install ruby ruby-dev libsqlite3-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
ruby is already the newest version.
ruby-dev is already the newest version.
Suggested packages:
  sqlite3-doc
The following NEW packages will be installed:
  libsqlite3-dev
0 upgraded, 1 newly installed, 0 to remove and 10 not upgraded.
Need to get 439 kB of archives.
After this operation, 1,491 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://uk.archive.ubuntu.com/ubuntu/ trusty-updates/main libsqlite3-dev amd64 3.8.2-1ubuntu2.1 [439 kB]
Fetched 439 kB in 0s (2,137 kB/s)
Selecting previously unselected package libsqlite3-dev:amd64.
(Reading database ... 73881 files and directories currently installed.)
Preparing to unpack .../libsqlite3-dev_3.8.2-1ubuntu2.1_amd64.deb ...
Unpacking libsqlite3-dev:amd64 (3.8.2-1ubuntu2.1) ...
Setting up libsqlite3-dev:amd64 (3.8.2-1ubuntu2.1) ...
vagrant@gemstash-01:~$ sudo gem install gemstash
Fetching: dalli-2.7.6.gem (100%)
Fetching: lru_redux-1.1.0.gem (100%)
Fetching: puma-2.16.0.gem (100%)
Building native extensions.  This could take a while...
Fetching: sequel-4.38.0.gem (100%)
Fetching: rack-1.6.4.gem (100%)
Fetching: tilt-2.0.5.gem (100%)
Fetching: rack-protection-1.5.3.gem (100%)
Fetching: sinatra-1.4.7.gem (100%)
Fetching: thor-0.19.1.gem (100%)
Fetching: multipart-post-2.0.0.gem (100%)
Fetching: faraday-0.9.2.gem (100%)
Fetching: faraday_middleware-0.10.0.gem (100%)
Fetching: sqlite3-1.3.11.gem (100%)
Building native extensions.  This could take a while...
Fetching: gemstash-1.0.2.gem (100%)
Successfully installed dalli-2.7.6
Successfully installed lru_redux-1.1.0
Successfully installed puma-2.16.0
Successfully installed sequel-4.38.0
Successfully installed rack-1.6.4
Successfully installed tilt-2.0.5
Successfully installed rack-protection-1.5.3
Successfully installed sinatra-1.4.7
Successfully installed thor-0.19.1
Successfully installed multipart-post-2.0.0
Successfully installed faraday-0.9.2
Successfully installed faraday_middleware-0.10.0
Successfully installed sqlite3-1.3.11
Successfully installed gemstash-1.0.2
14 gems installed
Installing ri documentation for dalli-2.7.6...
Installing ri documentation for lru_redux-1.1.0...
Installing ri documentation for puma-2.16.0...
Installing ri documentation for sequel-4.38.0...
Installing ri documentation for rack-1.6.4...
Installing ri documentation for tilt-2.0.5...
Installing ri documentation for rack-protection-1.5.3...
Installing ri documentation for sinatra-1.4.7...
Installing ri documentation for thor-0.19.1...
Installing ri documentation for multipart-post-2.0.0...
Installing ri documentation for faraday-0.9.2...
Installing ri documentation for faraday_middleware-0.10.0...
Installing ri documentation for sqlite3-1.3.11...
Installing ri documentation for gemstash-1.0.2...
Installing RDoc documentation for dalli-2.7.6...
Installing RDoc documentation for lru_redux-1.1.0...
Installing RDoc documentation for puma-2.16.0...
Installing RDoc documentation for sequel-4.38.0...
Installing RDoc documentation for rack-1.6.4...
Installing RDoc documentation for tilt-2.0.5...
Installing RDoc documentation for rack-protection-1.5.3...
Installing RDoc documentation for sinatra-1.4.7...
Installing RDoc documentation for thor-0.19.1...
Installing RDoc documentation for multipart-post-2.0.0...
Installing RDoc documentation for faraday-0.9.2...
Installing RDoc documentation for faraday_middleware-0.10.0...
Installing RDoc documentation for sqlite3-1.3.11...
Installing RDoc documentation for gemstash-1.0.2...
vagrant@gemstash-01:~$ gemstash start
/var/lib/gems/1.9.1/gems/gemstash-1.0.2/lib/gemstash/cli/base.rb:7:in `<class:Base>': /var/lib/gems/1.9.1/gems/gemstash-1.0.2/lib/gemstash/env.rb:37: syntax error, unexpected tLABEL (SyntaxError)
    def initialize(config = nil, cache: nil, db: nil)
                                       ^
/var/lib/gems/1.9.1/gems/gemstash-1.0.2/lib/gemstash/env.rb:37: Can't assign to nil
    def initialize(config = nil, cache: nil, db: nil)
                                            ^
/var/lib/gems/1.9.1/gems/gemstash-1.0.2/lib/gemstash/env.rb:150: syntax error, unexpected keyword_end, expecting $end
       	from /var/lib/gems/1.9.1/gems/gemstash-1.0.2/lib/gemstash/cli/base.rb:6:in `<class:CLI>'
       	from /var/lib/gems/1.9.1/gems/gemstash-1.0.2/lib/gemstash/cli/base.rb:4:in `<module:Gemstash>'
       	from /var/lib/gems/1.9.1/gems/gemstash-1.0.2/lib/gemstash/cli/base.rb:3:in `<top (required)>'
       	from /var/lib/gems/1.9.1/gems/gemstash-1.0.2/lib/gemstash/cli/start.rb:8:in `<class:CLI>'
       	from /var/lib/gems/1.9.1/gems/gemstash-1.0.2/lib/gemstash/cli/start.rb:5:in `<module:Gemstash>'
       	from /var/lib/gems/1.9.1/gems/gemstash-1.0.2/lib/gemstash/cli/start.rb:4:in `<top (required)>'
       	from /var/lib/gems/1.9.1/gems/gemstash-1.0.2/lib/gemstash/cli.rb:54:in `start'
       	from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
       	from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
       	from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
       	from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
       	from /var/lib/gems/1.9.1/gems/gemstash-1.0.2/exe/gemstash:3:in `<top (required)>'
       	from /usr/local/bin/gemstash:23:in `load'
       	from /usr/local/bin/gemstash:23:in `<main>'

It looks like your ruby version is too old. Check rbenv r similar to bump
at least to ruby 2.something.
I think that the minimum supported ruby was 1.9.3 and yours looks like
1.9.1.
Hence its incompatible.
On Sep 9, 2016 10:16 AM, "Joe Bowman"<EMAIL_ADDRESS>wrote:

Hi, I'm installing gemstash on a fresh ubuntu 14.04 vagrant box as per the
README.md, and getting a syntax error. I'm not particularly familiar with
ruby, so would be grateful for any pointers.
Thanks,
Joe
vagrant@gemstash-01:~$ sudo apt-get install ruby ruby-dev libsqlite3-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
ruby is already the newest version.
ruby-dev is already the newest version.
Suggested packages:
sqlite3-doc
The following NEW packages will be installed:
libsqlite3-dev
0 upgraded, 1 newly installed, 0 to remove and 10 not upgraded.
Need to get 439 kB of archives.
After this operation, 1,491 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://uk.archive.ubuntu.com/ubuntu/ trusty-updates/main libsqlite3-dev amd64 3.8.2-1ubuntu2.1 [439 kB]
Fetched 439 kB in 0s (2,137 kB/s)
Selecting previously unselected package libsqlite3-dev:amd64.
(Reading database ... 73881 files and directories currently installed.)
Preparing to unpack .../libsqlite3-dev_3.8.2-1ubuntu2.1_amd64.deb ...
Unpacking libsqlite3-dev:amd64 (3.8.2-1ubuntu2.1) ...
Setting up libsqlite3-dev:amd64 (3.8.2-1ubuntu2.1) ...
vagrant@gemstash-01:~$ sudo gem install gemstash
Fetching: dalli-2.7.6.gem (100%)
Fetching: lru_redux-1.1.0.gem (100%)
Fetching: puma-2.16.0.gem (100%)
Building native extensions.  This could take a while...
Fetching: sequel-4.38.0.gem (100%)
Fetching: rack-1.6.4.gem (100%)
Fetching: tilt-2.0.5.gem (100%)
Fetching: rack-protection-1.5.3.gem (100%)
Fetching: sinatra-1.4.7.gem (100%)
Fetching: thor-0.19.1.gem (100%)
Fetching: multipart-post-2.0.0.gem (100%)
Fetching: faraday-0.9.2.gem (100%)
Fetching: faraday_middleware-0.10.0.gem (100%)
Fetching: sqlite3-1.3.11.gem (100%)
Building native extensions.  This could take a while...
Fetching: gemstash-1.0.2.gem (100%)
Successfully installed dalli-2.7.6
Successfully installed lru_redux-1.1.0
Successfully installed puma-2.16.0
Successfully installed sequel-4.38.0
Successfully installed rack-1.6.4
Successfully installed tilt-2.0.5
Successfully installed rack-protection-1.5.3
Successfully installed sinatra-1.4.7
Successfully installed thor-0.19.1
Successfully installed multipart-post-2.0.0
Successfully installed faraday-0.9.2
Successfully installed faraday_middleware-0.10.0
Successfully installed sqlite3-1.3.11
Successfully installed gemstash-1.0.2
14 gems installed
Installing ri documentation for dalli-2.7.6...
Installing ri documentation for lru_redux-1.1.0...
Installing ri documentation for puma-2.16.0...
Installing ri documentation for sequel-4.38.0...
Installing ri documentation for rack-1.6.4...
Installing ri documentation for tilt-2.0.5...
Installing ri documentation for rack-protection-1.5.3...
Installing ri documentation for sinatra-1.4.7...
Installing ri documentation for thor-0.19.1...
Installing ri documentation for multipart-post-2.0.0...
Installing ri documentation for faraday-0.9.2...
Installing ri documentation for faraday_middleware-0.10.0...
Installing ri documentation for sqlite3-1.3.11...
Installing ri documentation for gemstash-1.0.2...
Installing RDoc documentation for dalli-2.7.6...
Installing RDoc documentation for lru_redux-1.1.0...
Installing RDoc documentation for puma-2.16.0...
Installing RDoc documentation for sequel-4.38.0...
Installing RDoc documentation for rack-1.6.4...
Installing RDoc documentation for tilt-2.0.5...
Installing RDoc documentation for rack-protection-1.5.3...
Installing RDoc documentation for sinatra-1.4.7...
Installing RDoc documentation for thor-0.19.1...
Installing RDoc documentation for multipart-post-2.0.0...
Installing RDoc documentation for faraday-0.9.2...
Installing RDoc documentation for faraday_middleware-0.10.0...
Installing RDoc documentation for sqlite3-1.3.11...
Installing RDoc documentation for gemstash-1.0.2...
vagrant@gemstash-01:~$ gemstash start
/var/lib/gems/1.9.1/gems/gemstash-1.0.2/lib/gemstash/cli/base.rb:7:in <class:Base>': /var/lib/gems/1.9.1/gems/gemstash-1.0.2/lib/gemstash/env.rb:37: syntax error, unexpected tLABEL (SyntaxError)     def initialize(config = nil, cache: nil, db: nil)                                        ^ /var/lib/gems/1.9.1/gems/gemstash-1.0.2/lib/gemstash/env.rb:37: Can't assign to nil     def initialize(config = nil, cache: nil, db: nil)                                             ^ /var/lib/gems/1.9.1/gems/gemstash-1.0.2/lib/gemstash/env.rb:150: syntax error, unexpected keyword_end, expecting $end         from /var/lib/gems/1.9.1/gems/gemstash-1.0.2/lib/gemstash/cli/base.rb:6:in class:CLI'
from /var/lib/gems/1.9.1/gems/gemstash-1.0.2/lib/gemstash/cli/base.rb:4:in <module:Gemstash>'         from /var/lib/gems/1.9.1/gems/gemstash-1.0.2/lib/gemstash/cli/base.rb:3:in <top (required)>'
from /var/lib/gems/1.9.1/gems/gemstash-1.0.2/lib/gemstash/cli/start.rb:8:in <class:CLI>'         from /var/lib/gems/1.9.1/gems/gemstash-1.0.2/lib/gemstash/cli/start.rb:5:in module:Gemstash'
from /var/lib/gems/1.9.1/gems/gemstash-1.0.2/lib/gemstash/cli/start.rb:4:in <top (required)>'         from /var/lib/gems/1.9.1/gems/gemstash-1.0.2/lib/gemstash/cli.rb:54:in start'
from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/command.rb:27:in run'         from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/invocation.rb:126:in invoke_command'
from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor.rb:359:in dispatch'         from /var/lib/gems/1.9.1/gems/thor-0.19.1/lib/thor/base.rb:440:in start'
from /var/lib/gems/1.9.1/gems/gemstash-1.0.2/exe/gemstash:3:in <top (required)>'         from /usr/local/bin/gemstash:23:in load'
from /usr/local/bin/gemstash:23:in `'
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/bundler/gemstash/issues/105, or mute the thread
https://github.com/notifications/unsubscribe-auth/AESb0uXDqIks4mz8EelXHQuzaY5FlfENks5qoRXbgaJpZM4J4zmA
.

I'm closing this as there is no action forward. Please update your Ruby.


batch query not returning values with period(30m) but does with period(1h)

I have this query on a .tick script:
batch
    |query('''
      SELECT max(failed)
      FROM "influxdb"."default"."test_tasks"
      WHERE "type"='backup' AND "paused"='0' AND "environment"='test'
    ''')
        .groupBy('deployment_name', 'plugin', 'target')
        .period(30m)
        .every(30m)
    |last('max')
        .as('max')
    |alert()
        .warn(lambda: "max" != 0)
        .log('/var/log/test.log')

While using kapacitor watch my_task I get outputs like this:
ks=2018-09-24T19:59:18.480Z lvl=debug msg="starting next batch query" service=kapacitor task_master=main task=my_task node=alert4 query="SELECT max(failed) FROM influxdb.\"default\".test_tasks WHERE type = 'backup' AND paused = '0' AND environment = 'test' AND time >= '2018-09-24T19:29:18.47999607Z' AND time < '2018-09-24T19:59:18.47999607Z' GROUP BY deployment_name, plugin, target"

But no alert has been triggered, if I run the query via http to influxdb I do indeed get results, this is my query:
curl -G 'http://0:9086/query?db=influxdb' --data-urlencode "q=select max(failed) as failed from \"test_tasks\" WHERE \"type\"='backup' AND \"paused\"='0' AND \"environment\" = 'test' AND time >= '2018-09-24T19:29:18.47999607Z' AND time < '2018-09-24T19:59:18.47999607Z' group by deployment_name, plugin,target" -u "foo:bar" -s  | jq  '.results[].series[]' -c

returns:
 {"values":[["2018-09-24T19:30:31Z",1]],"columns":["time","failed"],"tags{"target":"test","plugin":"mysql","deployment_name":"test"},"name":"test_tasks"}

The period that kapacitor is using is time >= '2018-09-24T19:29:18.47999607Z' AND time < '2018-09-24T19:59:18.47999607Z' but for some reason is not returning or getting the value at 2018-09-24T19:30:31Z
If I set period(1h) it works, but problem is that I start to get duplicated alerts.
Any ideas of what could it be wrong?
I am using Kapacitor OSS 1.5.0 (git: master 0e529079ad8384f69e6559622a0d8f9e061097da)

If there is no data inserted in the period for which you are checking, influxdb does not return anything.
Check https://github.com/influxdata/influxdb/issues/6967 if you are facing similar issue.


RFC-0423: Command Line Interface

Signed-off-by: Xuanwo<EMAIL_ADDRESS>I hereby agree to the terms of the CLA available at: https://databend.rs/dev/policies/cla/
Summary
This PR will propose a new RFC about adding a command-line interface for opendal.
Rendered

Rendered

Rendered

Fixed!


PENV-343: remove sleep in tests

- What I did
- How I did it
- How to verify it
- Description for the changelog

Codecov Report

Merging #126 into master will decrease coverage by 0.00%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #126      +/-   ##
==========================================
- Coverage   74.14%   74.13%   -0.01%
==========================================
  Files          48       48
  Lines        3264     3263       -1
==========================================
- Hits         2420     2419       -1
  Misses        702      702
  Partials      142      142

Impacted Files
Coverage Δ

test/integration/helper.go
71.42% <ø> (-0.51%)
:arrow_down:

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 0f6a9db...dc15032. Read the comment docs.


Allow ignoring a page when finding an available slug

This is useful for when using this function to update a pages slug

Thanks!


POST to /encrypt always comes back with KeyNotInstalledException

Hi,
I'm using the Spring Cloud Config (Dalston.SR2) to use a git repo to get the application properties. All works fine till i try and use the /encrypt endpoint. With Dalston.SR2, the call to /encrypt ALWAYS comes back with a
{
  "description": "No key was installed for encryption service",
  "status": "NO_KEY"
}

I've made sure that the environment variable ENCRYPT_KEY is set properly.
If I change the version to Camden.SR5. The same configuration works fine and I can use both the /encrypt & /decrypt endpoints. I'm not sure if there's anything else that I need to do apart from

Copy the JCE 8 files to \jre\lib\security
Set the environment variable ENCRYPT_KEY
Hit the /encrypt endpoint with a POST request

Here's a copy of my pom xml.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.photolove</groupId>
	<artifactId>pl-config-server</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>pl-config-server</name>
	<description>Application Config Server</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.6.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
		<spring-cloud.version>Dalston.SR2</spring-cloud.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-config-server</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-config</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>${spring-cloud.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

</project>

Any help is greatly appreciated. :-)
Cheers
Kunal

Yes this is a known issue in Dalston.SR2.  You can either try Dalston.SR1 or Dalston.BUILD-SNAPSHOT.  We will be releasing Dalston.SR3 shortly with the fix in it.

@ryanjbaxter  Thanks for the tip :-)

@ryanjbaxter Was this fixed in Dalston.SR3, as I'm still receiving this error with that version?
Dalston.BUILD-SNAPSHOT is using Spring Cloud Config 1.3.3.BUILD-SNAPSHOT. There hasn't been a new release of Spring Cloud Config since Dalston.SR2.

@Fydon unfortunately we did not release spring cloud config for Dalston.SR3, it was a mistake on our part.  The fix will be included in Dalston.SR4, sorry about that.

we are not using dalston but milestone release below. I am using windows and ran in to the same issue. Is this an issue with 2.0.0.M3Finchley.M1 too.
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring.boot.version>2.0.0.M3</spring.boot.version>
<spring.cloud.version>Finchley.M1</spring.cloud.version>
<spring.cloud.stream.version>Elmhurst.BUILD-SNAPSHOT</spring.cloud.stream.version>

just wanted to add that this is still an issue with Dalston.SR4. I've downgraded to Camden.SR7 for now. This also fixed another problem of mine. While using a keystore and {cipher}'d passwords, config server was returning the hash as the password, simply removing the {cipher} prefix.

@Dr4K4n This issue was fixed in Spring Cloud Config 1.3.3.BUILD-SNAPSHOT, which is now Spring Cloud Config v1.3.3.RELEASE, which is a part of Spring Cloud Dalston.SR4. Please try Dalston.SR4 again and see if you experience this issue.

I've setup i little example project to illustrate the problem, simply build the application with maven und test with test.sh. On my machine it works with Dalston.SR4, but not with Camden.SR7.
https://github.com/Dr4K4n/configserver-767

I did some more testing with different Versions of Spring Cloud Config
Working: 1.2.3 (Camden.SR7), 1.3.0, 1.3.1 (Dalston.SR1)
Not Working: 1.3.2 (Dalston.SR2, Dalston.SR3), 1.3.3 (Dalston.SR4)

I've further investigated, for underlying problem seems to be that the KeyProperties in EncryptionAutoConfiguration$DefaultTextEncryptorConfiguration are not read from my application.properties in the affected versions. Hope this info helps pinpointing the source of the problem, my knowledge ends here...

Needs to be in bootstrap.properties

@spencergibb  thinks.

if you write in the application yaml/properties, get this error. So, a simple solution is just creating bootstrap yaml/properties file.

Hi everyone I have the same problem using java 11 and spring-cloud.version 2020.0.0-M5 is there any alternative version that works

Try 20.0.0 for now.

Try 20.0.0 for now.


How to use rife?

Hi, can you show me how to use rife in the Readme in detail? I don't know how to use it .

Here's how I use it: animatediff rife interpolate [your video frame sequence directory]   -c h264
tips: Modify the contents of [ ] to specify the directory for your frame sequence, and without [ ],just directory.
and you can specify the output_dir,but I didn't use it.

Or you could also use Flowframe! https://nmkd.itch.io/flowframes

Here's how I use it: animatediff rife interpolate [your video frame sequence directory] -c h264 tips: Modify the contents of [ ] to specify the directory for your frame sequence, and without [ ],just directory. and you can specify the output_dir,but I didn't use it.

Bit late of a reply, but pretty much. I use this:
animatediff rife interpolate -z -x -F 50 -M 3 /path/to/output/dir


OCPBUGS-24658: remove regex from console page route path so plugin pages are found

Manual cherry pick of #84

/jira refresh

/jira refresh

/jira refresh

/jira refresh


Add instructions for Webpack and node project setup

Description of the change
TODO
Checklist:

[x] Added the change to the "Unreleased" section of the changelog
[x] Added some example of the new feature to the README
[ ] Added a test for the contribution (if applicable)

P.S.: the above checks are not compulsory to get a change merged, so you may skip them. However, taking care of them will result in less work for the maintainers and will be much appreciated 😊

I believe each of these is now addresses, along with a few typos I caught.


MudTextField keyboard not show

Things to check

[X] I have searched the existing issues for this bug
[X] To rule out a caching problem I made sure the bug also happens in an incognito tab

Bug type
Component
Component name
MudTextField
What happened?
Keyboard not show entering on the textbox "Cliente" inside the AppBar with Chrome mobile.
Expected behavior
Keyboard open on mobile device
Reproduction link
https://try.mudblazor.com/snippet/ckcSFEajnVkcucnK
Reproduction steps

Click inside ""Cliente" textbox on the top AppBar
Keyboard not open

Relevant log output
Nothing on Chrome mobile console.

Version (bug)
7.8.0
Version (working)
6.7.0
What browsers are you seeing the problem on?
Chrome
On which operating systems are you experiencing the issue?
Android
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Works for me on a Pixel 9 with both Chrome and Firefox:

Error found : on 8.0.10 recently upgraded  from 8.0.8  InputMode="InputMode.none" block the keyboard to showing.


timetagger setup error on WSL

Hi,
I recently installed your awesome Time Tagger App on my Synology NAS via Docker, following your post on Reddit.
It's working great via the web UI, but I spend most of my time on the terminal, so I installed the awesome timetagger_cli companion app.
However, when I run timetagger setup on Ubuntu on WSL, I get the following error:
Config file: /home/santiago/.config/timetagger_cli/config.txt
Will now (try to) open the config file. Just edit and safe the file.
Traceback (most recent call last):
  File "/home/santiago/.local/bin/timetagger", line 8, in <module>
    sys.exit(main())
  File "/home/santiago/.local/lib/python3.8/site-packages/timetagger_cli/__main__.py", line 78, in main
    func(*argv[1:])
  File "/home/santiago/.local/lib/python3.8/site-packages/timetagger_cli/core.py", line 82, in setup
    open_with_os_default(filename)
  File "/home/santiago/.local/lib/python3.8/site-packages/timetagger_cli/utils.py", line 32, in open_with_os_default
    subprocess.call(("xdg-open", path))
  File "/usr/lib/python3.8/subprocess.py", line 340, in call
    with Popen(*popenargs, **kwargs) as p:
  File "/usr/lib/python3.8/subprocess.py", line 858, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.8/subprocess.py", line 1704, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'xdg-open'

I would probably do something like:
try:
    subprocess.call(("xdg-open", path))
except FileNotFoundError:
    subprocess.call(("vi", path))

On https://github.com/almarklein/timetagger_cli/blob/b4295799288224ebca0c6e9e056f801261e90adb/timetagger_cli/utils.py#L32 as a quickfix.

Hi! Thanks for reporting this. Interesting that xdg-open fails on WSL. The proposed fix looks reasonable to me. Would you be interested in making a PR for it?

Would you be interested in making a PR for it?

I most certainly would .
Hang on.


Support ssh agent

Thanks for building such a useful tool.
One thing that was missing was the ability to use SSH agent authorization instead of private keys.
This is my attempt to add that functionality.  Basically, if there is no key on an instance it will try to use the SSH_AUTH_SOCK variable to communicate with an agent.  If there is a key on an instance, it will use that key as before.  And, finally, if the --agent flag is passed, the agent will be used without looking for a key.
Please let me know what you think.

@justone Thanks for the work. We were actually about to add ssh-agent support as it is really useful.
I started the review. Couple of issues that will need to be addressed. See inline comments

I updated the resolveAuthMethod function, and reworked the error handling on the key decryption part to handle non-encrypted-key errors and any errors from DecryptSSHKey.

Thanks for the update of the resolveAuthMethod. There is just one fix pending and it should be good to merge after a final review. Thanks.

I took care of the second fix (the suggestion to return nil) by flipping the conditional at the top of that block.  Now, the method only continues if a password is required.  Any other errors are just returned:
if !strings.Contains(err.Error(), "cannot decode encrypted private keys") {
    return nil, err
}

Other errors are handled the same way, so at the end the signer is valid and can be returned.

@justone Yes resolveAuthMethod was fine. I was not clear though.
I was talking about this https://github.com/wallix/awless/pull/106/files#diff-3ca3b34b111bd186138d20eb2bc8d8adR220
The effect is testing locally with one of my instance: awless ssh broker_1 --agent this works;  awless ssh broker_1 this does not work.
I might merge you PR in a feature branch where we can commit both of us maybe and I could do this fix.

Ah, ok.  That conditional is there so that the code doesn't try to find a key that has no name.
Can you share the line for the broker_1 instance from awless show instances? I'm wondering if there is an ssh key there too that is getting in the way when the --agent flag is missing.
Perhaps it would be better to rework the code so that multiple authmethods are created and tried in turn.  So if there was a key specified and the ssh-agent is available it will try the key first and then fall back to the ssh-agent.  And if there is only a key specified, then that's all that is tried.
I believe you should be able to push to my branch, I have the "Allow edits from maintainers" option checked.  Let me know if that works.

Yes. As said in my previous comment, and as you gathered, there is a ssh key getting in the way. More precisely, what is getting in the way is just the key name of the AWS keypair (ssh key) associated with the instance.
Also as you point out a good implementation would be a chain of fallback on the AuthMethod. Trying with the given key (or not) and then on last resort contact the ssh-agent.
I'll let you see if you want to do the implementation, then I can join later on to do/finish or review it on this branch as you have allow edit from maintainers.
Anyway thanks for tackling this issue!
Here if you want to see the awless show broker_1:

PROPERTY
VALUE

Architecture
x86_64

Hypervisor
xen

ID
i-0dc3954d1b9e13bde

Image
ami-36230256

KeyPair
simonus

Name
broker_1

....

Uptime
6 days

Vpc
vpc-da4297be

Zone
us-west-1a

Relations:
us-west-1[region]
↳ @awless-demo-vpc[vpc]
↳ @awless-demo-subnet[subnet]
↳ @broker_1[instance]
Depending on: simonus[keypair], @KafkaSecurityGroup[securitygroup], @SSHSecurityGroup[securitygroup], vol-0174a0a96895470d5[volume]
Siblings: @broker_2[instance], @broker_3[instance], @zookeeper[instance]

Cool, thanks for the confirmation.  I'll take a swing at the fallback strategy tomorrow.

@simcap I attempted an implementation of multiple authmethods.  Please let me know what you think.
Thanks.

@simcap any thoughts?

Thanks. It works for the usual cases:

awless ssh broker_1 (no ssh agent running, but key present)
awless ssh broker_1 (key only loaded in running agent)
awless ssh --print-cli
awless ssh --print-config
awless ssh machine_i_have_no_keys_aws_for
awless ssh machine_with_no_aws_keys

I have some remarks though:

we need to provide some logging info context to the user now that we use multiple methods of ssh auth . For example, basically print which methods was successfully used and/or which fail withouth being to verbose.
also the way it is implemented it is no easy to know programmatically where we are at and it the current ongoing auth (or the auth just done) was through the ssh-agent. (Just as an example, it could be used to remove the last line IdentityFile when using the --print-config)

Anyway we can merge this PR (unless you feel you want to implement the remarks above, but I can do it later on the master)

Cool. I understand both points. I'll work on it tomorrow morning.

Sorry to take so long, but I got a chance to work on the code and got things working.  Please take a look at let me know what you think.
Here is some sample output.  I have my ssh agent running, but the key matches.
$ ls TestAwless*
TestAwless  TestAwless.pub

$ awless list instances
|        ID ▲         |    ZONE    |       NAME       |  STATE  |   TYPE    |   PUBLIC IP   |  PRIVATE IP   |  UPTIME   |  KEYPAIR   |
|---------------------|------------|------------------|---------|-----------|---------------|---------------|-----------|------------|
| i-044831c02f3f3bf84 | us-west-2c | Tester           | running | t2.micro  | <IP_ADDRESS> | <IP_ADDRESS>  | 49 mins   | TestAwless |

$ awless ssh Tester --print-config
[info]    trying with username(s) [ec2-user, ubuntu, centos, bitnami, admin, root] and auth method(s) [keypair TestAwless, ssh agent]

Host Tester
        Hostname <IP_ADDRESS>
        User ec2-user
        IdentityFile TestAwless

$ awless ssh Tester --print-cli
[info]    trying with username(s) [ec2-user, ubuntu, centos, bitnami, admin, root] and auth method(s) [keypair TestAwless, ssh agent]
/usr/bin/ssh<EMAIL_ADDRESS>-i TestAwless

$ awless ssh Tester
[info]    trying with username(s) [ec2-user, ubuntu, centos, bitnami, admin, root] and auth method(s) [keypair TestAwless, ssh agent]
[info]    Login as 'ec2-user' on '<IP_ADDRESS>', using keypair TestAwless for auth with ssh client '/usr/bin/ssh'

Last login: Sat Jun 24 00:37:52 2017 from ec2-52-32-167-187.us-west-2.compute.amazonaws.com

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2017.03-release-notes/
4 package(s) needed for security, out of 6 available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-172-31-13-55 ~]$

Thanks. A few things to iron out in term of getting more compact logging messages and fix display errors in verbose logging.
But I will merge that and fix it later on.
Cheers

Cool, thank you!


WIP: Added tox testing to verify compatibility with different Python versions

I added tox testing to verify that chunkdot is compatible with different Python versions. For an example of the workflow, see here.
It seems that chunkdot can currently not be installed on Python 3.11 because of a dependency issue.
Let me know what you think!

Looks like a good addition. Let's check about the dependency issue first.

The change with the llvmlite versions did not solve the issue, it seems; https://github.com/fpgmaas/chunkdot/pull/1/commits/c5dd3d8fbd1f7b8e0d2e1b0062ff3363c6888d89
Will need to investigate a bit more.

@rragundez  It seems that numba is only supporting Python 3.11 after release 0.57, see this issue. So for now I think it's best to have chunkdot support up to 3.10, and update the dependency once numba 0.57 is released.

LGTM. Thanks a lot!


Cas 13003

Hi @bemonts I totally forgot about this branch after you fixed it for me. Provided the changes are ok, can you merge this before CASA 6.6.5 gets released? A suggestion for the release notes is already in the associated JIRA ticket.

Merging it now.. Thanks @kettenis !


serial: Add UART over Bluetooth LE

Description
This PR introduces a UART-compatible implementation of Bluetooth LE GATT, using NUS (Nordic UART Service), which allows users to utilize Bluetooth LE as serial endpoints with UART APIs and take advantage of existing support of subsystems that already support UART.
Background
This PR fixes #12714. Also, this PR is a follow-up of #68076, with the agreed changes captured on the Bluetooth WG.
Changes

Add NUS as a Bluetooth LE GATT Service.
Add Sample demonstrating API usage of NUS.
Add UART-compatible driver for Bluetooth LE, using NUS service.
Add snippet for basic usage of UART over Bluetooth LE.
Add sample support of UART over BLuetooth LE to samples/subsys/logging/logger and samples/subsys/shell/shell_module.

Testing
UART over Bluetooth LE has been tested using this python-app on the PC-side, and the MCU-side running each of the following samples:

samples/drivers/uart/echo_bot.
samples/subsys/console/echo.
samples/subsys/console/getchar.
samples/subsys/console/getline.
samples/subsys/logging/logger.
samples/subsys/shell/shell_module.

Note
The feature is marked as experimental as the surface area of what uses UART goes beyond the aforementioned samples, and it would be beneficial to further test it before removing it.

Re: BabbleSim Tests failure, this has just been fixed in the main. Please rebase to pull in the fix.

Architecture WG:

@nashif and @henrikbrixandersen state that the duplication here is not significant enough (i.e. it's just a snippet) to justify not including it
@nashif argues that having a pre-configuration in the form of a snippet could be done by users
@henrikbrixandersen fails to see how it can be considered harmful to have an extra snippet in the tree

I think this PR add a very useful feature.
I understand it’s adding a proprietary Bluetooth service to handle Uart over BLE derived from nus (Nordic UART service). Being this service proprietary and available to Zephyr users, wouldn’t be more appropriate to call it zus (Zephyr UART service) and explain in the documentation that he has been originally derived from nus?
In my limited experience with zephyr, it seems to me that company specific code is usually found in drivers/soc/boards directories.
Just an observation, feel free to ignore it if it’s not relevant.

@msmttchr,

Being this service proprietary and available to Zephyr users, wouldn’t be more appropriate to call it zus (Zephyr UART service) and explain in the documentation that he has been originally derived from nus?

I do not have a strong preference, other than keeping the UUIDs to ensure compatibility with existing NUS applications, and making this obvious/intuitive for users.
Part of me thinks that renaming it to ZUS makes that association somewhat blurier, but it can be overcome, especially if keeping the UUIDs is an option.
My soft-vote is to keep it NUS, but I'd be curious to hear what others think: do you have thoughts around this, @jori-nordic @carlescufi?
Thanks for your comment!

I am also for keeping the name 'NUS'.

FYI - Rebased after Non-related CI failures were addressed on #70215. CI Checks now passing.

I've made the following changes:

Removed unnecessary initializations for err.
BT_NUS_DEFAULT_INSTANCE is no longer overriden on Kconfig.bt, as suggested.
(I added this one even though hasn't been requested) Added ability to specify connection object through NUS TX/RX APIs. It allows users to interact with a single peer through if NUS is used standalone. There's no functional change, but rather allows more future flexibility without API changes.

@msmttchr,

Being this service proprietary and available to Zephyr users, wouldn’t be more appropriate to call it zus (Zephyr UART service) and explain in the documentation that he has been originally derived from nus?

I do not have a strong preference, other than keeping the UUIDs to ensure compatibility with existing NUS applications, and making this obvious/intuitive for users.
Part of me thinks that renaming it to ZUS makes that association somewhat blurier, but it can be overcome, especially if keeping the UUIDs is an option.
My soft-vote is to keep it NUS, but I'd be curious to hear what others think: do you have thoughts around this, @jori-nordic @carlescufi?
Thanks for your comment!

Ok, thanks for the explanation of the rationale. Clear to me.

Haven't tested it yet, will do tomorrow and then approve if it works. I don't have other comments apart from those (not NAKs).

@jori-nordic Thanks for reviewing. I'll address your comments/suggestions today.

I've made the following changes:

Update outdated comments on bt_nus_send() and bt_nus_inst_send() APIs.
Add printks on errors on peripheral_nus sample.
Moved Bluetooth auto-init code to subsys/bluetooth/services/nus.
Changed Bluetooth auto-init code to execute on SYS_INIT().
Updated release notes to match updated Kconfig symbol for CONFIG_BT_NUS_AUTO_START_BLUETOOTH.

Logging + the echo (ie console) works w/ your script and the nrf connect apps.
The shell however doesn't. I tried with both nrf apps, and the script. I compiled shell_module both ways and see no output, nothing is even echoed back.
# using the snippet
west build -b nrf52840dk/nrf52840 -S nus-console
# using the overlays
west build -b nrf52840dk/nrf52840 -- -DDTC_OVERLAY_FILE=bt.overlay -DOVERLAY_CONFIG=overlay-bt.conf

Just wanted to say I think this high quality code. :+1: The code comments are on point - it makes it easy to read. And the documentation is good as well.


Laravel 6.0

These changes are to resolve #69
!!! Should not be merged as is !!! - the laravel-notify package needs to be updated, I have made commits to my fork for this also

Sorry for the extreme delay. LERN v5.0 now supports Laravel 6


Work out better way to pull quickadd script changes (managed in separate repo)

This sample vault holds the scripts and templates from echinopscis/echinopscis-quickadd. Instead of replicating the scripts here, it would be better to have a github actions build process that pulls the quickadd scripts and implements the default configuration in quickadd by manipulating .obsidian/plugins/quickadd/data.json

As there is no benefit to having the scripts managed separately, they will now be managed in this repo. Issues have been transferred and the visibility of echinopscis-quickadd set to private.


Heavy metrics polling results in very frequent invocation of ValidCha…

…racters.toValidCharset, which, most of the time, unnecessarily allocates string copies, which creates measurable impact on garbage allocation (#2 StringBuilder abuser in the app I looked at, 100MB/min of char[] allocation).
Proposed change takes a tiny hit checking for invalid characters first before making a copy; I suspect that was the initial intention anyway.

Makes sense to me. Thanks for the contribution.


Generated Swagger Files Missing FormData Parameters

I am using version 3.1.3 of the Swagger-Maven-Plugin to generate a yaml file from my api annotations, however the FormData parameters are not being generated and an incorrect body is.
Here are the annotations:
@POST
    @Produces({ "application/json", "application/xml", "application/avro" })
    @Consumes({"multipart/form-data"})
    @io.swagger.annotations.ApiOperation(value = "Upload plugin", notes = "This can only be done by the logged in user.", response = void.class, tags={ "plugin", })
    @io.swagger.annotations.ApiResponses(value = {
        @io.swagger.annotations.ApiResponse(code = 200, message = "successful operation", response = void.class) })
    public Response createPlugin(@ApiParam(value = "Json string containing plugin information", required=true)
            @FormDataParam("json")  String pluginJson,
            @FormDataParam("jarfile") InputStream jarInputStream,
            @FormDataParam("jarfile") FormDataContentDisposition jarFileDetail,
            @FormDataParam("configfile") InputStream configInputStream,
            @FormDataParam("configfile") FormDataContentDisposition configFileDetail,@Context SecurityContext securityContext)
    throws NotFoundException {
        return delegate.createPlugin(pluginJson, jarInputStream, jarFileDetail, configInputStream, configFileDetail,securityContext);
    }

Here is the corresponding section of the generated yaml file:

paths:
  /plugin:
    post:
      tags:
      - "plugin"
      summary: "Upload plugin"
      description: "This can only be done by the logged in user."
      operationId: "createPlugin"
      consumes:
      - "multipart/form-data"
      produces:
      - "application/json"
      - "application/xml"
      - "application/avro"
      parameters:
      - in: "body"
        name: "body"
        description: "Json string containing plugin information"
        required: true
      responses:
        200:
          description: "successful operation"

It should be:
paths:
  /plugin:
    post:
      tags:
        - plugin
      summary: Upload plugin
      description: This can only be done by the logged in user.
      operationId: createPlugin
      consumes:
      - "multipart/form-data"
      produces:
        - application/json
        - application/xml
        - application/avro
      parameters:
        - in: formData
          name: json
          description: Json string containing plugin information
          required: true
          type: string
        - in: formData
          name: jarFile
          description: Jar File to upload
          required: true
          type: file
        - in: formData
          name: configFile
          description: config File to upload
          required: true
          type: file
      responses:
        200:
          description: successful operation

Same problem here.
This is an excerpt of a swagger.yaml file generated on the server:
  /admin/v1/upload:     post:       tags:       - "admin v1"       summary: "Uploads a zip file with PDM containers. Returns an object of type\         \ AdminResponse.If the errorCode is 'ok', then the upload operation finished\         \ successfuly. Otherwise, the errorMessage will contain the description of\         \ the problem."       description: ""       operationId: "upload"       consumes:       - "multipart/form-data"       produces:       - "application/json"       parameters:       - name: "userName"         in: "query"         description: "user name (Q-number)"         required: true         type: "string"       - name: "file"         in: "formData"         description: "file to upload"         required: false         type: "file"       responses:         200:           description: "successful operation"           schema:             $ref: "#/definitions/PdmAdminResponse"
And this is the same method, generated by swagger-maven-plugin:
/admin/v1/upload:     post:       tags:       - "admin v1"       summary: "Uploads a zip file with PDM containers. Returns an object of type\         \ AdminResponse.If the errorCode is 'ok', then the upload operation finished\         \ successfuly. Otherwise, the errorMessage will contain the description of\         \ the problem."       description: ""       operationId: "upload"       consumes:       - "multipart/form-data"       produces:       - "application/json"       parameters:       - name: "userName"         in: "query"         description: "user name (Q-number)"         required: true         type: "string"       - in: "body"         name: "body"         description: "file to upload"         required: false         schema:           $ref: "#/definitions/InputStream"       - in: "body"         name: "body"         description: "file detail"         required: false         schema:           $ref: "#/definitions/FormDataContentDisposition"       responses:         200:           description: "successful operation"           schema:             $ref: "#/definitions/PdmAdminResponse"

Bump for this - we got around it by using @ApiImplicitParams however.

@philipdnichols Can you elaborate on your work around? Did you use @ApiImplicitParams instead of @ApiParams or @FormDataParams?

@jencodingatwork Sure, here's how we use the @FormDataParam("file") annotation on the InputStream and FormDataContentDisposition method parameters ("file" is the name of the multipart that contains the file. We then annotate the method with @ApiImplicitParams({}) which takes an array of @ApiImplicitParam. For the @ApiImplicitParam, we pass it the values name="file", paramType="form" and dataType="file".
Let me know if you have any other questions.

+1

In case anyone else tries to use the work around with the swagger ui, you can't use the dataType="file" there is issue with it discussed here: https://github.com/kongchen/swagger-maven-plugin/issues/352#issuecomment-244225312. The work around is to use java.io.File instead.

@mireczatko unfortunately it is not smart enough to figure out the parameter name, you have to specify it explicitly in the annotation:
getFoo(@PathVariable("bar") String bar)

yeah, of course this is the way, especially in case you want use different than implicit one, which is
@PathVariable String bar => @PathVariable("bar") String bar
same way as "smarter" frameworks do :o)

+1
same with @HeaderParam, @PathParam and @QueryParam.
Weird thing though... as @philipdnichols said, you can get around it by using the @ApiImplicitParams[] annotation, BUT, the plugin suddenly starts working at this point and recognizes the JAXRS params.
For me, this is what happened...

JAXRS service impl created with swagger ApiOperation, ApiResponse and @PathParam annotations
Swagger.json generated without param names.
Added ApiImplicitParams, Swagger.json now shows param names.
a few builds later, the params are being duplicated - pathParam1 shows twice in Swagger UI.
Removed ApiImplicitParams - goes back to normal - shows pathParam1 and only once - CORRECT.
Now i added 5 new services - no params showing for these.

Going to try adding the ApiImplicitParams and see what happens

ummm .. it seems to be all kinds of weird - its showing up for a few of my services but not for others.

ok here is what i have:

plugin version 3.1.3

pkg/class structure:
a.b.c.rs.entitygrp.service:
IEntityAService (interface with all the JAXRS and Swagger annotations)
EntityAServiceImpl (concrete impl with @ Component spring annotation - implements IEntityAService )
IEntityBService (interface with all the JAXRS and Swagger annotations)
EntityBServiceImpl (concrete impl with @ Component spring annotation - implements IEntityBService )
IEntityCService (interface with all the JAXRS and Swagger annotations)
EntityCServiceImpl (concrete impl with @ Component spring annotation - implements IEntityCService )
IEntityDService (interface with all the JAXRS and Swagger annotations)
EntityDServiceImpl (concrete impl with @ Component spring annotation - implements IEntityDService )
IEntityEService (interface with all the JAXRS and Swagger annotations)
EntityEServiceImpl (concrete impl with @ Component spring annotation - implements IEntityEService )
a.b.c.rs.health.service:
IHealthCheckService (interface with all the JAXRS and Swagger annotations)
HealthCheckServiceImpl (concrete impl with @ Component spring annotation - implements IHealthCheckService )
a.b.c.rs.echo.service:
IEchoService (interface with all the JAXRS and Swagger annotations)
EchoServiceImpl (concrete impl with @ Component spring annotation - implements IEchoService )

pom has api source location as the parent package a.b.c.rs

What i changed:

Always using @ Api( tags = "/bla" ) instead of @ Api or @ Api ( value = "/bla")
if the response type is a bean, always ensuring that it is concrete and no abstract
verified that all the param references are correct (names match and types match)

what is happening:

any package that has a single JAXRS impl in it, is working as expected.
The one package with multiple JAXRS services in it (a.b.c.rs.entitygrp.service) is giving inconsistent output. Every time i run the build, the parameters are removed in a random class, and gets added for a random class. I am unable to recognize any patterns.

Going to try breaking it into sub-packages.

I take it back - after breaking it into sub-packages, even the solo service impls are misbehaving. the ones that were stable are also now losing the params in the swagger json (a.b.c.rs.echo.service).

the plugin does not like annotations at interface level. i was able to get the params to show by moving all my annos (spring + swagger + jaxrs) down from the interface to the impl.


AEC Gun Violence Frontend NOTES / ISSUES

Gun Violence (General Population)

[ ] Update the homicide category to examine prevalence among Black Men.
[ ] Due to limited data, consider removing the Non-Fatal Injuries category, but note its absence in the methodology.
[ ] Add a note about the issues with Legal Intervention data, including reporting, classification, and missing data problems.
[x] Address the error displayed on the rate map for the highest/lowest rates, where values less than 1 are shown as 0 instead of the actual value, for example, 0.5 is displayed as 0. (Can these be larger than per 100k since they mostly report as 0)
[ ] Add subheader to explain that data disaggregated by race starting in 2018.
[ ] Does this line graph only include the 7 states from the first map?
Third figure
[ ] Can these be larger than per 100k since they mostly report as 0?
Suicides
[ ] Thank you for including the hotline at the top. Again, if there is a way to examine race and gender that would be great to see.
[x] Add Accidental category?
[ ] Gun Deaths (Youth)
[ ] Can two dropdowns be added to differentiate youth and young adults?
Umbrella category could be relabeled: “Gun Deaths (Youth and Young Adults)”, then second level categories:
“Youth (0-<18)”
“Young Adults (18-25)”
[ ] Typo in header “Historical relative inequity of gun deaths…”
[ ] Is there Georgia or Atlanta-specific data that can be embedded in these two new categories under Social Determinants of Health?
[ ] remove legal intervention topic
[ ] use legal intervention estimated_total on homicide and suicide

see #3049


Convert tests to jest format and re-enable

My quick attempt failed as jest complains about lines in the codebase of the form:
import { X } from 'path/to/something.js' (where the file something.js is actually something.ts - the typescript compiler itself doesn't care about these).

Making a bit of progress on this - quick opinion poll:
Should we put tests side-by-side with code, e.g.: src/parser/spec/pdb-parser.spec.ts which is I think what @arose started doing a long time ago.
Or under their own dir:
tests/parser/test-pdb-parser.spec.ts
Which is where the old versions are right now.
I have no strong view other than we should be consistent...


Fixed #28999 -- Documented how to reverse a class-based view by instance.

Trac ticket number

ticket-28999
Branch description

Adds tests for reversing a CBV by instance, since this is being documented.
Docs how to derive a view function from a CBV.
Docs how to reverse a CBV by instance.

Checklist

[x] This PR targets the main branch.
[x] The commit message is written in past tense, mentions the ticket number, and ends with a period.
[x] I have checked the "Has patch" ticket flag in the Trac system.
[x] I have added or updated relevant tests.
[x] I have added or updated relevant docs, including release notes if applicable.
[ ] I have attached screenshots in both light and dark modes for any UI changes.

Thank you.
I noticed that when I made my last update, I misplaced some changes i.e. some changes to do with the tests ended up being in the commit about the docs. Is that an issue.

Thank you.
I noticed that when I made my last update, I misplaced some changes i.e. some changes to do with the tests ended up being in the commit about the docs. Is that an issue.

I fixed the issue locally. If it's an issue I can submit revert PR and update the branch.

I also missed that, it's not worth a revert but yeah next time :+1:


Problem in the admin panel

I installed everything with the guide you provided, but I don't know why the admin panel gives me this error, in the config setting the spaties appears as unrecognized, I have filament v3 and laravel 10, there I leave you my adminpanelprovider too, I don't see that the setting resource is created in the project since I see that in the image you show the setting, that is, I don't know if you include it for the resource, but anyway is there a video tutorial because I try to install the pwa and nothing and I do all the steps

hi @MastersCon I think your problem is with the filament part, there is no HOOK to attach the PWA script. and that's a problem so try to upgrade your filament version or check if the hook exists.

same problem

can you try use this command
php artisan filament:optimize

this plugin only supports v3.2 so please upgrade your filament package


Update JOB_OBJECT_ALL_ACCESS and OpenJobObject

Update JOB_OBJECT_ALL_ACCESS value to the most recent one.
Update winapi.OpenJobObject to accept inheritHandle as bool
as the documentation suggests.

What is the documentation that suggests we change to passing bool directly to the generated function?

What is the documentation that suggests we change to passing bool directly to the generated function?

I wanted to make sure that the type matches to what's in the docs: https://learn.microsoft.com/en-us/windows/win32/api/jobapi2/nf-jobapi2-openjobobjectw. The underlying syscall doesn't change, we won't need to convert bools to uint32 in the future, if we ever want to add inheritHandle to https://github.com/microsoft/hcsshim/blob/main/internal/jobobject/jobobject.go#L63

It looks like the syscall code handles this just fine. Just wanted to be clear that in general, Windows BOOL and Go's bool are not compatible types.


GiftedForm: SubmitWidget

Everything works great as I have it right now.
I have a textfield, a googleplace, date selector, and radio slection inside the form.
At the bottom, I added the submitWidget, the onSubmit works, I am able to see the eventTitle and eventDate populated but the button itself has a loading bar. How can I stop it?
I'm going to just pass my 4 data elements in State to another component.
GiftedForm.SubmitWidget
title="Create"
widgetStyles={{
submitButton: {
backgroundColor: '#1faadb',
},
}}
onSubmit={(isValid, values, validationResults, postSubmit = null, modalNavigator = null) => {
if (isValid === true) {
this.setState({ eventTitle: values.eventTitle });
this.setState({ eventDate: moment(values.eventDate).format('MM-DD-YYYY') });
}
}}
/>

@pheakdeyyi use postSubmit(); to stop it after you have saved or posted your data. Or use postSubmit(['An error occurred, please try again']); if you found an error in the process


JNI exception on Android in NativeWindow.setTextInputEnabled()

My Lime/OpenFL app is exiting with a JNI exception on Android.
It appears to be because TextField.__disableInput() calls NativeWindow.setTextInputEnabled(), which calls GameActivity.updateSystemUI().
However, this commit completely removes GameActivity.updateSystemUI(), so I guess it's crashing because it's trying to call a method that doesn't exist: bb2af5eed1b2759ad622068f2071fadce225f739
This issue currently makes it impossible to use OpenFL's TextFieldType.INPUT on Android.
OpenFL code to reproduce (presumably there's a way to do it with Lime alone, but I'm not familiar with Lime's lower-level APIs):
class Main extends Sprite {
    public function new() {
        super();
        var tf = new TextField();
        tf.type = TextFieldType.INPUT;
        tf.border = true;
        tf.x = 100;
        tf.y = 100;
        addChild(tf);
    }
}

Tap the TextField to give it focus. Then tap again outside to remove focus. This should make it crash on Android (other platforms should work correctly).

Also reported here: #1385
And here: https://community.openfl.org/t/android-crash-in-early-game-stage-which-has-no-corresponding-ios-crash/12311

Does this help? https://github.com/haxelime/lime/blob/develop/src/lime/_internal/backend/native/NativeWindow.hx

Having some trouble testing. I checked out develop, and I tried to rebuild, but I got an error.
> lime rebuild android
Link: ../ndll/Android/liblime.so
obj/android/9c5b49ad_pixman-arm.obj:pixman-arm.c:function _pixman_arm_get_implementations: error: undefined reference to '_pixman_implementation_create_arm_simd'
collect2.exe: error: ld returned 1 exit status

Deleted my local repo of Lime and checked out a completely fresh copy. lime rebuild android completed successfully this time. Testing the TextField change next...


[EPIC] Implement loadInBlock and loadRelated and update dependencies

The Issue
Currently there are two new graph-node functionalities loadInBlock and loadRelated which are not implemented/mocked in Matchstick. This causes matchstick to panic and it prevents some users from properly testing their subgraphs.
loadInBlock
Description:
From my understanding loadInBlock tries to load an entity from some kind of a cache that persists for the time a specific block is being indexed. The entity will be present in the cache only if it was created or updated in that block.
For example event A occurs in block 123, in our handler we create an entity B with ID the address (0x0...1) of the emitter contract C. Later in that block another event A is emitted by contract C. If we try to load the entity using B.loadInBlock("0x0...1") we should get the entity we have created during the first occurrence of the event A.
But if in block 124, contract C has once again emitted event A and we try to load the entity using B.loadInBlock("0x0...1"), the function will return null because the entity is no more in the cache and instead we should try to load it from the database.
Matchstick implementation:
My proposed solution would be to:

Have the default loadInBlock behaviour to return null
Add a mock cashe store
Add a function that mocks the entity in the cache store with user defined
Add a function to remove/clean the cache store

loadRelated
Description:
loadRelated is a function that allows users to load derived entities into their handlers. This was previously not possible in the graph-node, but was possible with Matchstick due a bug in the graph-cli that generated getter (and setter) functions for those fields and the way the Matchstick's own entity store works. Derived fields are virtual fields and do not actually exists in the graph-node database. Instead they are created during query time and are only accessible when querying the subgraph. More info on derived fields https://thegraph.com/docs/en/developing/creating-a-subgraph/#reverse-lookups
Matchstick's own store
Matchstick does not work with a database, but implements its own key/value entity store. In the Matchstick store the derive fields actually exists and they keep the IDs of the child entities, hence why the getter/setter functions worked in Matchstick. While this was helpful for users to test their relations, it caused a lot of issues (especially with handling both String and Byte IDs) and made the code complex.
It will probably be wise to refactor the store and make it function similarly to the graph-node, i.e dynamically construct the derived fields when requested. We already keep the derived relations in a separate derived key/value store, but it may not be needed anymore, because the child entity's name, the parent id and the derivedFrom field should come from the loadRelated function itself, which should make it easier to find it in our entity store.
Matchstick implementation:
Entity Store:
Looking into the function loadRelated(entity: string, id: string, field: string): Array<Entity>; function we may be able to:

Simplify the matchstick store. - Currently we keep all relations into a separate derived mapping. But the function itself should provide us with the relation info we need in order to fetch the child entities from the entities store, so this mapping becomes obsolete as well as this whole module.
We will no longer need to track the relations into the store directly - the derived_fields module  will probably become obsolete

logStore():
The potential change to the store will affect what the logStore() function prints to the console. There's several ways to approach it:

Dynamically construct the derived fields when executing logStore()
Add a logEntity(entityId) function that will only print the specified entity and it's relations
Add an optional boolean parameter to logStore() that if set to true will also construct and print the relations
Extend logStore() to accept a set of options {related: true, entityId: 123} that will combine 2. and 3.

Update Matchstick dependencies with the latest graph-node version:
Description:
Matchstick depends on some graph-node functionalities. It hasn't been updated for a while, so will need to do that in Cargo.toml. This may lead to issues that will need to be fixed
Resources:
Matchstick store and derived_fields implementation:
Entity store - https://github.com/LimeChain/matchstick/blob/fix-derived-with-byte-ids/src/context/mod.rs#L96
Derived relations store - https://github.com/LimeChain/matchstick/blob/fix-derived-with-byte-ids/src/context/mod.rs#L115
Initialising the relations store - https://github.com/LimeChain/matchstick/blob/fix-derived-with-byte-ids/src/context/derived_schema.rs
Save Entity to store - https://github.com/LimeChain/matchstick/blob/fix-derived-with-byte-ids/src/context/mod.rs#L503
Saving the derived fields 🤯  - https://github.com/LimeChain/matchstick/blob/fix-derived-with-byte-ids/src/context/derived_fields.rs
Get entity from store - https://github.com/LimeChain/matchstick/blob/fix-derived-with-byte-ids/src/context/mod.rs#L478
logStore - https://github.com/LimeChain/matchstick/blob/fix-derived-with-byte-ids/src/context/mod.rs#L181
clearStore - https://github.com/LimeChain/matchstick/blob/fix-derived-with-byte-ids/src/context/mod.rs#L190
Matchstick-as
https://github.com/LimeChain/matchstick-as
Matchstick docs
https://github.com/LimeChain/matchstick
https://thegraph.com/docs/en/developing/unit-testing-framework/
Demo-subgraph
https://github.com/LimeChain/demo-subgraph

@dimitrovmaksim thanks for this, I think Matchstick may also need updates to support File Data Sources?

@dimitrovmaksim thanks for this, I think Matchstick may also need updates to support File Data Sources?

Yeah, File Data Sources are not currently supported as well

Btw @azf20 just FYI, it seems some changes that were made to the graph-node in order to re-use some modules/functionalities in matchstick have been reverted/moved/removed, so updating to the graph-node dependencies in matchstick could require a PR to the graph-node as well.


Do not eat memory when using documents

The current code seems to load values in documents entirely into memory, even when the content is only added and read in a streaming fashion.

This is a known issue to me with client.docs.set_bytes, but wouldn't know of other places where this happens?

if you look #1645 I made a tests that does not use any of the buffering APIs, and that still blows up to almost 1GiB memory usage (adding a value of 512MiB)

Closing as stale


LOCAL FILE TO S3 BUCKET UPLOAD

Description
I would like to add a script that can be used to upload files to s3 Buckets. This is AWS cloud storage product: https://aws.amazon.com/s3/. So one can use this script to automate the upload of local files to this remote cloud storage for safe keeping.
Type of issue

[x] Feature (New Script)
[ ] Bug
[ ] Documentation

Checklist:

[x] I have read the project guidelines.
[x] I have checked all the existing projects, before submitting a new project issue.
[x] I have checked previous issues to avoid duplicates.
[x] This issue will be meaningful for the project.

where is s3 bucket

where is s3 bucket

This is AWS cloud storage product: https://aws.amazon.com/s3/

Could you please assigne me to this issue?


Revert "Remove RDL dependency - functionality never used"

Need to merge #34 first

This is no longer needed, I closed PR 34 (unintentionally) and made a new PR.


Create a Custom RAP Business Object to Trigger Purchase Requisitions API

Hi,
I implemented the code on tutorial https://developers.sap.com/tutorials/abap-s4hanacloud-procurement-purchasereq-shop.html
When press the create button on the Fiori temporary app, I get an error with text: "An exception was rised"

I set a breakpoint after the MODIFY ENTITIES sentence, and noticed REPORTED DATA and FAILED DATA are empty

I also surrounded the MODIFY ENTITIES by a TRY ENDTRY sentence, but didn't catch any exception.
Reviewing the Feed Reader I noticed a gateway error was triggered. The text is "Frontend Error: An exception was raised, Service: /SAP/-ZSB_SHOP_001-0001"

Debugging the code I noticed a message error is triggered in class CL_BP_R_PURCHASEREQNTP. The error is caused because plant 1010 doesn't exist in my system.
Anyways, my objective writing this post is to ask you why the sentence MODIFY ENTITIES i_purchaserequisitiontp doesn't return the errors triggered by inside class CL_BP_R_PURCHASEREQNTP, but instead a Gateway error is triggered. Do you know some other way to catch this error?
Regards.

Hi @DiegoValzar ,
thank you for your message. We are currently working on this tutorial. As soon as we have an solution, we'll update this accordingly.
Best regards,
Merve


Slicing on non-array elements

Hi team, Great work!
I was trying to use the US Core Smoking Status profile and encountered an issue with Medplum: Slicing can only happen on arrays.
The Smoking Status profile defines slices on value[x], which is not an array. Is there an issue there?

Hi @albertsaradin — great find!  This is an interesting mismatch between the FHIR spec indicating that slicing is applicable to "an element that may occur more than once (e.g. in a list)" and the Smoking Status profile using a slice on an element with maximum cardinality of 1.  We'll look into what it would take to support this nonstandard case

Quick follow up: I was able to step through our code and it looked to me like the valueCodeableConcept slice was actually being validated correctly.  Was there a specific error you were seeing in your environment?
Separately, I think that the current version of the Smoking Status profile (STU7) is not well-defined.  The relevant bits of the profile StructureDefinition are these three elements:
{
  "id" : "Observation.value[x]",
  "path" : "Observation.value[x]",
  "slicing" : {
    "discriminator" : [{
      "type" : "type",
      "path" : "$this"
    }],
    "ordered" : false,
    "rules" : "open"
  },
  "min" : 1,
  "max" : "1",
  "base" : {
    "path" : "Observation.value[x]",
    "min" : 0,
    "max" : "1"
  },
  "type" : [
    { "code" : "Quantity" },
    { "code" : "CodeableConcept" },
    { "code" : "string" },
    { "code" : "boolean" },
    { "code" : "integer" },
    { "code" : "Range" },
    { "code" : "Ratio" },
    { "code" : "SampledData" },
    { "code" : "time" },
    { "code" : "dateTime" },
    { "code" : "Period" }
  ]
}
{
  "id" : "Observation.value[x]:valueQuantity",
  "path" : "Observation.value[x]",
  "sliceName" : "valueQuantity",
  "min" : 0,
  "max" : "1",
  "base" : {
    "path" : "Observation.value[x]",
    "min" : 0,
    "max" : "1"
  },
  "type" : [{ "code" : "Quantity" }],
  "binding" : {
    "strength" : "required",
    "valueSet" : "http://terminology.hl7.org/ValueSet/v3-UnitsOfMeasureCaseSensitive"
  }
}
{
  "id" : "Observation.value[x]:valueCodeableConcept",
  "path" : "Observation.value[x]",
  "sliceName" : "valueCodeableConcept",
  "min" : 0,
  "max" : "1",
  "base" : {
    "path" : "Observation.value[x]",
    "min" : 0,
    "max" : "1"
  },
  "type" : [{ "code" : "CodeableConcept" }],
  "binding" : {
    "strength" : "extensible",
    "valueSet" : "http://cts.nlm.nih.gov/fhir/ValueSet/2.16.840.1.1137<IP_ADDRESS>7.3"
  }
}

While this looks like it should restrict the field to two specific types, I don't believe it will work as intended.  The use of optional (minimum cardinality 0) slices without restricting ElementDefinition.type for value[x] actually means that all types are considered valid, and the required terminology binding is not strictly enforced.  Internally we're using a modified version of this profile to work around the issue for now

Hi @mattwiller , Thank you for following up!
It throws error and doesn't validates when I try.
I attempted to debug the issue (though I'm not very experienced). The error I encountered is Expected array value for sliced element in packages/core/src/default-values.ts: 210.
      if (!Array.isArray(elementValue)) {
        throw new Error('Expected array value for sliced element');
      }

I used the latest medplum from the github.

Hi @mattwiller,
Thank you! You're fast man! I tried the code, and it works great.
However, there's a small UI problem. I'm not sure if we should create a separate issue or mention it here.
FYI, please go to the app:
app -> Resource Type: "Observation" -> "New..." -> Profiles -> "US Core Smoking Status Observation Profile"
The Value [CodeableConcept] should show the binding valueset, but unfortunately, it doesn't.
I hope that is also as easy to fix as this one!


Automatically expand persistent partition on RPI 4

Fixes: https://github.com/kairos-io/kairos/issues/1762
and: https://github.com/kairos-io/kairos/issues/1448

If we like it, we'll need to also bump the package version so that we can release it.

I guess it will need a bump of a version somewhere
I wonder if we really need this because the partition is properly expanded sometimes ... what is the easiest way to test this before we release package?

I guess it will need a bump of a version somewhere
I wonder if we really need this because the partition is properly expanded sometimes ... what is the easiest way to test this before we release package?

I just added that to my cloud-config as described here: https://kairos.io/docs/installation/raspberry/#configure-your-node
To test it as a luet package is more complicated. You'd have to create a luet repository manually (a docker image) and push it somewhere, then refer to it in the framework-profile.

I bumped the package version


Read more link without "_blank" target

How can I remove "target=_blank" within the read more link?

See Documentation of Javascript-API
Adding this should do it!
 window.cookieconsent.initialise({ elements: {   link: '{{link}}', }   });

I'm having the same problem. I've tried the 'elements' solution but the link still opens in a new window, even when I change the target to anything but "_blank". I've checked the source code and the aria-label is also not overwritten by mine.
Just to check whether I've done it right:
content: {
message: 'message here',
dismiss: 'OK',
link: 'more information',
href: 'url here'
},
elements: { link: '{{link}}'},

@jeanpiet Can you give us the complete code here please! I can't get it! Thanks

@proshot2017 Sorry, I opted for a paid solution instead, so I no longer have the script.


chore: import go-vcs library with clean history

Context
First PR of a serie, splitting the implementation of https://github.com/dagger/dagger/pull/7420, in a cleaner way.
This one imports the codebase from https://github.com/grouville/go-vcs directly into our codebase for ease/maintainability purposes. I took the liberty of making it part of the engine/ci subdir, but open to discussion
First commit
The first commit is Google's library https://pkg.go.dev/golang.org/x/tools/go/vcs#RepoRootForImportPath filtered-history squashed into one, with all the context:
This commit adds a forked / improved version of Google's RepoRootForImportPath logic. Most of this code is originally part of the go/internal section of Google's codebase: https://github.com/golang/go/blob/16d3040a84be821d801b75bd1a3d8ab4cc89ee36/src/cmd/go/internal/vcs/vcs.go#L1281.

However, Justin found a version of this library exposed by Google without all the internal dependencies. It is now deprecated as unmaintained, but the core logic: the dynamic resolving coupled with the regexes are still relevant and enough for our use-case: https://pkg.go.dev/golang.org/x/tools/go/vcs#RepoRootForImportPath.

We had to fork the library in order to upgrade the go version used, bump the dependencies and more importantly fix a few unported changes:
1. We remove unsupported VCS, as BuildKit only support Git based VCS
2. We remove the deprecated mercurial check from bitbucket vcs options (https://github.com/golang/go/commit/5b1b80b) that led to an unability to parse the root of a repo from a bitbucket private ref
3. Update the regexes and the tests for jazz, apache, git.sr.ht SCM (following current official package's logic)
4. Remove the deprecation notices, as this package does not aim to be 100% compliant with upstream but just handle the split between the root of a repo and the subpath from its URL + rely on io.ReadAll instead of ioutil

Follow-up commits
All the follow-up commits are mostly maintenance work implemented to sync the deprecated library in a simi-official state with Google's internal version: https://github.com/golang/go/blob/master/src/cmd/go/internal/vcs/vcs.go

chore: apply latest SCM regexes + remove mercurial from bitbucket vcs options mainly

Then, it is followed by a few Dagger specific changes:

remove unsupported VCS as BuildKit only supports Git
chore: comply with golintci convention
extend regex to allow subpath traversal

engine/ci subdir, but open to discussion

how about using vcs as the package name which is the same the original library is using?

how about using engine/vcs as the package name which is the same the original library is using?

Given that the labels.go is refactoring all the vcs terminology to ci, I don't have a strong opinion around that: https://discord.com/channels/707636530424053791/1233176406112993350/1243237579676061767

Given that the labels.go is refactoring all the vcs terminology to ci, I don't have a strong opinion around that: https://discord.com/channels/707636530424053791/1233176406112993350/1243237579676061767

but labels.go is for telemetry labels, right? In this case we're talking about an engine package to handle vcs information for different URL resolvers. I think having an engine/vcs package actually makes a bit more sense.
Actually, the package is already called vcs (https://github.com/dagger/dagger/pull/7496/files#diff-7e6077f012d1b44204a4d56bf23fc79ac711db5517d15e7c87fd65ebb095cd49R5) but it's in a ci directory which is not generally very go idiomatic.

Agreed - vcs makes sense here. I wouldn't try to line this up with the labeling terminology; this part is more low level and has separate concerns. Nothing is set in stone for the new label plans anyhow

Actually, the package is already called vcs (https://github.com/dagger/dagger/pull/7496/files#diff-7e6077f012d1b44204a4d56bf23fc79ac711db5517d15e7c87fd65ebb095cd49R5) but it's in a ci directory which is not generally very go idiomatic.

You're right, I made a mistake and pushed a wrong version at first. I changed and moved to engine/vcs as per your recommendations 🙏


Remove incorrect info from README

could we also add info about what @corylown mentioned this morning? i.e. adding
  config.active_job.queue_adapter = :sidekiq

to development.rb


Flashing with Web UI leaves bricked esp32

Hey,
I tried flashing the latest nukihub on a brand new ESP32-DevKitC V4 from Aliexpress.
It finishes flashing (after long-pressing the BOOT button), but then after the reset is stuck in a loop showing this output every ~1s:
rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff

Here's the output of the Chrome DevTools from the flashing process:
Try hard reset.
connect-221663ff.js?module:485 Chip type ESP32
connect-221663ff.js?module:485 Uploading stub...
connect-221663ff.js?module:485 Running stub...
connect-221663ff.js?module:485 Stub is now running...
connect-221663ff.js?module:485 Detecting Flash Size
connect-221663ff.js?module:485 FlashId: 0x16405E
connect-221663ff.js?module:485 Flash Manufacturer: 5e
connect-221663ff.js?module:485 Flash Device: 4016
connect-221663ff.js?module:485 Auto-detected Flash size: 4MB
connect-221663ff.js?module:485 Image header, Magic=0x01, FlashMode=0x00, FlashSizeFreq=0x00
connect-221663ff.js?module:485 Writing data with filesize: 8192. Compressed Size: 47
connect-221663ff.js?module:485 Took 11ms to write 47 bytes
connect-221663ff.js?module:485 Erase size 0, blocks 0, block size 0x4000, offset 0x0000, encrypted no
connect-221663ff.js?module:485 Image header, Magic=0xE9, FlashMode=0x02, FlashSizeFreq=0x2F
connect-221663ff.js?module:485 Writing data with filesize: 18560. Compressed Size: 12759
connect-221663ff.js?module:485 Took 1128ms to write 12759 bytes
connect-221663ff.js?module:485 Erase size 0, blocks 0, block size 0x4000, offset 0x0000, encrypted no
connect-221663ff.js?module:485 Image header, Magic=0xE9, FlashMode=0x02, FlashSizeFreq=0x2F
connect-221663ff.js?module:485 Writing data with filesize: 1659168. Compressed Size: 1047002
connect-221663ff.js?module:485 Took 92017ms to write 1047002 bytes
connect-221663ff.js?module:485 Erase size 0, blocks 0, block size 0x4000, offset 0x0000, encrypted no
connect-221663ff.js?module:485 Image header, Magic=0xAA, FlashMode=0x01, FlashSizeFreq=0x02
connect-221663ff.js?module:485 Writing data with filesize: 3072. Compressed Size: 129
connect-221663ff.js?module:485 Took 34ms to write 129 bytes
connect-221663ff.js?module:485 Erase size 0, blocks 0, block size 0x4000, offset 0x0000, encrypted no
connect-221663ff.js?module:485 DISCONNECT
connect-221663ff.js?module:485 HARD RESET
connect-221663ff.js?module:485 Try hard reset.
connect-221663ff.js?module:485 Initializing Improv Serial

I also tried flashing with the Espressif SDK CLI but it basically got stuck (I'm probably doing something wrong).
Any clue what's going on? Is the ESP32 I got not compatible (even though it shows up on the readme)?

As far as I can see it's a regular ESP32 and it should be compatible. Did you try flashing a different firmware (e. g. tasmota) to exclude hardware problem?

Tried flashing Tasmota/ESPHome and they both failed. I guess it's a busted esp32, thanks for the tip.


I459 metadata download hidden properties

fixes https://github.com/antleaf/nims-mdr-development/issues/459
This PR fixes two things

A fix in graph_exporter.rb to check for emply resource URLs. We can push this to Hyrax
https://github.com/nims-dpfc/nims-hyrax/blob/6252fb69f296d96eff8f3ccbd86a283dbe3edaec/hyrax/app/services/hyrax/graph_exporter.rb#L39
Switched presenter from WorkShowPresenter to WorkPresenter in download_all_controller.rb, as it prepends FilteredGraph, which removes triples
https://github.com/nims-dpfc/nims-hyrax/blob/6252fb69f296d96eff8f3ccbd86a283dbe3edaec/hyrax/app/controllers/download_all_controller.rb#L32

The ttl metadata from the dataset and the download use the same methods now. They are mostly similar, but still have differences. See attached files
dataset_download_files_metadata.ttl.txt
dataset_view_metadata_in_ttl_format.ttl.txt

@anusharanganathan Thank you!


[radio] add tx timestamp

This commit adds tx timestamp so that the pcap callback can get the time when a frame was transmitted.

If putting the mTimestamp ahead, there will be significant code size increase in ARM architecture, which is caused by the instruction change from STRB -> STRB.w in many functions to access last fields(fields with offset larger than 32 bytes, thanks to @erjiaqing for help on analysis) in otRadioFrame. Putting the less frequently used field mTimestamp in the end avoids the problem.
Besides, there are 16 receive buffers in nRF52840 platform, so the structure size increase is amplified 16 times, which result in the outstanding increase in bss section.


Change TestRunNonRootUserResolvName Fail log.

Test Case is Fine. but when test is fail, log message is weird.
if bytes.Equal(containerResolv, resolvConfSystem) {
		c.Fatalf("Restarting  a container after container updated resolv.conf should not pick up host changes; expected %q, got %q", string(containerResolv), string(resolvConfSystem))
	}

Above code, test is fail when containerResolv  and resolvConfSystem equal. but in the log message expected/got used same value. and this test check containerResolv not resolvConfSystem.
if i understand correctly, expected values is  /etc/resolv.conf with new line search mylittlepony.com

This doesn't really make it any better.
The issue here is that "expected" is incorrect in the error message as both items are the same value by definition.
Instead the error message can probably just say host resolv.conf changes propagated to container: \n%q, or something.

@cpuguy83 is correct on what should be reported on failure.  For background, these tests were updated when the /etc/resolv.conf update implementation moved away from an inotify-based watch trigger in the engine to the libnetwork implementation, and in some cases the behavior checked is mostly the same, but some of the tests were changed enough that the text doesn't make sense.
In this case, if you modify your container's resolv.conf, and then the host resolv.conf changes, your container should not get updated, so in this case, the new search ... line should remain.  The check for equality is OK IMO, but as @cpuguy83 mentions, the error when they are equal is, in the vernacular: "hey, you shouldn't have changed my container to match the host, as I had a custom resolv.conf already".  Dumping the output of the new host resolv.conf is fine, but when/if this happens, the error won't really be found by seeing the contents of the resolv.conf anyway, so dumping anything is somewhat optional.

ping @estesp @cpuguy83 I'm a bit lost here; is this PR incorrect, or does it need changes an can then still be moved forward?

I think @cpuguy83's more terse comment was more useful than mine :)
The values are equal (the check that gets us into the c.Fatalf call).  When the values are equal there is no classic "expected" and "got" case as expected is really a fact, not a piece of data (expected == "they should not be equal").
I think the best message to help someone unfamiliar with the test to start debugging is what @cpuguy83 said--just say "Container's resolv.conf should not have been updated with host resolv.conf: %q\n" and you can output either variable for the %q, as they are identical at this point.

Thanks @estesp
Can you work with that, @daehyeok?

Changed log message following estesp's comment.

ping @estesp @cpuguy83 PTAL :+1:

LGTM

LGTM


Unable to use static contextType in react native

Unable to use static contextType=ReactContextType in react native
import React from "react";
import View from "react-components/lib/View";
import Text from "react-components/lib/Text";

const ThemeContext = React.createContext({ name: "Rohit Garg" });

class DemoButton extends React.Component {
  static contextType = ThemeContext;
  render() {
    const name = this.context.name;
    return <Text>{name}</Text>;
  }
}

class App extends React.Component {
  render() {
    return (
      <ThemeContext.Provider value={{ name: "Rohit Kumar" }}>
        <View>
          <Text>This is demo app</Text>
          <DemoButton />
        </View>
      </ThemeContext.Provider>
    );
  }
}

export default App;

package.json
"react": "^16.6.0",
"react-native": "0.57.4",
Error : TypeError : undefined is not a function (evalutating 'contextType.unstable_read')

FYI I hit this same error with react: 16.6.3 and react-native: 0.57.4 but it seems to work with react-native 0.57.7

@rohit-daffodil
react: ^16.6.1 => 16.6.3
react-native: ^0.57.7 => 0.57.7
You can try the contextType with these versions. Working for me :)


[google_maps_flutter_web] Add "My Location" Widget.

The current version of the Google Maps Flutter Web plugin does not have the "My Location" functionality.
This means there are two Map options that are not implemented:

myLocationButtonEnabled (seems doable)
myLocationEnabled (seems doable)

Implement those!

15 months later. Is this going to be implemented?

18 months later. implemented ???

It seems that nobody has attempted to implement this, no:

https://github.com/flutter/flutter/pulls?q=is%3Apr+"my+location"

Any update?
Is someone looking into it?

Not currently. This is available for the taking!

Please someone add this!

Please I need this to work on the web version of my app. If you can implement this id love you

Would love this.

Please I need this to work on the web version of my app. If you can implement this id love you

If u can implement this I would marry you

If this is of interest to you, please +1 it on https://issuetracker.google.com/35829640

There's an incoming PR implementing this behavior on the web @chrisjshull, but it'd be great if this was supported natively from the SDK (just like on Android/iOS)

It would be so useful to get a not supported exception when trying to use any option on a platform that doesn't support it. I just wasted so much time trying to make this work

If anyone is interested in implementing this, https://github.com/flutter/packages/pull/4486 would be a starting point, but it needs to be updated for the current state of the plugin.


Autoplay runs only once and then stops

I am using Spotlight and show, the autoslide works only once and then it just keeps on blinking but never slides the slider again.

Just got the same issue. I'm using Spotlight via the "Photonic" wordpress plugin. Would be great if this was fixed as I find Spotlight to be a great lightbox solution.


ebpf connection tracker: perf map fixes

This adds fixes in the perf map that receives the tcp events from the ebpf probes:

gobpf: use the correct timestamp function instead of assuming the timestamp is at offset zero in the struct
gobpf: fix loop on events that could drop events
gobpf: add a go channel to notify lost events
gobpf: make the size of the ring buffers configurable instead of using 8 page (32KB)
tcptracer-bpf: change the size of the ring buffer "maps/tcp_event_ipv4" to 256 pages (1MB)
tcptracer-bpf: use the go channel to notify lost events
scope: add a callback on lost events: log the error and stop the ebpf tracker correctly. So if it ever happens, we will know about it.

This is to address the address the following failure that happened a few weeks ago:
<probe> ERRO: 2017/04/13 07:34:17.299127 tcp tracer received event with timestamp<PHONE_NUMBER>30033 even though the last timestamp was<PHONE_NUMBER>30738. Stopping the eBPF tracker.
<probe> WARN: 2017/04/13 07:34:17.337241 ebpf tracker died, gently falling back to proc scanning

This is a "work in progress" because this is vendoring unmerged branches in gobpf and tcptracer-bpf.

[x] https://github.com/iovisor/gobpf/pull/43
[x] https://github.com/iovisor/gobpf/pull/44
[x] https://github.com/weaveworks/tcptracer-bpf/pull/37

I tried to reduce the size of the perf ring buffers to one page (4KB) in order to test it. I made lots of connections in parallel in 4 terminals (but on the same cpu to stress one perf ring buffer):
for i in $(seq 1 10000) ; do echo -n "$i " ; taskset --cpu-list 2 wget -O /dev/null http://<IP_ADDRESS> 2>/dev/null; done

Then, I checked that the fallback worked correctly:
<probe> ERRO: 2017/05/09 09:17:40.798823 tcp tracer lost 7 events. Stopping the eBPF tracker
<probe> WARN: 2017/05/09 09:17:41.701317 ebpf tracker died, gently falling back to proc scanning

/cc @iaguis @2opremio

I rebased and revendored gobpf + tcptracer-bpf since PRs have been merged.
I'm keeping the "WIP" title because I'd like to test again to make sure nothing was wrong in the rebase/revendor/git-subtrees changes.

I tried to quickly create plenty of connections to nginx on several cpus with this script (in several terminals):
cpu=0
for i in $(seq 1 10000) ; do
  echo -n "$i "
  taskset --cpu-list $cpu wget -O /dev/null http://<IP_ADDRESS> 2>/dev/null
done
echo

And I didn't notice any problems in the logs.
However, chrome quickly took all the cpu and crashed:

Mind creating a separate ticket for this?

(It's not a real scenario, but it's worth keeping track of it)

Mind creating a separate ticket for this?

https://github.com/weaveworks/scope/issues/2517

@2opremio PTAL


pythonPackages.pythonefl: does not install egg

Description of changes
With the egg, econnman does not find the modules efl and elementary.
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1076

I'm going to assume that you tested this :)


add full fasta header to description if unknown format

Only swiss/ENSEMBL headers are parsed correctly, and sometimes even when those are in the db with other things they do not always seem to get parsed, strangely?
When in doubt, maybe it's better to put the full fasta header in the description field.

Fixed in https://github.com/lehtiolab/msstitch/releases/tag/release_3.12