Node stuck in unknown state when an external CA fails to respond once

Scenario involving one manager and one worker, with an external CA service running as a container on the manager node:

Perform a docker swarm init --external-ca ...
Temporarily block network connectivity to the external CA service
Join the new node to the cluster as a worker
Restore network connectivity to the external CA service
The joining node is stuck in an "unknown" node state indefinitely.
Leaving and re-joining the cluster succeeds.

Excerpt from the daemon logs of the manager corresponding to the new node joining. No further logs were reported related to the join operation.
time="2016-10-03T18:59:52.185368918Z" level=debug msg="new certificate entry added" method=IssueNodeCertificate node.id=569l7nosmuhqpcf4wb98105vs node.role=WORKER
time="2016-10-03T18:59:52.185763297Z" level=debug msg="global orchestrator: node 569l7nosmuhqpcf4wb98105vs not in current node list, adding it"
time="2016-10-03T18:59:52.185838544Z" level=debug msg="RequestAddress(GlobalDefault/<IP_ADDRESS>/16, <nil>, map[])"
time="2016-10-03T18:59:52.199440044Z" level=debug msg="started watching for certificate updates" method=NodeCertificateStatus node.id=569l7nosmuhqpcf4wb98105vs status={PENDING }
time="2016-10-03T19:01:59.520606360Z" level=debug msg="unable to proxy certificate signing request to https://<IP_ADDRESS>:123: unable to perform certificate signing request: Post https://<IP_ADDRESS>:123: dial tcp <IP_ADDRESS>:123: getsockopt: connection timed out"
time="2016-10-03T19:01:59.520799383Z" level=error msg="failed to sign CSR" error="unable to perform certificate signing request: Post https://<IP_ADDRESS>:123: dial tcp <IP_ADDRESS>:123: getsockopt: connection timed out" method="(*Server).signNodeCert" module=ca node.id=569l7nosmuhqpcf4wb98105vs
time="2016-10-03T19:04:06.880830558Z" level=debug msg="unable to proxy certificate signing request to https://<IP_ADDRESS>:123: unable to perform certificate signing request: Post https://<IP_ADDRESS>:123: dial tcp <IP_ADDRESS>:123: getsockopt: connection timed out"
time="2016-10-03T19:04:06.881019576Z" level=error msg="failed to sign CSR" error="unable to perform certificate signing request: Post https://<IP_ADDRESS>:123: dial tcp <IP_ADDRESS>:123: getsockopt: connection timed out" method="(*Server).signNodeCert" module=ca node.id=569l7nosmuhqpcf4wb98105vs

Excerpt from the daemon logs of the worker:
time="2016-10-03T18:59:52.137126727Z" level=debug msg="Calling POST /v1.24/swarm/join"
time="2016-10-03T18:59:52.137328580Z" level=debug msg="form data: {\"AdvertiseAddr\":\"\",\"JoinToken\":\"*****\",\"ListenAddr\":\"<IP_ADDRESS>:2377\",\"RemoteAddrs\":[\"<IP_ADDRESS>:2377\"]}"
time="2016-10-03T18:59:52.149957020Z" level=debug msg="no valid local CA certificate found: local root CA certificate does not exist"
time="2016-10-03T18:59:52.167281681Z" level=debug msg="downloaded remote CA certificate."
time="2016-10-03T18:59:52.167346225Z" level=debug msg="no valid local TLS credentials found: open /mnt/sda1/var/lib/docker/swarm/certificates/swarm-node.crt: no such file or directory"
time="2016-10-03T18:59:52.190124294Z" level=info msg="Waiting for TLS certificate to be issued..."
time="2016-10-03T18:59:52.190370310Z" level=debug msg="Requesting certificate for NodeID: 569l7nosmuhqpcf4wb98105vs"
time="2016-10-03T19:00:12.150930631Z" level=error msg="Handler for POST /v1.24/swarm/join returned error: Timeout was reached before node was joined. The attempt to join the swarm will continue in the background. Use the \"docker in
fo\" command to see the current swarm status of your node."

Excerpt of docker info related on the joining worker node:
Swarm: pending
 NodeID: 569l7nosmuhqpcf4wb98105vs
 Is Manager: false
 Node Address: <IP_ADDRESS>

Output of docker node ls:
ID                           HOSTNAME  STATUS   AVAILABILITY  MANAGER STATUS
569l7nosmuhqpcf4wb98105vs              Unknown  Active
8vxve5m3qb3tyzcjt0vjyt6uu *  node1     Ready    Active        Leader

It looks like the options here would be to either return a failure through the swarm join operation or to keep reconciling the certificate state until the node successfully joins. From a usability standpoint, I would personally opt for the latter as network flakiness is not a rare occurrence in distributed systems, but I leave that to the discretion of the maintainers.

Looking at https://github.com/docker/swarmkit/blob/master/ca/server.go, it looks like when the External CA fails to respond, the node's certificate state is set as IssuanceStateFailed, which is considered to be a final state.


Bug: 查询Sqlite数据库报错

Chat2DB Version
2.0
Describe the bug
系统：
MacOS Ventura 13.4.1 (22F82)
错误日志如下：
2023-07-03 16:34:14.862  INFO 12994 --- [http-nio-<IP_ADDRESS>-10824-exec-1] a.chat2db.server.start.log.EasyLogSink  .67 : 3bfc507e-9ca0-4024-b1d0-c6c50f593c25 | http : POST|/api/rdb/dml/execute|4|{"sql":"SELECT tf_Voltage, COUNT() FROM tbData GROUP BY tf_Voltage","initDDL":"SELECT tf_Voltage, COUNT() FROM tbData GROUP BY tf_Voltage","databaseName":"main","dataSourceId":3,"type":"SQLITE","consoleId":3,"consoleName":"main-console"}|{"success":false,"errorCode":"common.systemError","errorMessage":"An exception occurs, you can view the exception details in the log in the help menu. If you can't fix it, you can subscribe to the WeChat public account Text2SQL to consult for help","traceId":null}

2023-07-05 07:15:41.688  INFO 10880 --- [http-nio-<IP_ADDRESS>-10824-exec-2] a.chat2db.server.start.log.EasyLogSink  .67 : 538f6861-6177-4b84-b3c7-91534add7c6c | http : POST|/api/rdb/dml/execute|35|{"sql":"SELECT * FROM labels;\n","initDDL":"SELECT * FROM labels;\n","databaseName":"main","dataSourceId":10,"type":"SQLITE","consoleId":5,"consoleName":"main-console"}|{"success":false,"errorCode":"common.systemError","errorMessage":"An exception occurs, you can view the exception details in the log in the help menu. If you can't fix it, you can subscribe to the WeChat public account Text2SQL to consult for help","traceId":null}

2.0.1 版本问题依旧存在。

还没解决

v2.0.2版本已修复此问题。


new image bbox

how to get 'bbox' in BriVL/BriVL-code-inference/data/jsonls/example.jsonl

The bbox of these examples have 100 ROI. How to use FasterRCNN to detect these crazy numbers of Objects?

I used Detectron2 with weight mask_rcnn_R_50_FPN_3x.yaml to get 100 candidate bboxes, but the coordinates are not exactly the same as that in the example.jsonl. So I'd like to know if the object detector used in the project could be provided for complete reproduction.

BriVL uses the Bottom-Up Attention model as its object detection tool,  this model can be obtained fromBriVL-BUA-applications

By the way,  I have test the AIC-ICC Validset from BriVL-API1.0, but the retrieval result is too low (Recall@1 < 1%). I use your released code for 'retrieval ' and Faiss vector retrieval, but still have disappointing result.  Could you release more details in this Exp of Paper?

BriVL uses the Bottom-Up Attention model as its object detection tool, this model can be obtained fromBriVL-BUA-applications

hi, I used BriVL-BUA-applications  to get the bboxes. I modified the extract-bua-caffe-r101.yaml file. The MAX_BOXES is changed from 45 to 100, but the coordinates are not exactly the same as that in the example.jsonl. So I am a little confused. I don't know what is wrong during using the BriVL-BUA-applications. Can you give a example from the example.jsonl and generate bboxes of it by using BriVL-BUA-applications. Thank you very much!

BriVL uses the Bottom-Up Attention model as its object detection tool, this model can be obtained fromBriVL-BUA-applications

hi, I used BriVL-BUA-applications to get the bboxes. I modified the extract-bua-caffe-r101.yaml file. The MAX_BOXES is changed from 45 to 100, but the coordinates are not exactly the same as that in the example.jsonl. So I am a little confused. I don't know what is wrong during using the BriVL-BUA-applications. Can you give a example from the example.jsonl and generate bboxes of it by using BriVL-BUA-applications. Thank you very much!

Due to the difference between the library versions or the machines, the results of the bounding box will be slightly random, which will not affect the performance of BriVL. In addition, you can calculate the IoU values of these two sets of bounding boxes to verify their correctness.

We just fixed a bug: Change the image size in cfg/test.yml to 380. Please pay attention to this when using BriVL, sorry for the inconvenience.

BriVL uses the Bottom-Up Attention model as its object detection tool, this model can be obtained fromBriVL-BUA-applications

hi, I used BriVL-BUA-applications to get the bboxes. I modified the extract-bua-caffe-r101.yaml file. The MAX_BOXES is changed from 45 to 100, but the coordinates are not exactly the same as that in the example.jsonl. So I am a little confused. I don't know what is wrong during using the BriVL-BUA-applications. Can you give a example from the example.jsonl and generate bboxes of it by using BriVL-BUA-applications. Thank you very much!

I can reproduce the bboxes same as those in example.jsonl

BriVL uses the Bottom-Up Attention model as its object detection tool, this model can be obtained fromBriVL-BUA-applications

hi, I used BriVL-BUA-applications to get the bboxes. I modified the extract-bua-caffe-r101.yaml file. The MAX_BOXES is changed from 45 to 100, but the coordinates are not exactly the same as that in the example.jsonl. So I am a little confused. I don't know what is wrong during using the BriVL-BUA-applications. Can you give a example from the example.jsonl and generate bboxes of it by using BriVL-BUA-applications. Thank you very much!

I can reproduce the bboxes same as those in example.jsonl

hello, how can you do that ? Can you tell me what is changed in the extract-bua-caffe-r101.yaml file ? thank you!!!

BriVL uses the Bottom-Up Attention model as its object detection tool, this model can be obtained fromBriVL-BUA-applications

hi, I used BriVL-BUA-applications to get the bboxes. I modified the extract-bua-caffe-r101.yaml file. The MAX_BOXES is changed from 45 to 100, but the coordinates are not exactly the same as that in the example.jsonl. So I am a little confused. I don't know what is wrong during using the BriVL-BUA-applications. Can you give a example from the example.jsonl and generate bboxes of it by using BriVL-BUA-applications. Thank you very much!

I can reproduce the bboxes same as those in example.jsonl

hello, how can you do that ? Can you tell me what is changed in the extract-bua-caffe-r101.yaml file ? thank you!!!

I didn't change anything except device from cuda to cpu, as I'm running it on mac. And run the command mentioned in the readme python3 bbox_extractor.py --img_path ../BriVL/data/imgs/baike_14014334_0.jpg --out_path test_data/test1.npz

@Qiulin-W Obviously, Efficientclip’s paper uses the data from Wenlan directly (because they are the same), but Efficientclip’s paper says that they obtained the results on the test set. Still, the data in Wenlan is obtained from the validation set (in addition,  As far as I know, the AIC-ICC test set has never been made public).

At the same time, according to the paper of wenlan2.0, their new experiment was obtained on the first 10,000 samples in the validation set.

@Qiulin-W  @knaffe @chuhaojin  The following results are tested on AIC-ICC validate dataset using the code of this repo. I can ensure that the processing results of jsonl file are exactly the same as the file provided in the example.

This result is far inferior to the result in the paper. Any suggestions?

@Qiulin-W @knaffe @chuhaojin The following results are tested on AIC-ICC validate dataset using the code of this repo. I can ensure that the processing results of jsonl file are exactly the same as the file provided in the example.
This result is far inferior to the result in the paper. Any suggestions?

@huang-xx @Qiulin-W Sorry, I don’t know more about the evaluation details of the BriVL model. You can consult the students in the Model Development Group(who take charge of this part) for more details. FYI: https://mp.weixin.qq.com/s/580JGzl5fUe7WnPaI3WPWQ (Refer to the bottom of this article).

@Qiulin-W @knaffe @chuhaojin The following results are tested on AIC-ICC validate dataset using the code of this repo. I can ensure that the processing results of jsonl file are exactly the same as the file provided in the example.
This result is far inferior to the result in the paper. Any suggestions?

@huang-xx @knaffe Sorry, I don’t know more about the evaluation details of the BriVL model. You can consult the student in the Model Development Group(@moonlitt, who takes charge of this part) for more details.

@chuhaojin After fine-tuning your pre-trained model on AIC-ICC train datasets，I can get similar results as your paper.

Is the result of the baseline CLIP model in your paper also fine-tuning?
Thank you for your open-source.

@moonlitt my evaluation results on AIC-ICC validate dataset(I used 30000 samples) are also far from those in the  paper(i2t r@1 1.09% ; t2i r@1 0.37% ). Could you please share the evaluation codes as a reference?


Add missing fields to custom results test

And while doing so, a bug was discovered, guest field was not updated during custom results loading.

@jamacku Do you happen to have pre-commit hook for which will make sure the Differential ShellCheck passes?

@lukaszachy I don't have a pre-commit hook. But it seems like a great addition. I will try to add one.

https://github.com/koalaman/shellcheck#pre-commit will be enough?

This wouldn't work the same way, it doesn't perform differential scans, so it would always report all defects.

Or should we limit the checked scripts to just those 4 or so tmt-* scripts?

You can do that using https://github.com/redhat-plumbers-in-action/differential-shellcheck#shell-scripts, But I would suggest using this option only when the standard configuration wasn't able to detect some shell scripts.

@lukaszachy I don't have a pre-commit hook. But it seems like a great addition. I will try to add one.

https://github.com/koalaman/shellcheck#pre-commit will be enough?

This wouldn't work the same way, it doesn't perform differential scans, so it would always report all defects.

Maybe we could follow the same path we took with typing annotations, i.e. limiting the linter just to listed files, then directories, and slowly extending the coverage until there are no issues left.


display.colorSample doesn't work as expected.

I use MacOS simulator 3690. Here is my test example:
testColorSample.zip
local bkg = display.newRect(display.contentCenterX, display.contentCenterY, display.contentWidth, display.contentHeight )
bkg:setFillColor(1, 0, 0, 1)

local function onColorSample( event )
    print( "Sampling pixel at position (" .. event.x .. "," .. event.y .. ")" )
    print( "R = " .. event.r )
    print( "G = " .. event.g )
    print( "B = " .. event.b )
    print( "A = " .. event.a )
end

timer.performWithDelay(100, function()
    display.colorSample( display.contentCenterX, display.contentCenterY, onColorSample )
end)

Now it always print R = 0, G = 0, B = 0, A = 0.
And I found the output depends on what width, height value set in config.lua.
If I set width = 320, height = 480, it will get correct color.
application =
{
    content =
    {
        fps = 60,
        width = 1536,
        height = 2048,
        scale = "letterbox",
        xAlign = "center",
        yAlign = "center",
    }
}

Originally posted by @zero-meta in https://github.com/coronalabs/corona/issues/527#issuecomment-1541456244

See #575

This is fixed with Solar2d 3691


enable track remaining for circuit breakers

This provides useful information on how many are pending before a circuit breaker can open
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[X] Does not have any changes that may affect Istio users.

So to verify, for most users this will have no impact as we don't have these stats. For users with envoy stats, they will just see more stats?

Yes. That is correct.


URI

URI parsing and mutation powered by league/uri.
$uri = Uri::of('https://laravel.com')
    ->withQuery(['name' => 'Taylor'])
    ->withPath('/docs/installation')
    ->withFragment('hello-world');

$uri->scheme();
$uri->host();
$uri->user();
$uri->password();
$uri->path();
$uri->port();
$uri->query()->all();
$uri->query()->has('name');
$uri->query()->missing('name');
$uri->query()->decode();

// And more...

return (string) $uri;

URI instances can be retrieved from the current request, as well as created from URLs and names routes for the current application:
$uri = $request->uri();

$uri = Uri::to('/something')->withQuery(...);

$uri = Uri::route('named-route', ['user' => $user]);

URIs can even be returned directly from routes to generate a redirect to that location:
return Uri::route('named-route', ['user' => $user])->withQuery(['name' => 'Taylor']);

This looks awesome! 🎉

Awesome! Thanks to @stevebauman for your pioneer work in #53370 :tada: 👏🏻

Tbh the API seems really smooth and making it Responsable feels natural now that I see it.
Love that you've chosen to go the immutable path using withers. Maybe it's worth adding the readonly keyword to class fields? Or maybe even mark both classes as readonly to communicate that the instances never change their state?
One more thing that I'd like to bring up — parse_str is older than the web standards (RFCs) and its behaviour on some edge cases is different from what people might expect to be the "correct" parsing. Have you considered using League\Uri\QueryString::parse() instead?

@taylorotwell
Query parameters can include dots in their names, which is perfectly valid. But when using data_set with parse_str, unexpected behavior can happen:
$uri = Uri::of('https://dot.test/?foo.bar=baz');

dump([
    (string) $uri->withQuery(['foo.bar' => 'zab']),
    (string) $uri->replaceQuery(['foo.bar' => 'zab']),
]);

Output:
^ array:2 [
  0 => "https://dot.test/?foo_bar=baz&foo%5Bbar%5D=zab"
  1 => "https://dot.test/?foo.bar=zab"
]

What's happening:

data_set: It treats foo.bar as a nested array and converts it into ['foo' => ['bar' => 'zab']].
parse_str: It replaces dots with underscores (e.g., foo.bar becomes foo_bar) because PHP doesn’t allow dots in variable names.

So in the first case, foo.bar turns into both foo_bar and foo[bar], which isn’t what you’d expect.
P.S The League Query component avoids using parse_str entirely to prevent these kinds of issues.

@tontonsb @korkoshko Although using QueryString::extract() is a better option (works without mangling the results) in compare to parse_str(), but there is a bug that causes added tests to fail, you may refer to thephpleague/uri-src#146.
+ use League\Uri\QueryString;

public function toArray(): array
{
-    parse_str($this->uri->getUri()->getQuery(), $currentQuery);

-    return $currentQuery;
+    return QueryString::extract((string) $this);
}

@korkoshko I've made withQuery and replaceQuery more consistent in how they handle dot notation.

You seem to be reading my thoughts


feat: autopublish binary scripts improvements.

Linux auto publishment
Nicer UI
Env error handling
Automatically bumps package.json

added changes requested in #4024

Closing in favour of #4133


WeakSet and WeakMap bug

Right now WeakSet and WeakMap are considered to behave the same as Set and Map. This is however not true and comparing these types will result in the following error. It is actually not possible to check for WeakSet or WeakMap equality at all. It is only possible to check if a entry itself exists or not.
const a = new WeakSet()
const b = new WeakSet()
eq(a,b) // TypeError: a.entries is not a function
    at EQ._check_object_weak-set (/home/repos/general/equal/cjs/should-equal.js:281:23)
    at EQ.check0 (/home/repos/general/equal/cjs/should-equal.js:130:7)
    at EQ.check (/home/repos/general/equal/cjs/should-equal.js:90:12)
    at eq (/home/repos/general/equal/cjs/should-equal.js:312:29)

Yep 👍 thanks. I used usual methods like has, set, get but when implementing in some reason i decide it should have the same methods like Map.
Do you think it is right just return false for WeakMap/Set?

Comparing two WeakSets should return true out of my perspective if all checks besides the value check say they are equal.

Closing this as i used ref checks in 2.0.0


refactor(app,protocol-designer): replace moment with date-fns

overview
This PR replaces moment with date-fns to reduce our bundle sizes a little bit
Closes #4269
changelog

refactor(app,protocol-designer): replace moment with date-fns

review requests
Affected UI that needs testing

[ ] App protocol run time
[ ] App protocol last updated value
[ ] App thermocycler step time remaining
[ ] Protocol designer file creation and last modified time

Note: last modified time appears to be currently broken, ticket TBD

@b-cooper or @sanni-t can you check that the thermocycler step time remaining UI is still good in this PR?


Auth grant type jwt bearer e2e tests

I'm opening this PR to keep track of the progress I make.
I'll also try to add a comment on each of the changes requested by @aeneasr in the original PR (https://github.com/ory/hydra/pull/2384). That way everyone will be aware of what this PR includes.

[x] Added end-to-end tests (https://github.com/ory/hydra/pull/2384#pullrequestreview-705209004)
[x] Added tests for the GrantValidator.Validate method (https://github.com/ory/hydra/pull/2384#discussion_r668824362)
[x] Use pipe instead of space to store jwt grant scopes in the database (https://github.com/ory/hydra/pull/2384#discussion_r668840953)
[x] Add database index to the expires_at column (https://github.com/ory/hydra/pull/2384#discussion_r668841475)
[x] Get the smallest time to save one DB filter when flushing grants (https://github.com/ory/hydra/pull/2384#discussion_r668846123)
[x] Make DeleteGrant in a single transaction (https://github.com/ory/hydra/pull/2384#discussion_r668848686)
[x] Use a single transaction in the CreateGrant function (https://github.com/ory/hydra/pull/2384#discussion_r668851526)
[x] Remove flush expired grants endpoint and add it to the janitor CLI (https://github.com/ory/hydra/pull/2384#discussion_r668779091)

This is the simplest way to work on this I can think of.

I removed the draft status as I won't be adding any new features to this PR. To keep things simple and clean, each of the commits in the PR contains a single suggestion made by @aeneasr and there's a link to the comment itself in the PR description.
Additional notes as there's no CI pipeline here:

end-to-end tests are currently failing with the error I comment here: https://github.com/ory/hydra/pull/2384#issuecomment-968798192.
make test is working fine.


Add "Contributing" and "Requirements" to README.md

I have added "Contributing" to README.md because there will be forks of the main repository, and people who are not familiar with GitHub will have a hard time pushing their changes to the repository.
So this is a way to help begineers. :)
Suggestions on what more I could do to improve the "Contributing" section are welcome.

I'm a bit of a noob when it comes to GitHub. I reverted the commit above this message so it doesn't get merged into the main repo.

That is my final commit, I need feedback on the latest commit so this can finally be pushed to main.

Ready to merge?

Will do.

Fixed.


add apiary badge

@flopezag
I suggest this new badge. LGTM and merge if right idea!

Take into account the list of badges and the order that I provide to you. This one should be the last one.

LGTM


Bad request when provisioning actuator

I am following the tutorial as it is without any change.
When provisioning an actuator :
curl -iX POST \
  'http://localhost:4041/iot/devices' \
  -H 'Content-Type: application/json' \
  -H 'fiware-service: openiot' \
  -H 'fiware-servicepath: /' \
  -d '{
  "devices": [
    {
      "device_id": "bell001",
      "entity_name": "urn:ngsi-ld:Bell:001",
      "entity_type": "Bell",
      "protocol": "PDI-IoTA-UltraLight",
      "transport": "MQTT",
      "commands": [
        { "name": "ring", "type": "command" }
       ],
       "static_attributes": [
         {"name":"refStore", "type": "Relationship","value": "urn:ngsi-ld:Store:001"}
      ]
    }
  ]
}
'

I get this error message:
{
    "message": "Request error connecting to the Context Broker: {\"code\":\"400\",\"reasonPhrase\":\"Bad Request\",\"details\":\"JSON Parse Error: unknown field: /contextRegistrations/contextRegistration/attributes/attribute/isDomain\"}",
    "name": "BAD_REQUEST"
}

Here is the iot-agent about json response :
docker run --network fiware_default --rm appropriate/curl -s \
 -X GET 'http://iot-agent:4041/iot/about'
{"libVersion":"2.6.0","port":"4041","baseRoot":"/","version":"1.6.0"}

This is tangentially related to #8 - the docker-compose. This  tutorial does not currently use the latest version of the IoT Agent as the functionality changed. At some point a breaking change has also been added to Orion so that that needs to be pinned as well.
In summary use Orion 2.2.0 and IoT Agent 1.9.0 and add default "resource":    "/iot/d" when provisioning the devices *OR use Orion 2.0.0 and IoT Agent 1.7.0 and add "resource":    ""


Speed benchmarks

Hi there, thanks for putting this repo together! I'm wondering what kind of throughput people are seeing for training? Im getting about 1 iteration every 3 seconds with a batch size of 1. Seems a bit slow to me. What are other people getting with this implementation?

Looking more closely im seeing things like
    tf.summary.histogram('D_Y/true', self.D_Y(y))     tf.summary.histogram('D_Y/fake', self.D_Y(self.G(x)))     tf.summary.histogram('D_X/true', self.D_X(x))     tf.summary.histogram('D_X/fake', self.D_X(self.F(y)))
Im pretty sure that evert time you call G() F() D_Y() or D_X() you are constructing a separate piece of the graph. So basically when you run this histogram you have to compute the entire iteration, rather than just using the data you have already generated in the training ops. Pretty sure that means this code is doing at least 2x the work it should be. Am I way off base here?

Ok changing these pieces seems to give about a 2x speedup. The code is below. Note that ive change a few things for reading my own custom data
`import tensorflow as tf
import ops
import utils
from reader import Reader
from discriminator import Discriminator
from generator import Generator
REAL_LABEL = 0.9
class CycleGAN:
def init(self,
x_data_dir,
y_data_dir,
batch_size=1,
image_size=256,
use_lsgan=True,
norm='instance',
lambda1=10.0,
lambda2=10.0,
learning_rate=2e-4,
beta1=0.5,
ngf=64
):
"""
Args:
X_train_file: string, X tfrecords file for training
Y_train_file: string Y tfrecords file for training
batch_size: integer, batch size
image_size: integer, image size
lambda1: integer, weight for forward cycle loss (X->Y->X)
lambda2: integer, weight for backward cycle loss (Y->X->Y)
use_lsgan: boolean
norm: 'instance' or 'batch'
learning_rate: float, initial learning rate for Adam
beta1: float, momentum term of Adam
ngf: number of gen filters in first conv layer
"""
self.lambda1 = lambda1
self.lambda2 = lambda2
self.use_lsgan = use_lsgan
use_sigmoid = not use_lsgan
self.batch_size = batch_size
self.image_size = image_size
self.learning_rate = learning_rate
self.beta1 = beta1
self.x_data_dir = x_data_dir
self.y_data_dir = y_data_dir
self.is_training = tf.placeholder_with_default(True, shape=[], name='is_training')

self.G = Generator('G', self.is_training, ngf=ngf, norm=norm, image_size=image_size)
self.D_Y = Discriminator('D_Y',
    self.is_training, norm=norm, use_sigmoid=use_sigmoid)
self.F = Generator('F', self.is_training, norm=norm, image_size=image_size)
self.D_X = Discriminator('D_X',
    self.is_training, norm=norm, use_sigmoid=use_sigmoid)

self.fake_x = tf.placeholder(tf.float32,
    shape=[batch_size, image_size, image_size, 3])
self.fake_y = tf.placeholder(tf.float32,
    shape=[batch_size, image_size, image_size, 3])

def _model(self):
print("Using faster model")
reader1 = Reader(self.x_data_dir, name="X")
reader2 = Reader(self.y_data_dir, name="Y")
self.x = x = reader1.feed()
self.y = y = reader2.feed()
fake_xy = self.G(x)
fake_xyx = self.F(fake_xy)
fake_yx = self.F(y)
fake_yxy = self.G(fake_yx)

disc_y = self.D_Y(y)
disc_xy = self.D_Y(fake_xy)
disc_x = self.D_X(x)
disc_yx = self.D_X(fake_yx)

disc_fake_x = self.D_X(self.fake_x)
disc_fake_y = self.D_Y(self.fake_y)

print("Creating losses")
cycle_loss = self._cycle_consistency_loss(fake_xyx, fake_yxy, x, y)

# X -> Y
G_gan_loss = self._generator_loss(disc_xy, use_lsgan=self.use_lsgan)
G_loss =  G_gan_loss + cycle_loss
D_Y_loss = self._discriminator_loss(disc_y, disc_fake_y, use_lsgan=self.use_lsgan)

# Y -> X
F_gan_loss = self._generator_loss(disc_yx, use_lsgan=self.use_lsgan)
F_loss = F_gan_loss + cycle_loss
D_X_loss = self._discriminator_loss(disc_x,  disc_fake_x, use_lsgan=self.use_lsgan)

# summary
tf.summary.histogram('D_Y/true', disc_y)
tf.summary.histogram('D_Y/fake', disc_xy)
tf.summary.histogram('D_X/true', disc_x)
tf.summary.histogram('D_X/fake', disc_yx)

tf.summary.scalar('loss/G', G_gan_loss)
tf.summary.scalar('loss/D_Y', D_Y_loss)
tf.summary.scalar('loss/F', F_gan_loss)
tf.summary.scalar('loss/D_X', D_X_loss)
tf.summary.scalar('loss/cycle', cycle_loss)

tf.summary.image('X/generated', utils.batch_convert2int(fake_xy))
tf.summary.image('X/reconstruction', utils.batch_convert2int(fake_xyx))
tf.summary.image('Y/generated', utils.batch_convert2int(fake_yx))
tf.summary.image('Y/reconstruction', utils.batch_convert2int(fake_yxy))

return G_loss, D_Y_loss, F_loss, D_X_loss, fake_xy, fake_yx

def model(self):
reader1 = Reader(self.x_data_dir, name="X")
reader2 = Reader(self.y_data_dir, name="Y")
self.x = x = reader1.feed()
self.y = y = reader2.feed()
print("Creating cycle loss")
cycle_loss = self.cycle_consistency_loss(self.G, self.F, x, y)

# X -> Y
print("Creating fake y")
fake_y = self.G(x)
G_gan_loss = self.generator_loss(self.D_Y, fake_y, use_lsgan=self.use_lsgan)
G_loss =  G_gan_loss + cycle_loss
D_Y_loss = self.discriminator_loss(self.D_Y, y, self.fake_y, use_lsgan=self.use_lsgan)

# Y -> X
print("Creating fake x")
fake_x = self.F(y)
F_gan_loss = self.generator_loss(self.D_X, fake_x, use_lsgan=self.use_lsgan)
F_loss = F_gan_loss + cycle_loss
D_X_loss = self.discriminator_loss(self.D_X, x, self.fake_x, use_lsgan=self.use_lsgan)

# summary
tf.summary.histogram('D_Y/true', self.D_Y(y))
tf.summary.histogram('D_Y/fake', self.D_Y(self.G(x)))
tf.summary.histogram('D_X/true', self.D_X(x))
tf.summary.histogram('D_X/fake', self.D_X(self.F(y)))

tf.summary.scalar('loss/G', G_gan_loss)
tf.summary.scalar('loss/D_Y', D_Y_loss)
tf.summary.scalar('loss/F', F_gan_loss)
tf.summary.scalar('loss/D_X', D_X_loss)
tf.summary.scalar('loss/cycle', cycle_loss)

tf.summary.image('X/generated', utils.batch_convert2int(self.G(x)))
tf.summary.image('X/reconstruction', utils.batch_convert2int(self.F(self.G(x))))
tf.summary.image('Y/generated', utils.batch_convert2int(self.F(y)))
tf.summary.image('Y/reconstruction', utils.batch_convert2int(self.G(self.F(y))))

return G_loss, D_Y_loss, F_loss, D_X_loss, fake_y, fake_x

def optimize(self, G_loss, D_Y_loss, F_loss, D_X_loss):
def make_optimizer(loss, variables, name='Adam'):
""" Adam optimizer with learning rate 0.0002 for the first 100k steps (~100 epochs)
and a linearly decaying rate that goes to zero over the next 100k steps
"""
global_step = tf.Variable(0, trainable=False)
starter_learning_rate = self.learning_rate
end_learning_rate = 0.0
start_decay_step = 100000
decay_steps = 100000
beta1 = self.beta1
learning_rate = (
tf.where(
tf.greater_equal(global_step, start_decay_step),
tf.train.polynomial_decay(starter_learning_rate, global_step-start_decay_step,
decay_steps, end_learning_rate,
power=1.0),
starter_learning_rate
)
  )
  tf.summary.scalar('learning_rate/{}'.format(name), learning_rate)

  learning_step = (
      tf.train.AdamOptimizer(learning_rate, beta1=beta1, name=name)
              .minimize(loss, global_step=global_step, var_list=variables)
  )
  return learning_step

G_optimizer = make_optimizer(G_loss, self.G.variables, name='Adam_G')
D_Y_optimizer = make_optimizer(D_Y_loss, self.D_Y.variables, name='Adam_D_Y')
F_optimizer =  make_optimizer(F_loss, self.F.variables, name='Adam_F')
D_X_optimizer = make_optimizer(D_X_loss, self.D_X.variables, name='Adam_D_X')

with tf.control_dependencies([G_optimizer, D_Y_optimizer, F_optimizer, D_X_optimizer]):
  return tf.no_op(name='optimizers')

def discriminator_loss(self, D, y, fake_y, use_lsgan=True):
""" Note: default: D(y).shape == (batch_size,5,5,1),
fake_buffer_size=50, batch_size=1
Args:
G: generator object
D: discriminator object
y: 4D tensor (batch_size, image_size, image_size, 3)
Returns:
loss: scalar
"""
if use_lsgan:
# use mean squared error
error_real = tf.reduce_mean(tf.squared_difference(D(y), REAL_LABEL))
error_fake = tf.reduce_mean(tf.square(D(fake_y)))
else:
# use cross entropy
error_real = -tf.reduce_mean(ops.safe_log(D(y)))
error_fake = -tf.reduce_mean(ops.safe_log(1-D(fake_y)))
loss = (error_real + error_fake) / 2
return loss
def _discriminator_loss(self, disc_real, disc_fake, use_lsgan=True):
""" Note: default: D(y).shape == (batch_size,5,5,1),
fake_buffer_size=50, batch_size=1
Args:
G: generator object
D: discriminator object
y: 4D tensor (batch_size, image_size, image_size, 3)
Returns:
loss: scalar
"""
if use_lsgan:
# use mean squared error
error_real = tf.reduce_mean(tf.squared_difference(disc_real, REAL_LABEL))
error_fake = tf.reduce_mean(tf.square(disc_fake))
else:
# use cross entropy
error_real = -tf.reduce_mean(ops.safe_log(disc_real))
error_fake = -tf.reduce_mean(ops.safe_log(1-disc_fake))
loss = (error_real + error_fake) / 2
return loss
def generator_loss(self, D, fake_y, use_lsgan=True):
"""  fool discriminator into believing that G(x) is real
"""
if use_lsgan:
# use mean squared error
loss = tf.reduce_mean(tf.squared_difference(D(fake_y), REAL_LABEL))
else:
# heuristic, non-saturating loss
loss = -tf.reduce_mean(ops.safe_log(D(fake_y))) / 2
return loss
def _generator_loss(self, disc_fake, use_lsgan=True):
"""  fool discriminator into believing that G(x) is real
"""
if use_lsgan:
# use mean squared error
loss = tf.reduce_mean(tf.squared_difference(disc_fake, REAL_LABEL))
else:
# heuristic, non-saturating loss
loss = -tf.reduce_mean(ops.safe_log(D(disc_fake))) / 2
return loss
def cycle_consistency_loss(self, G, F, x, y):
""" cycle consistency loss (L1 norm)
"""
forward_loss = tf.reduce_mean(tf.abs(F(G(x))-x))
backward_loss = tf.reduce_mean(tf.abs(G(F(y))-y))
loss = self.lambda1forward_loss + self.lambda2backward_loss
return loss
def _cycle_consistency_loss(self, fake_xyx, fake_yxy, x, y):
""" cycle consistency loss (L1 norm)
"""
forward_loss = tf.reduce_mean(tf.abs(fake_xyx-x))
backward_loss = tf.reduce_mean(tf.abs(fake_yxy-y))
loss = self.lambda1forward_loss + self.lambda2backward_loss
return loss
`

Also I believe here
`
fake_Y_pool = ImagePool(FLAGS.pool_size)
fake_X_pool = ImagePool(FLAGS.pool_size)
  while not coord.should_stop():
    # get previously generated images
    fake_y_val, fake_x_val = sess.run([fake_y, fake_x])

    # train
    _, G_loss_val, D_Y_loss_val, F_loss_val, D_X_loss_val, summary = (
          sess.run(
              [optimizers, G_loss, D_Y_loss, F_loss, D_X_loss, summary_op],
              feed_dict={cycle_gan.fake_y: fake_Y_pool.query(fake_y_val),
                         cycle_gan.fake_x: fake_X_pool.query(fake_x_val)}
          )
    )

`
On every iteration we are generating fake images for the discriminator, and then running all of the losses and gradient updates in a second sess run call. This means that we are running the generator twice for every gradient update.  I believe you will get the exact same functionality with
`
fake_Y_pool = ImagePool(FLAGS.pool_size)
fake_X_pool = ImagePool(FLAGS.pool_size)
  # prime previously generated images
  fake_y_val, fake_x_val = sess.run([fake_y, fake_x])

  while not coord.should_stop():
    # train
    _, G_loss_val, D_Y_loss_val, F_loss_val, D_X_loss_val, fake_y_val, fake_x_val, summary = (
          sess.run(
              [optimizers, G_loss, D_Y_loss, F_loss, D_X_loss, fake_y, fake_x, summary_op],
              feed_dict={cycle_gan.fake_y: fake_Y_pool.query(fake_y_val),
                         cycle_gan.fake_x: fake_X_pool.query(fake_x_val)}
          )
    )

`
Except you won't have to do 2 generations for every gradient update. And now that i think about it the first code might be wrong anyway, as when you generate the fake images with
fake_y_val, fake_x_val = sess.run([fake_y, fake_x]) you are using the last generated images. But in reality for the pool code to work as expected you should be feeding in the current fake images 50% of the time. In the first implementation you are never feeding in the current images.

Nice! Let me dig around it.
About image pool, the current images are feeding 50% of the time as in: https://github.com/vanhuyz/CycleGAN-TensorFlow/blob/master/utils.py#L49-L57

Right so my point about the pool is in the current code you have 2 calls to sess.run in every loop. That means that in every loop 2 sets (each set has an image X and Y) of images are being pulled from your queue runner.  You feed in the previously generated fake images which are either (50% from random replay pool) or (50% images generated from A1 and B1). So 50% of the time it is a random one from the past, and 50% of the time it is the one from 1 timestep back. But it is never from the current timestep. So I dont think thats the functionality you want right? Shouldnt it be 50% from past and 50% current ? In addition you are generating two sets of fake images for every gradient update so actually doing more work than you have to.
`      while not coord.should_stop():
# get previously generated images
# Makes a call to image queue
fake_y_val, fake_x_val = sess.run([fake_y, fake_x])
    # train
    # makes a call to image queue
    _, G_loss_val, D_Y_loss_val, F_loss_val, D_X_loss_val, summary = (
          sess.run(
              [optimizers, G_loss, D_Y_loss, F_loss, D_X_loss, summary_op],
              feed_dict={cycle_gan.fake_y: fake_Y_pool.query(fake_y_val),
                         cycle_gan.fake_x: fake_X_pool.query(fake_x_val)}
          )
    )`


Add changelog entries for ServiceBus 7.0.0b3 to python.md

do we need to add ServiceBus under section #### Preview?
do we need to add pip install --pre azure-servicebus under ## Installation Instructions?

do we need to add ServiceBus under section #### Preview?
do we need to add pip install --pre azure-servicebus under ## Installation Instructions?

Thank you as always Adam, I knew I couldn't have gotten this 100% spotless :P.  Fixing.


Why  Handler class is final ?

Hello,
Why final class Handler implements Domain\Generator, Domain\Verifier class is final ?
I'd like to extend it to add a method to only verify if the token is expired ...
Thank you

I would like to point you to this article, it answers the question better than I could :) https://ocramius.github.io/blog/when-to-declare-classes-final/
You can always create your own handler by composition:
<?php

namespace Firebase\Auth\Token;

use Firebase\Auth\Token\Domain\Generator;
use Firebase\Auth\Token\Domain\Verifier;
use Lcobucci\JWT\Token;

class CustomHandler implements Generator, Verifier
{
    /**
     * @var Handler
     */
    private $base;

    public function __construct(Handler $baseHandler)
    {
        $this->base = $baseHandler;
    }

    public function createCustomToken($uid, array $claims = []): Token
    {
        return $this->base->createCustomToken($uid, $claims);
    }

    public function verifyIdToken($token): Token
    {
        $token = $this->base->verifyIdToken($token);

        // Additional checks

        return $token;
    }
}


Allow colspan on th/td

Simple feature request allow colspan={i} on tables (if this is already accessible add it to the tables documentation)

tr and td (and any component/element with all lowercase letters) are part of the DOM, and not part of this library or any library (other than react-dom(?)). There is no documentation needed for this project for those elements since they are not part of this project. If you would like documentation, please see the react DOM docs.
For your reference, what you are looking for is colSpan in JSX


setScheduledCharging format

I am not sure how to send a message to the setScheduledCharging. I am sending this via a function:
// msg.command = 'setScheduledCharging';
msg.commandArgs = {
enable: 1,
time: "2 AM"
};
return msg;
It does seem to kind of work, but no matter what I send, in the app it changes it to 00:00. I tried different time formats (02:00, 2:00AM, 02:00 AM etc.), but same result. Any ideas what I am doing wrong? Also tried enable: true, didnt work either. Thanks in advance!

If I remember well, time is numeric (minutes since midnight local time)
Le mer. 5 juil. 2023 à 21:22, Ivaylo Hitsov @.***> a
écrit :

I am not sure how to send a message to the setScheduledCharging. I am
sending this via a function:
// msg.command = 'setScheduledCharging';
msg.commandArgs = {
enable: 1,
time: "2 AM"
};
return msg;
It does seem to kind of work, but no matter what I send, in the app it
changes it to 00:00. I tried different time formats (02:00, 2:00AM, 02:00
AM etc.), but same result. Any ideas what I am doing wrong? Thanks in
advance!
—
Reply to this email directly, view it on GitHub
https://github.com/onokje/node-red-contrib-tesla/issues/65, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ADUNWNNJBMU4KXH2XWIPDCLXOW5IBANCNFSM6AAAAAAZ7L7VEE
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Thank you, this works!

'enable' should also be a boolean


Add Support for Palguard in Palworld Server Docker

Is your feature request related to a problem? Please describe
I'm looking to enhance the security of the Palworld server by integrating Palguard. Currently, there is no built-in support for Palguard in the Palworld server Docker setup, which limits the ability to protect servers against potential threats and manage permissions effectively.
Describe the solution you'd like
I would like to see the Palworld server Docker setup include support for Palguard. This integration would allow server administrators to easily implement security measures and manage user permissions directly within the Docker environment.
Describe alternatives you've considered
As an alternative, I considered manually configuring Palguard outside of the Docker container. However, this approach is less efficient and complicates the deployment process, especially for those who prefer to manage everything within Docker.
Additional context
Adding Palguard to the Palworld server Docker would streamline the setup process for administrators looking to enhance security. You can find the Palguard repository here: Palguard Repo.

Hi! it seems like the repository has been deleted


Enable Warnings as Errors (possibly also nit-picky) in Sphinx doc generation

We have instances of pages where errors in our doc comments are producing unexpected documentation output. These errors are detectable in Sphinx and we should move that detection to the left in the process.
Sphinx params: https://www.sphinx-doc.org/en/master/man/sphinx-build.html#cmdoption-sphinx-build-W
Example:
See the Raises section here:
Docs page -- https://review.docs.microsoft.com/en-us/python/api/azure-servicebus/azure.servicebus.servicebussender?branch=main&view=azure-python#azure-servicebus-servicebussender-send-messages
GitHub IO page -- https://azuresdkdocs.blob.core.windows.net/$web/python/azure-servicebus/7.5.0/azure.servicebus.html#azure.servicebus.ServiceBusSender.send_messages
Source -- https://github.com/Azure/azure-sdk-for-python/blob/1380f96db18b03e993552973acb99d9170ffeb9f/sdk/servicebus/azure-servicebus/azure/servicebus/_servicebus_sender.py#L401
Fix: Use backticks around the class name.
There are likely other issues and fixes as well.
Internal issue tracking: https://dev.azure.com/ceapex/Engineering/_workitems/edit/548063?src=WorkItemMention&src-action=artifact_link

This is obsolete.  It will be addressed in a different way once we get the REX validation tool for Python from the docs team (delivery is imminent).


Bump crashpad version to fe52a01 (Chrome 79.0.3945.88)

This bumps the crashpad version to fe52a01df1e9c8a5fe8b92872d4bf8689d0cd3b4 which is bundled into latest stable Chrome 79.0.3945.88.
The patch fix_xcode_build.patch was a backport of mini_chromium 45afa1fffa586207a716ec43f2e6fa27534e9f13 which is now part of this upstream revision.

@reneme Thanks for providing this PR!


Hook actionAdminOrdersListingFieldsModifier

Order list ornaments added with javascript spoil order list exported to CSV.

Any idea how to solve this? The data returned by hook are already html tags

And this functionality on this hook is needed for something?

This is generic problem of thirty bees core -- html content should not make it to CSV export. I have created new bug for this.
I have no idea what this custom stripe column is good for. Probably for people using manual capture, so they can quickly determine which orders requires their attention.


Sui Code Bug error: failed to run custom build command for prost-build v0.10.4``

Describe the bug
Running cargo run --release --bin sui-node -- --config-path fullnode.yaml command ends with error:
error: failed to run custom build command for `prost-build v0.10.4`

Caused by:
  process didn't exit successfully: `/root/sui/target/release/build/prost-build-ee4a03dc6159291b/build-script-build` (exit status: 101)
  --- stdout
  cargo:rerun-if-changed=/root/.cargo/registry/src/github.com-1ecc6299db9ec823/prost-build-0.10.4/third-party/protobuf/cmake
  CMAKE_TOOLCHAIN_FILE_x86_64-unknown-linux-gnu = None
  CMAKE_TOOLCHAIN_FILE_x86_64_unknown_linux_gnu = None
  HOST_CMAKE_TOOLCHAIN_FILE = None
  CMAKE_TOOLCHAIN_FILE = None
  CMAKE_GENERATOR_x86_64-unknown-linux-gnu = None
  CMAKE_GENERATOR_x86_64_unknown_linux_gnu = None
  HOST_CMAKE_GENERATOR = None
  CMAKE_GENERATOR = None
  CMAKE_PREFIX_PATH_x86_64-unknown-linux-gnu = None
  CMAKE_PREFIX_PATH_x86_64_unknown_linux_gnu = None
  HOST_CMAKE_PREFIX_PATH = None
  CMAKE_PREFIX_PATH = None
  CMAKE_x86_64-unknown-linux-gnu = None
  CMAKE_x86_64_unknown_linux_gnu = None
  HOST_CMAKE = None
  CMAKE = None
  running: "cmake" "/root/.cargo/registry/src/github.com-1ecc6299db9ec823/prost-build-0.10.4/third-party/protobuf/cmake" "-Dprotobuf_BUILD_TESTS=OFF" "-DCMAKE_INSTALL_PREFIX=/root/sui/target/release/build/prost-build-07624424f92a2ec8/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_C_COMPILER=/usr/bin/cc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_CXX_COMPILER=/usr/bin/c++" "-DCMAKE_ASM_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_ASM_COMPILER=/usr/bin/cc" "-DCMAKE_BUILD_TYPE=Debug"
  --
  -- <IP_ADDRESS>
  -- Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /root/sui/target/release/build/prost-build-07624424f92a2ec8/out/build
  running: "cmake" "--build" "." "--target" "install" "--config" "Debug" "--parallel" "2"

System Information

OS:

Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.6 LTS
Release:	18.04
Codename:	bionic

Compiler:
make

GNU Make 4.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

cmake
cmake version 3.10.2
CMake suite maintained and supported by Kitware (kitware.com/cmake).

Thanks for the report -- this looks like a protobuf dependency is missing. Assigning to @bmwill who might have seen this before.

Thanks for the report -- this looks like a protobuf dependency is missing. Assigning to @bmwill who might have seen this before.

@bmwill solve this proble with installing libprotobuf-dev protobuf-compiler and clang


centralasian.txt

updates

@KamoliddinS First stage of verification passed, official domain is centralasian.uz as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@KamoliddinS Thank you for your patience while waiting for a review and processing your request. Pull request merged.


num_tokens_from_messages off by 1 token count

Today I found that the calculation was wrong when I was calculating the token size for gpt-3.5-turbo

@ted-at-openai

Can you give an example? The counts match in the example in the notebook.

const numberOfTokensFromTurboMessages = (
  messages: Array<ChatCompletionRequestMessage>,
) => {
  // Extend existing encoding with custom special tokens
  const encoding = encoding_for_model('gpt-3.5-turbo');
  let numTokens = 0;
  messages.forEach((message) => {
    numTokens += 4; // every message follows <im_start>{role/name}\n{content}<im_end>\n
    Object.keys(message).forEach((key) => {
      const value = message[
        key as keyof ChatCompletionRequestMessage
      ] as string;
      numTokens += encoding.encode(value).length;
      if (key === 'name') {
        // if there's a name, the role is omitted
        numTokens += -1; // role is always required and always 1 token
      }
    });
  });
  numTokens += 3; // every reply is primed with <im_start>assistant
  encoding.free();
  return numTokens;
};

const tokensLength = numberOfTokensFromTurboMessages(messages);
const modelMaxTokens = 4096 - tokensLength;
await openai.createChatCompletion({
      model: 'gpt-3.5-turbo',
      messages, // messages: Array<ChatCompletionRequestMessage>,
      max_tokens: maxTokens,
     ...
});

@ted-at-openai
I simplified the code that I'm using and it used to give off by 1 error and now it works with the change.

https://github.com/openai/openai-cookbook/pull/254

FYI, we just changed how we count tokens on our backend. Total token consumption is the same, but we're now counting one more token as part of the prompt and one less for the completion. I'll update the code. Be aware that this may change again in the future.

Fixed in #278


Cursor was missing when compiled in PLATFORM_DRM when using raygui.

Cursor was missing when compiled in PLATFORM_DRM when using raygui while mouse events were normal. e.g. examples/shapes/shapes_draw_rectangle_rounded.c .

@VisionShilin This is as design, it's up to the user to draw some kind of graphic reference for the mouse because PLATFORM_DRM works over the kernel (no windowing system) and the mouse cursor is provided by the windowing system.


Add auto-generated README.md for videointelligence API

Fixes #2320

Coverage remained the same at 100.0% when pulling 355777f097e1b250c6ed78b4fa5596c009b105ec on swcloud:videointelligence into 13ec5fef0da92b74e7adf7a2479f8c1636be72d4 on GoogleCloudPlatform:master.

Coverage remained the same at 100.0% when pulling 2b774418d04ede1198db9803ae531b015387e6ed on swcloud:videointelligence into 13ec5fef0da92b74e7adf7a2479f8c1636be72d4 on GoogleCloudPlatform:master.

@stephenplusplus Please approve and merge if everything looks ok.


Add keyword expansion for the śabdakalpadruma

The śabdakalpadruma expects that words are started in their prathamā-ekavacana form, e.g. राजा for राजन्. Let's reuse the "keyword expansion" approach we applied for Apte. That is, for certain search terms, we should expand the search list for possible variants:
अरुण -> अरुणं, अरुणः, अरुण
राजन् -> राजन्, राजा, राज
And so on.

Added in 64151d90279912a32fff40d8ff6976dba941a15b.


Fixed kerberos keytab attribute name in defaults

+1

+1 to fix.  -1 to breaking Travis build.

That should be fixed with https://github.com/cerner/cerner_kafka/pull/60. Specifically this change here, https://github.com/cerner/cerner_kafka/pull/60/commits/622ea0740c9d66c9cbb4bb5f6bf21dc7f6a9f644

Merging with the assumption that if Travis doesn't get fixed you'll open a new issue.


opt add config balance_slot_num_per_path

Proposed changes
Make balance_slot_num_per_path configurable.
Problem summary
Describe your changes.
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[ ] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

Doc should be added. It seems that there is a config similar to the one ?

run buildall

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 35.48 seconds
stream load tsv:          446 seconds loaded<PHONE_NUMBER>9 Bytes, about 159 MB/s
stream load json:         22 seconds loaded<PHONE_NUMBER> Bytes, about 102 MB/s
stream load orc:          59 seconds loaded<PHONE_NUMBER> Bytes, about 17 MB/s
stream load parquet:          30 seconds loaded 861443392 Bytes, about 27 MB/s
insert into select:          25.7 seconds inserted 10000000 Rows, about 389K ops/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230525030731_clickbench_pr_150088.html


fix: safari user select

Description

[!TIP]
Add a TL;DR when the description is longer than 500 words or extremely technical (helps the content team).
Please also include relevant motivation and context. List any dependencies that are required for this change. Add links to Notion, Figma or any other documents that might be relevant to the PR.

Fixes #Issue Number
or
Fixes Issue URL

[!WARNING]
If no issue exists, please create an issue first, and check with the maintainers if the issue is valid.

Automation
/ok-to-test<EMAIL_ADDRESS>:mag: Cypress test results

[!TIP]
Tests running at: https://github.com/appsmithorg/appsmith/actions/runs/8570886935
Commit: 4bccb4550415db2e1afbf0266485e5fd7eed41ef
Workflow: PR Automation test suite
Tags: ``

/build-deploy-preview skip-tests=true

/build-deploy-preview skip-tests=true


Automated Package Upgrade

:tada: This PR is included in version 5.3.88 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Error submitting the deployment request.

Error submitting the deployment request.
Additional details from the underlying API that might be helpful: The template deployment 'Microsoft.Template' is not valid according to the validation procedure. The tracking id is '7236b657-9bf1-4461-b016-9cb3bd37c03b'. See inner errors for details. Please see https://aka.ms/arm-deploy for usage details.

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

ID: 5978df0f-98f5-f365-1912-48fc8c27566e
Version Independent ID: 4f2b4216-1cc7-a267-eee4-d7716ce5ed03
Content: CI/CD pipeline for container-based workloads - Azure Example Scenarios
Content Source: docs/example-scenario/apps/devops-with-aks.md
Service: architecture-center
GitHub Login: @iainfoulds
Microsoft Alias: pnp

Hi @ntmsstudents Thank you for reporting this issue! We will review and make any necessary changes.

@ntmsstudents I've created a PR that fixes this issue: https://github.com/mspnp/solution-architectures/pull/6
In meantime, please refer to this comment on workaround: https://github.com/mspnp/solution-architectures/issues/5#issuecomment-473444558
We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


(A11y severity 1) Investigate accessibility of preview documents

(Given the constraints of pdf2htmlEX this may not be fixable.)
The documents within the preview don’t read properly. Some sentences are read while entire sections are either skipped or no information is presented.
Also need to ensure any work here doesn't conflict with annotations.

@stuartf If it's not already part of the full content search, we'll want to restructure the text output to be page-based and save the results with the html.

Note that the full content search is currently blocking the 10.0 release, and this extra work should happen in a follow-up PR. @sathomas : Can you create a Hilary ticket for this?

This is a lot simpler than I was originally thinking, but it seems to work pretty well. There is an edge case that's not handled—if the signature expires after the request for a page HTML but before the request for a page text, then the text version won't get loaded. The chance of that happening seems vanishingly small, though, so I'm not sure if it's worth the complication to handle it. To @nicolaasmatthijs

Finished review. Back to @sathomas for follow-up.

Refactored the page loading code. This version handles the race condition of signature expiry in between HTML and text requests. To @nicolaasmatthijs for review

Finished review. Back to @sathomas for follow-up.

Finished review. Back to @sathomas for follow-up

refactored as callbacks; over to @nicolaasmatthijs

Left some more review. Back to @sathomas for follow-up.

I think everything's addressed in the follow-up, but my memory is hazy so I may be missing something. Back to @nicolaasmatthijs for review.
BTW the Travis CI jshint warning makes absolutely no sense:
shared/oae/api/oae.api.group.js
    310 |    }
              ^ Missing semicolon.

That file only has 284 lines total in it. Running grunt jshint locally shows no errors.


Memory Leak on frequent media change

Hello Sascha,
I just got some time to test your implementation, which is pretty impressive!
One thing I currently struggle with a large memory leak:
I developed a WPF application that shows images and videos that are located in a folder one after another with a nice fade effect by using two MediaUriElement controls and animating their opacity. With every image change the application uses about 30-50 MB more space RAM, and at about 600 MB it crashes with a "no more memory" error message.
I can provide an example project if needed.
Kind regards,
Klemens

Hello Klemens,
Are you using the EVR presenter? I created a WPF Application also that has a macro to switch video streams in a bank of 4 monitors. Each time I switch video streams I tear down and open a new EVR Presenter. I have narrowed it down to this area. It seems there is a handle leak in the C++ Evr Component (~16 handles remain open after I start and stop a video stream). Do you have a similar experience? Any input Sascha?
Thanks,
Ryan

Hi Ryan,
no, I am using the WPFMediaKit.DirectShow.Controls.MediaUriElement control and the functions/properties as follows:
grid.Children.Clear();
MediaUriElement media = new MediaUriElement();
media.Loop = true;
media.LoadedBehavior = WPFMediaKit.DirectShow.MediaPlayers.MediaState.Manual;
media.UnloadedBehavior = WPFMediaKit.DirectShow.MediaPlayers.MediaState.Stop;
media.Volume = _viewModel.Background.IsVideoMuted ? 0 : 1;
if (System.IO.File.Exists(videoFilename))
{
media.Source = new Uri(videoFilename, UriKind.RelativeOrAbsolute);
this.btnPlayMedia.ToolTip = "Video: " + videoFilename;
}
media.Stretch = Stretch.Uniform;
if (_viewModel.Background.FitToPage)
media.Stretch = Stretch.Fill;
grid.Children.Add(media);
if (isPlaying)
media.Play();
else
media.Stop();

Hi Ryan again,
ah yes, as VideoRenderer is the EVR set.
Best regards,
Klemens

Klemens,
I will let you know if I figure anything out. I spent some time on the leak but needed to move on to something else.
Ryan

Hi Ryan,
do you have any news regarding the memory leak issue?
Kind regards,
Klemens

Klemens,
The issue is still outstanding for me. I hope to look into it soon and can hopefully find a solution.
Ryan

Hi Ryan and Klemens,
I've seen the new version of EVRPresenter and all great job and great new functionalities available. So I changed from the old EVRPresenter64.dll (release 1.5) to the last one v2.0 and ran into the same problem with handles :(
I've got a software displaying various content (videos, DVD, capture devices, ...), all using excusively EVR. I let the software run with the new EVRPresenter for about 10 hours on three computers. One crashed after an hour, the second one after 4 hours and the last one is still running but uses now 80'000 handles.
I'm sure the leak is in EVRPresenter as it was running OK with the old version and nothing else changed. It looks like you are working on a solution? Do you think you'll find something very soon or should I rollback my changes?
Thank you in advance for your help & replies.
Gaël

Hi Gaël,
I have spent some time trying to find the leak but with no success.
Just wondering where I could get a copy of the code from release 1.5 and what is different in the new version 2 compared to the old version.
I would like to try the old presenter you are talking about in order to see if it solves my problem and still has the functionality that I am looking for. Then maybe comparing the two I could try to find where things went wrong.
Thanks,
Ryan

Hi Ryan,
Unfortunately I can't help much on EVR code as this is c++ and I don't understund it as well as C# and other object-oriented languages.
However I think from what I read on the websites (old mediakit and new one) that the current (new version 2.0) includes DXVA decoding and some other new stuff about graphs. I can imagine that the leak is located somewhere there or in new dependancies?
Is there any way we can deactivate some parts of the codes (graph changes or DXVA) so we can retest without these functionalities and locate the problem?
You can find the old code I used on the old website, both EVR and mediakit v1.5 source & binaries (https://wpfmediakit.codeplex.com/SourceControl/latest). I always worked with the already compiled EVR dlls from the downloadable realease while using mediakit source code at the same time.
Other things I've seen with the new version (don't know if it could be related):

The register callback method has been moved (or duplicated?) from IEVRPresenterRegisterCallback to IEVRPresenterSettings
The new EVR seems to not work correctly if not calling GetBufferCount. The old EVR did not need that.
With new EVR, it seems like when I load the graph for the first time, the first played video starts then makes a short pause and then continues. Did not see that behaviour before.
Loading EVR dlls (both new and old) using the "old way" in EvrPresenter.cs (using DLLImport attribute) seems to work for both (old and new) and therefore excludes that the leak is located in c# part of the code
When loading many videos in parralele using old EVR (don't know if it is still the case with the new one), the section where we create the presenter, set the callback, setVideoWindow handle, .. must be thread safe and in a specific order (otherwise it crashes, but not always..)
I've got one more thing with the D3D object lock when setting backbuffer in multithreaded app but didn't find why nor how to solve it for now.

Don't know if all these details might help? Maybe the one who made all the additional changes in EVR might help a bit more?
Let me know if I can help in any way.
Best Regards,
Gaël

Any news?
Is there any way to contact Sascha as he seems to be the one who did all the great changes inside EVR Presenter. He might surely be able to help?

Hi Gaël,
I tried the old presenter and it seemed to behave the same way as the new one for me unfortunately.
The area I suspect to contain the handle leak is the scheduler thread in the Presenter. When I execute actions on my directshow graph which causes the OnClockStart, OnClockStop, etc. methods to be called and the scheduler thread is stopped, destroyed and restarted, more handles are added to the process. However, I couldn't yet find anywhere that would be leaking handles in that area.
As per your points you mentioned:
The register callback method has been moved (or duplicated?) from IEVRPresenterRegisterCallback to IEVRPresenterSettings
This just added a method to the interface (I did notice it was not removed from the old one though) however I don't think this is a factor.
The new EVR seems to not work correctly if not calling GetBufferCount. The old EVR did not need that.
I do not call GetBufferCount and my video plays properly.
With new EVR, it seems like when I load the graph for the first time, the first played video starts then makes a short pause and then continues. Did not see that behaviour before.
I do not see this.
Loading EVR dlls (both new and old) using the "old way" in EvrPresenter.cs (using DLLImport attribute) seems to work for both (old and new) and therefore excludes that the leak is located in c# part of the code
I have tried also not using COM to load this DLL directly. In my application, I made a C++ component which makes the calls to Directshow (instead of using DirectShow.net) and I have tried using the EvrPresenter directly by creating/destroying the object manually using the lib file but the leak is still there so it seems it is deeper than the general loading of the presenter.
When loading many videos in parralele using old EVR (don't know if it is still the case with the new one), the section where we create the presenter, set the callback, setVideoWindow handle, .. must be thread safe and in a specific order (otherwise it crashes, but not always..)
I do notice occasional crashes when loading multiple video streams, especially after switching videos for a while.
Also, there has been no activity from Sascha since I first visited. I also looked at the projects that have forked from this but noticed no recent activity or changes related to our issue there either.
I will let you know if I have any success. My efforts in this area are off and on depending on how busy I am so hopefully I have some time to put into it soon.
Ryan

Is this same problem as #21 ?

Hello, can you try the latest source, with the fix #27?

Closing as probably fixed.

I could finally test the newest version integrated into a test project, and voila: no more memory leaks! Thats great, thank you so much!!!


documented autoloading plugins for yardoc usage

to solve ticket #929:
yard config load_plugins true

Closed PR; opened nes PR https://github.com/lsegal/yard/pull/934 instead.

I decided to rework the majority of the section since a lot of it was heavily outdated anyway (it actually suggested to install a gem using gemcutter.org as a source!). I removed the notes about versions, since most of this is no longer relevant.
Thanks for bringing this old doc to my attention though!


Add failing test about conflicting routes

Illustrating issue https://github.com/aristotelesbr/lennarb/issues/53

Converting this to draft, because it's red (by intention)

Hi @ahx,
I'm not entirely sure, but this PR might address the issue you reported here.
Let me know if you get a chance to test it! 🙃

Thank you for your contribution. I fix it here: https://github.com/aristotelesbr/lennarb/pull/54 🙏


replaced react-native-tcp dependency, made logging optional

Sorry there, this was meant for my own fork!


Merge all B team code to main

Summary
Originally I thought it would be a good idea to have B team code live on its own development branch. Now I see that this is not the right direction to go. Instead, we should merge all B team code to main, and then add configuration constants to turn on/off B team features.
Once all B team code is merged to main, B and C team should both continue to contribute new features to main. When testing the code, C team will need to create a test branch that uses the configuration constants to turn off B team features. B team features will be enabled on main by default.
Work Scope

Merge b-team-dev into main
Merge any other B team code based on b-team-dev into main

This should be done as of Wednesday


chore(ThemeWeeks): Create codeowners

The selected code owners in this PR are either because of their team or individual contributions to the codebase, a recent PR, or because more specific code owners were not identified.
Here are some possible paths forward.
approve the PR :)
accept that this is a "first effort", approve the PR, and we can iterate as pain is felt and more specific code owners are identified.
archive (or delete) the repo.
Any major concerns can be discussed in #codeowner-questions-comments-concerns-upheavals
We would prefer any discussion to happen in the slack channel rather than here, because the opener of this PR is not necessarily the one who made the selection.

I'm going to archive this.


PR #177 (AppVeyor: Build Qt5.12 32- and 64-bit targets) Final fix

Fixed #111

Download:
Environment: QT=5.12, ARCH=32, PYTHON_PATH=C:\Python35
installer/trik-studio-installer-master-i686.exe
trik-studio-master_qt5.12_i686.zip
Environment: QT=5.12, ARCH=64, PYTHON_PATH=C:\Python35-x64
installer/trik-studio-installer-master-x86_64.exe
trik-studio-master_qt5.12_x86_64.zip


fixed single lookup v3 endpoints

Links for org, people and product lookups differed from the current docs (https://data.crunchbase.com/) and returned an HTML error page instead of the expected JSON.
This PR fixes that

Thanks! 🐬 🍪 💯


#1669 Remove glowing effect from everywhere

Thank you for your contribution to the KodaDot NFT gallery.
👇  _ Do a quick check before the merge.
PR type

[ ] Bugfix
[ ] Feature
[ ] Refactoring

Before submitting Pull Request, please make sure:

[ ] My contribution builds clean without any errors or warnings
[ ] I've merged recent default branch -- main and I've no conflicts
[ ] I've tried respect high code quality standards
[ ] I've didn't break any original functionality
[ ] I've posted screenshot of demonstrated change in this PR

Optional

[ ] I've tested it at </rmrk/collection/26902bc2f7c20c546a-1FVG7>
[ ] I've tested PR on mobile and everything works
[ ] I found edge cases

What's new?

[ ] PR closes #1669

Had issue bounty label ?

[ ] Fill up your KSM address:
Payout

Community participation

[ ] Are you at KodaDot Discord?

Screenshot

[ ] My fix has changed something on UI, a screenshot for others, is best to understand changes.

@prachi00 missing border on collection cards?

@roiLeo for me it is visible, was there something specific you did?

Seems @roiLeo had some older build? WFM

Seems @roiLeo had some older build? WFM EDIT on gallery.

@prachi00 on collections it doesn't work

weird, for me it is visible, I'll check again @yangwao

@yangwao @roiLeo on local it is visible to me, on the preview link it is not, also there are two collections.vue file, just noticed, I added the code on both of them, probably should be visible now.
P.S do we need two collections.vue file?

Perfect, I’ve sent the payout https://kusama.subscan.io/extrinsic/0x2fb9ca7ad7da0ccf00cead49e2215588ad5fa8d7314c6f1a26a5655ef36c3c6a
Let’s grab another issue and get rewarded!
https://github.com/kodadot/nft-gallery/issues/


backport geotrek mapentity

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@69a53fb). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #197   +/-   ##
=========================================
  Coverage          ?   85.44%
=========================================
  Files             ?       33
  Lines             ?     2632
  Branches          ?        0
=========================================
  Hits              ?     2249
  Misses            ?      383
  Partials          ?        0

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 69a53fb...b854d2e. Read the comment docs.


Enable TypeScript Rules (without requiring type checking rules)

The goal of this PR is to be used for evaluating the TypeScript Rules used in typescript.js.
To test locally, you can add the devDependencies to a project with:
npm install -D<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
And extract the tgz from the npm package build artifact and run:
npm install -D ni-eslint-config-1.0.0-alpha.11.tgz

This PR also makes a few additional changes:

Adds a tool usable via npm run dev-print-typescript-props to print the properties expected in each of the TypeScript configurations based on the installed typescript-eslint version. This helps in maintenance of tracking changes to the typescript-extension rules.
Adds basic smoke tests for the typescript and typescript-requiring-type-checking configurations
Adds the typescript-requiring-type-checking rules (the rules themselves are not target for discussion in this PR and are currently commented out).
TypeScript Extension rules were separated into different files and split by those rules requiring type checking and those that don't. In addition they were synced with the current NI configuration / Airbnb configuration that defines them for eslint.

If anyone else is doing this on a Mac, note that the built-in Archive Utility seems to try to recursively unpackage files. So I was very confused as to where ni-eslint-config-1.0.0-alpha.11.tgz was, but it turns out the utility was automatically unpacking that as well.

@typescript-eslint/no-invalid-void-type
I'm still wading my way through the Document Manger lint errors, but one of the interesting examples that came up was this piece of an observable chain:
switchMap((webapp: WebApp): Observable<[Document, void]> => combineLatest([this.getDocumentFromWebApp(webapp), this.loadDocuments(this.activePlugin)])),

On a glance, it seems reasonable - it's a combineLatest where one of the observables is void. However, I'm not sure if there's a better method in RxJS for accomplishing the same thing while avoiding the void type. We could consider turning on allowInGenericTypeArguments for these use cases.

@typescript-eslint/no-invalid-void-type
I'm still wading my way through the Document Manger lint errors, but one of the interesting examples that came up was this piece of an observable chain:
switchMap((webapp: WebApp): Observable<[Document, void]> => combineLatest([this.getDocumentFromWebApp(webapp), this.loadDocuments(this.activePlugin)])),

On a glance, it seems reasonable - it's a combineLatest where one of the observables is void. However, I'm not sure if there's a better method in RxJS for accomplishing the same thing while avoiding the void type. We could consider turning on allowInGenericTypeArguments for these use cases.

I'm not sure, but is this something where never can be used? Or does this cause an error because loadDocuments returns void?

I'm not sure, but is this something where never can be used? Or does this cause an error because loadDocuments returns void?

Never implies that a value is never provided, like if the observable always errored in which case no values would ever be provided. I'll have to run this rule over my code, but assigning void to variables doesn't make much sense. In @mure 's case, combineLatest expects values, so unless it is mapped to a single value then undefined is probably correct.

@mure I'll go ahead and merge this since we have most reviewers. If you have feedback we can address it in a follow-up PR.


chore: remove beacon endpoint from env.samples

Assuming beacon endpoint is removed based on #290

Hey @brachsterX, it's still used by proposer and the l2_execution_engine profiles, just not prover.


Update io.kubernetes for jose4j vulnerability (WOR-1040).

We are seeing in Rawls that jose4j 0.9.2 is being brought in through io.kubernetes 17.0 via terra-common-lib 0.91.SNAPSHOT.

I see that @zloery pinned jose4j in https://github.com/DataBiosphere/terra-common-lib/pull/109, but did not upgrade io.kubernetes. When I upgrade io.kubernetes, it updates jose4j and we can remove the pinning.

Ugh, but I see the comment from @zloery : "This is brought in via io.kubernetes:client-java, but newer versions of that library have incompatible dependencies with Spring until we move to Spring Boot 3". So we can't upgrade io-kubernetes to version 18? :(

Ugh, but I see the comment from @zloery : "This is brought in via io.kubernetes:client-java, but newer versions of that library have incompatible dependencies with Spring until we move to Spring Boot 3". So we can't upgrade io-kubernetes to version 18? :(

Yeah, that was the issue I hit doing this upgrade before - I think the conflicting libraries were org.yaml:snakeyaml and org.slf4j:slf4j-api. Spring isn't happy with the new major versions that kubernetes client-java pulls in, but it might be possible to pin those libraries to the current versions if io-kubernetes 18 is still compatible with them. I prefer avoiding strict version constraints where possible so I didn't experiment with that much, but that might be worth trying if you can't get Rawls to use the right version otherwise.
This is also probably a good nudge on upgrading our services to spring boot 3, I'll check in on the current state of that


[ListItemText] Prevent rendering plain object

Passing jsx tags as primary or secondary props to ListItemText causes React to throw invariant violation error: Uncaught Invariant Violation: Objects are not valid as a React child…. According to PropTypes they can be of any renderable type, but inside the component there is a faulty wrapping in the plain object in case they are not strings

@lagunoff I confirm, I get the same error using
<ListItemText primary={<span>{`Line item ${index + 1}`}</span>} />

I'm gonna fix the CI build and add a test for this use case.
@lagunoff Thanks!

Hi, I'm having a bug in my project related to this issue. I'm wondering in which version of mui is this bug fixed? And if I don't update the version of mui, is there are work around to this issue? Thanks a lot!

@liutongchen This issue is 1 year old+ I have not idea.


Label suggestions

I think we can make our labels a bit more clear by making them multi-part with a delimiter (: or /). Many other projects do this, e.g. matplotlib. I don't have other great examples off the top of my head. What other projects are absolutely rocking the labels?
To start with, I propose:

https://github.com/nsidc/earthaccess/labels/automation -> impact/automation
https://github.com/nsidc/earthaccess/labels/bug -> type/bug
https://github.com/nsidc/earthaccess/labels/dependencies -> impact/dependencies
https://github.com/nsidc/earthaccess/labels/documentation -> impact/documentation
https://github.com/nsidc/earthaccess/labels/duplicate -> type/duplicate
https://github.com/nsidc/earthaccess/labels/enhancement -> type/enhancement
https://github.com/nsidc/earthaccess/labels/feedback requested -> needs/feedback
https://github.com/nsidc/earthaccess/labels/github_actions -> remove, we have the impact/automation label for this
https://github.com/nsidc/earthaccess/labels/good first issue -> keep as-is, this is a special label we want to optimize for searchability
https://github.com/nsidc/earthaccess/labels/hackathon -> ?
https://github.com/nsidc/earthaccess/labels/help wanted -> needs/help
https://github.com/nsidc/earthaccess/labels/invalid -> remove? unused.
https://github.com/nsidc/earthaccess/labels/python -> remove? unused. or: impact/library. Or impact/core in preparation for a future impact/plugin label.
https://github.com/nsidc/earthaccess/labels/question -> remove? Should use GitHub discussions?
https://github.com/nsidc/earthaccess/labels/wontfix -> type/will-not-do (using a contraction in a label without spacing is really hard to read even as a native English speaker - we can be more inclusive :) )

#281 offers us a mechanism to automatically apply these labels as issues are created. It also offers a mechanism to remove or avoid some labels by directing users away from Issues and towards a more appropriate place, e.g. type/feature-request need not exist as a "request" should (IMO :) ) start in Discussions and only become an issue once we agree it is a feature we will implement. Same for type/question.
I also propose colorizing the items based on the group they're in!

@mfisher87 I took an initial stab at this:

After looking at the matlab example I was actually keen to use a : instead of / as the delimiter, as a slash could imply either/or. This seemed more intuitive to me.
I updated colors to be mostly consistent per grouping, but I'm not set anything if we want to change the color schemes. I did keep type: bug as red to highlight bugs specifically but I can change this if it's confusing.
For all labels you suggested to remove I made sure to check on existing issues. For the github_actions label in particular, I went ahead and deleted, but I wasn't sure if dependabot was adding this automatically or not (see #885 as an example).
I deleted hackathon and added needs: help if it didn't already exist. It feels like we can use needs: help to identify issues that are good candidates to work at a hackday.

I still need to go through type: question. We have 8 open issues so I wanted to dig into those more before simply converting those to discussions or doing anything else with that one.

Amazing work! I love how organized the labels page feels now :star_struck:

After looking at the matlab example I was actually keen to use a : instead of / as the delimiter, as a slash could imply either/or. This seemed more intuitive to me.

Makes sense to me too!

I updated colors to be mostly consistent per grouping, but I'm not set anything if we want to change the color schemes.

Not sure I understand the bold part. My main thought on the colors is that the "impact" category color is too close to the "good first issue" color, which I think should keep its default color for recognizability.

I deleted hackathon and added needs: help if it didn't already exist. It feels like we can use needs: help to identify issues that are good candidates to work at a hackday.

Reasonable! We hadn't developed a pattern of using that label in the actual hackathons so it wasn't really serving its purpose.

I missed a word above, no wonder that didn't make sense!

I'm not set on anything if we want to change the color schemes.

I thought the same thing on the colors being too close together on those categories - I'll update now.

Oh, of course! How did I miss that :laughing: Thanks, Amy!

I reviewed all issues with the question label and either converted to discussion or updated the label to needs: feedback depending on the context. I think this is good to close out unless you see anything else we're missing here @mfisher87 !

Awesome work! I think we're good to call this "complete" as well. :star_struck:


boards: nucleo_wb55: align partition boundaries

This MCU has sectors of size 4096, but some partitions were aligned to 0x800 addresses. MCUBoot detects this incosistency and halts. This patch fixes the partitions to use properly aligned addresses (multiples of 0x1000).

@rickonrey, this PR solves the issue I see with #19909.
Comparing changes, seems that @utzig took care not to extend partitions over 0xcb000.

Adding the correct username: @rickconrey
Sorry, I completely missed the original PR; I had originally discussed this with Rick on the MCUBoot channels. I don't mind closing this PR if the other one is fixed up (just want it to work for me!). The reason the previous PR didn't work was that the BLE stack starts at 0x080CC000 which is overwritten if you don't shrink the last partition after those adjustments.

@utzig I'll close mine. this one is fine for me


A ServiceEntry duplicating existing Service ruins ingressgateway

Bug Description
Steps to reproduce:

Deploy ingressgateway.
Create a Gateway:

apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
  labels:
    app: ingressgateway
  name: ingressgateway
  namespace: d8-istio
spec:
  selector:
    app: ingressgateway
  servers:
  - hosts:
    - '*.ice.local'
    port:
      name: tls
      number: 15443
      protocol: TLS
    tls:
      mode: AUTO_PASSTHROUGH

Create a Service:

apiVersion: v1
kind: Service
metadata:
  name: hello-breaker
  namespace: c1
spec:
  ports:
  - name: http
    port: 8888
    protocol: TCP
    targetPort: 5000
  selector:
    app: hello
  type: ClusterIP

Create a ServiceEntry:

apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
  name: hello-breaker-svc
  namespace: c1
spec:
  hosts:
  - hello-breaker.c1.svc.ice.local
  location: MESH_INTERNAL
  ports:
  - name: http
    number: 8888
    protocol: TCP
  resolution: DNS
  workloadSelector:
    labels:
      app: hello

Restart ingressgateway pod and see the error:

2023-04-12T18:02:25.187207Z	warning	envoy config	gRPC config for type.googleapis.com/envoy.config.listener.v3.Listener rejected: Error adding/updating listener(s) <IP_ADDRESS>_15443: error adding listener '<IP_ADDRESS>:15443': filter chain '' has the same matching rules defined as ''

💡  I suspect, it is because control-plane generates two filterChains with the same filterChainMatch for a single listener:
# ./istioctl -n d8-istio proxy-status ingressgateway-44c4x | sed -e 's/^-//' -e 's/^+//' -e 's/^Routes Match//' -e '1,4d' > status.json
# cat status.json | jq '.dynamicListeners[].activeState.listener.filterChains[] | select(.filterChainMatch.serverNames[0] == "outbound_.8888_._.hello-breaker.c1.svc.ice.local") | .filterChainMatch'
{
  "serverNames": [
    "outbound_.8888_._.hello-breaker.c1.svc.ice.local"
  ],
  "applicationProtocols": [
    "istio",
    "istio-peer-exchange",
    "istio-http/1.0",
    "istio-http/1.1",
    "istio-h2"
  ]
}
{
  "serverNames": [
    "outbound_.8888_._.hello-breaker.c1.svc.ice.local"
  ],
  "applicationProtocols": [
    "istio",
    "istio-peer-exchange",
    "istio-http/1.0",
    "istio-http/1.1",
    "istio-h2"
  ]
}

Version
./istioctl version
client version: 1.16.1
istiod version: 1.16.2
data plane version: 1.16.2 (11 proxies)

kubectl version --short
Client Version: v1.22.17
Server Version: v1.22.17

Additional Information
No response
Affected product area

[ ] Ambient
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Control Plane Revisions

What's your use case BTW?

What's your use case BTW?

User without experience tried to solve a task and it was a mistake to use ServiceEntry, we don't need it actually. But the ServiceEntry wasn't deleted after experiments and our multicluster got broken after we restarted ingressgateways later.

The problem is that anyone can break the ingressgateway by creating a ServiceEntry in their namespace and this problem is hard to debug.


l2md: init at unstable-2020-07-31

l2md is a tool for converting public-inbox archives [1] to maildir
messages.

[1] https://80x24.org/public-inbox.git/about/

Reviewed-by: William Casarin<EMAIL_ADDRESS>Message-Id<EMAIL_ADDRESS>Link: https://lists.sr.ht/~andir/nixpkgs-dev/patches/20022

@ofborg eval


Build shared libraries on roc run ..., roc dev ..., and roc ...

dependent on #5398 so that it can work with packaged platforms.
These commands do not need create an output binary. Only roc build needs to do that.
In order to get really fast linking for all of these, generate a shared library (to start just using system linker) to a tmp dir.
Then run the raw host file with the newly generated shared library (we may need to standardize how the host is setup to link with the app or update the link file path).
This will enable practically instant linking on all platforms.
The eventual goal is to remove the system linker dependency. Instead, we would generate the shared libraries from scratch. This should not be that hard given the only dependency is the platform. It also should make this path always faster than the current surgical linker. The surgical linker would then only be used with roc build where an output executable is wanted.
As a note, in my testing, using the system linker tends to take about 40-60ms (way better than the 1-2s of the legacy linker). The surgical linker on the other hand varies based on the platform size. From my testing was between 15ms and 150ms (and generally towards the low end).

Extra note, when updating this, we will need to change platforms to link with -rdynamic otherwise they won't properly expose symbols to the shared library.


Can't change parameters

Windows Terminal version
1.17.11461.0
Windows build number
10.0.22621.0
Other Software
PowerShell (From Microsoft Store)
Steps to reproduce

Open Terminal
Open the settings page
Open the PowerShell profile page
Try to change command line (I want to add "-nologo" switch) but it doesn't change on Microsoft Store version of PowerShell

Expected Behavior
Change the command line to: "C:\Users\Muhammadhussein\AppData\Local\Microsoft\WindowsApps\pwsh.exe" -nologo

Actual Behavior
The command line does not change and is:
"C:\Users\Muhammadhussein\AppData\Local\Microsoft\WindowsApps\pwsh.exe"

Could you share your settings.json file/?

Try without fullpath. Just pwsh.exe -nologo
      {
        "colorScheme": "Campbell",
        "commandline": "pwsh.exe -nologo",
        "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
        "hidden": false,
        "name": "PowerShell",
        "source": "Windows.Terminal.PowershellCore"
      },


Hangs when project loading failure in batch mode

steps
prepare an empty project with an invalid build.sbt:
$ tree
.
├── build.sbt
└── project
    └── build.properties

1 directory, 2 files
$ cat build.sbt
foo
$ cat project/build.properties
sbt.version=1.4.0

start sbt in batch mode.
$ sbt --batch
[info] welcome to sbt 1.4.0 (AdoptOpenJDK Java 11.0.8)
[info] loading project definition from /Users/***/work/project
/Users/***/work/build.sbt:1: error: not found: value foo
foo
^
[error] Type error in expression
[warn] Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? (default: r)

OS: macOS Catalina 10.15.6
Java: AdoptOpenJDK 11.0.8+10
sbt: 1.4.0

installed version: 1.3.13 (via Homebrew)

problem
sbt hangs after showing [warn] Project loading failed: ..., needs Ctrl-C to exit.
expectation
Exits immediately.
The same empty project but using sbt 1.3.13 works expectedly.
$ echo 'sbt.version=1.3.13' > project/build.properties
$ sbt --batch
[info] welcome to sbt 1.3.13 (AdoptOpenJDK Java 11.0.8)
[info] loading project definition from /Users/***/work/project
/Users/***/work/build.sbt:1: error: not found: value foo
foo
^
[error] Type error in expression
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?
$ (returned to the shell)

notes
In same project, sometimes NPE is thrown. I'm not sure if this is related to the issue, so just for your reference.
...
[error] Type error in expression
[warn] Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? (default: r)
Exception in thread "Thread-2" java.lang.NullPointerException
	at sbt.internal.util.Terminal$proxyInputStream$ReadThread.run(Terminal.scala:612)

@mayth Thanks for the bug report!

This was fixed in https://github.com/sbt/sbt/pull/5945 by @eatkins


Additional drawing methods. Solving CP_Image_DrawSubImageAdvanced and Drawing Rectangles from points.

First Change: DigiPen-Faculty/CProcessing#7:

This function didn't require any additional logic to be done on the internal side, as it could already do this we simply didn't allow people to.
I tested this in the i_update and i_init functions in the sample. I made a 2x2 image of Justin faces (remove this if you want I do not remotely care it was just a test.) if you press space it will go from drawing a 1x1 Justin face to drawing the first quarter of the 2x2 Justin faces. No visible change occurs even while rotating so I believe that it works.

Second Change: DigiPen-Faculty/CProcessing#6:

I made two functions: CP_Graphics_DrawRectPoints and CP_Graphics_DrawRectPointsAdvanced
These functions draw a rectangle from points and allow for them to have all the previous settings of other rectangles.
That gets a little funny with rotations because I made it so that the position of the points being draw don't care about the draw mode, but the rotation of the rectangle will. So if it's CP_POSITION_CENTER it will rotate from the center of the rectangle. I am unsure of exactly what someone could want this for, but I feel like one person will love me for this some number of years down the line and I wanted to keep it consistent with the other way to draw rectangles.
Beyond this I also made sure of the fact that one could draw rectangles with points out of order that way if you want to make something that has like the light blue box for click and drag, you can just pass the mouse positions in without an issue. The test for this is in RectangleBoxMaking init and update.

NovaSmoof - thanks for putting this together and testing.
Some of this PR is incorporated and some is won't fix.
I have cherry picked the SubImageAdvanced change from the Singapore branch.
I am voting no to the draw rect from points.  As you saw, it just adds some clutter to the API and the math doesn't make sense when you start rotating as the points no longer mean anything.


no acknowledgement using $db_handle->exec('some query');

How do I know whether the operation is successful or not.
When I try to store the result of $result = $db_handle->exec('some query'); var_dump($result) .It always gives me int(0) even when the operation is succesful.
Is there any way to get the correct acknowledgement?

There is no supported for this, but IIRC if something get wrong, an exception is thrown

@sandvige no there is no exception. I verified it by firing a wrong query. but it does not throw any exception.
$query = "INSERT INTO sometable(a,b,c,d) VALUES ('6577aa99-ccb7-492c-a4cd-051ff4a893ab',1,1,{4,12,96},4444);";

	try{
		var_dump($cassandraDbh->exec($query));
	}catch(Exception $e){
		echo $e->getMessage();
		throw new Exception('not inserted');
	}

Ideally this query should throw an exception. But in reality it doesnt.

@jayeshjain24 what kind of error are you waiting for? This query is well formed since the table "sometable" exists

@sandvige No. There is no table like this.I intentionally wrote it thatway. It should throw me an exception.

@jayeshjain24 what's your CONSISTENCY level for this operation?

I am not setting any consistency level explicitly. So I think it should use the default consistency.
But I dont think that is the issue here.
Irrespective whether everything is correct or not, this int(0)  is what I get as result when i var_dump()  it

@jayeshjain24 If you do a successfull insert, is it returning something different from int(0)?

no

Here is something I tried on my side, and everything is working as expected:
api@api02:~$ php app/console doctr:query:sql --connection="cassandra" "INSERT INTO sometable(a,b,c,d) VALUES ('6577aa99-ccb7-492c-a4cd-051ff4a893ab',1,1,{4,12,96},4444);"

  [Doctrine\DBAL\DBALException]
  An exception occurred while executing 'INSERT INTO sometable(a,b,c,d) VALUES ('6577aa99-ccb7-492c-a4cd-051ff4a893ab',1,1,{4,12,96},4444);':
  CQLSTATE[HY000] [2] unconfigured columnfamily sometable

  [PDOException]
  CQLSTATE[HY000] [2] unconfigured columnfamily sometable

doctrine:query:sql [--depth="..."] [--connection[="..."]] sql

What version of Cassandra are you using?

@sandvige 2.0.14

@jayeshjain24 Here is mine: [cqlsh 4.1.1 | Cassandra <IP_ADDRESS> | DSE 4.6.0 | CQL spec 3.1.1 | Thrift protocol 19.39.0]
What source version are you using for the driver? The latest?

I use this to detect errors

@sandvige  here is mine : [cqlsh 4.1.1 | Cassandra 2.0.11 | CQL spec 3.1.1 | Thrift protocol 19.39.0]

@sandvige I am sorry.It was my fault.
Just added this.
$cassandraDbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Thx for your answers.


tray application icon

Hello, first thank you very much for this awesome contribution.
I'm having an issue with the tray application icon, where the headset icon is located/loaded on the code?
I'm using the release version, already compiled binary.

Nice. I am happy that the issue got resolved. Thank you for posting a solution.