[aws-cpp-sdk-s3-crt]: use CommonRunTime to support CopyObject

Provide CopyObject support based on https://github.com/awslabs/aws-c-s3/pull/284
In contrast to the existing CopyObject function, objects larger than 5GB are supported, and multipart copies are automatically handled in parallel.
Resolves #2477.
Check all that applies:

[X] Did a review by yourself.
[X] Added proper tests to cover this PR. (If tests are not applicable, explain.)
Tested with existing code, using objects of varying sizes (< 5GB, >5GB).
[X] Checked if this PR is a breaking (APIs have been changed) change.
[X] Checked if this PR will not introduce cross-platform inconsistent behavior.
[X] Checked if this PR would require a ReadMe/Wiki update.

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

[X] Linux
[ ] Windows
[ ] Android
[ ] MacOS
[ ] IOS

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

Hey @grrtrr we got around to reviewing this and are looking to merge it. That being said your branch is out of date and needs to be rebased against main in order to be merged. Also codegen changes need to be added.
I created a PR that adds both of those things pull/2564 that adds those changes. Please take a look at it and let me know if its to your liking. If so we can just merge that instead of updating your branch. You could also update your branch with the changes needed as well if you want to.
Let me know what you think


Fix #1512

Fixes #1512

This should be ready.

@codeiotic Pro tip: When you mention the issue in the PR description with Fixes #1234 than GitHub will automatically link the PR to the issue and close the issue once the PR is merged. See GitHub docs for more details.


Generate 0.6.0 RC release manifests

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

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

Release note:

/assign @theofpa

/lgtm

/retest


Question mouse tracker events

Thank you so much for a great tool that is easy to use, I have enjoyed working with it.  I just have a question about mousetracker handlers.  I am diving into JS without a whole lot of background.  How might I go about wiring up a handler to listen for left click down, hold and release on a touch screen?   Right now I am using a mousetracker and event.position is coming up undefined.  Do I have to go through a viewer handler or can I go straight to the mouse tracker?  Here is my code.

Edit:  I tried doing the same thing with canvas-click, drag and drag-end but touch is not firing, only pen and mouse.  Has anyone had any success capturing touch events through canvas events?  Are there tools in OSD that can help me determine if the click is outside the image bounds so I can use JS touch without it registering touch to the ref strip or nav box?
Thanks

Strange... so pressHandler is getting called, but the event.position is undefined? That should be working fine for touch (and mouse). What device are you on? Can you share a link to the issue in action?

I am using a Surface Edge Pro 3.  Actually only the moveHandler is getting called when I move the mouse or click the mouse but clicking and dragging my finger does nothing.   The event position is undefined when I look at developer tools and the function that is called via moveHandler gives me an error "cannot read property attr of undefined" but when I alert(position.x) there is a value there.  I am attempting to use SVG-overlay plugin to draw lines.  I'll try and put something together to show the issue in action but you won't see my finger moving around, you might see a little darkened area that the Surface shows but it is hard to see.

Interesting. Have you tried on other touch devices? It would be great to narrow it down.

I haven't tried any other devices but after not getting the mouse trackers to work, I ended up using the canvas events solely and not attaching a mouse tracker to them and it worked great.  Thank you @iangilman.

Great to hear!


Experimental matchers

WIP!
Experimental Matchers to compare the actual spec with the spec of the desired object

will open a separate PR just with resulted matcher.


[R] Update read_csv_arrow and open_dataset parse_options, read_options, and convert_options to take lists

From a discussion on a PR which documents the encoding argument (https://github.com/apache/arrow/pull/13038)
Currently if we want to specify Arrow-specific read options such as encoding, we'd have to do something like this:

df <- read_csv_arrow(tf, read_options = CsvReadOptions$create(encoding = "utf8"))

However, this uses a lower-level API that we don't want to include in the examples for end-users to see.

We should update the code inside read_csv_arrow() so that the user can specify read_options as a list which we then pass through to CsvReadOptions internally, so we could instead call the much more user-friendly code below:

df <- read_csv_arrow(tf, read_options = list(encoding = "utf8"))

We should then add an example of this to the function doc examples.

We also should do the same for parse_options and convert_options.
Similarly, we can do:

open_dataset("data.csv", format = "csv", convert_options = CsvConvertOptions$create(null_values = "Not Range", strings_can_be_null = TRUE))%>% collect()

but it'd be great to be able to do:

open_dataset("data.csv", format = "csv", convert_options = list(null_values = "Not Range", strings_can_be_null = TRUE))%>% collect()

Reporter: Nicola Crane / @thisisnic
Assignee: Nicola Crane / @thisisnic
PRs and other links:

GitHub Pull Request #15270

Note: This issue was originally created as ARROW-16480. Please see the migration documentation for further details.

Yep, should be closed by that PR, so all good to close.


API list with datasets not picked up due to error

We need to have an API that provides us a list with data that Datastore can not pick up due to whatever reason, 404, 503 or other. So:
Requirement

Total list of failed files to pickup
Name of publisher
Publisher identifier
Dataset filename + identifier
Date and time of failed pickup (timestamp), only 5 latest attempts with timestamp
Type of error (see AU5, Spain, Gates and others to identify a cluster of them)

[FORMAL]: ETA IS 2-3 DAYS, NEEDS CLEARANCE.

Approved for work 👍

@siemvaessen  sorry to message during holiday period. Hope you are having a good break! Do let us know once this issue is ready for us to test. We spoke briefly about it in our last call on 16 December, but have not had any other notifications, and I know LuMin was unwell and then on leave, so believe it will be ready in the New Year.  Just let us know :)

@siemvaessen and @LehmannLoic please can we add the approved label to this?

@siemvaessen and @LehmannLoic please can we add the approved label to this?

@amy-silcock has this been tested and approved?

This has tested and approved

Please can you share the endpoint and documentation for this one?

@amy-silcock https://iatidatastore.iatistandard.org/api/datasets/failedpickups/?format=json Got pushed last week with that updated Release.

Thanks Siem, surprised this is only picking up 4 results? Would expect quite a few more.
For example: AgriProFocus has a 404 error on the Registry: https://iatiregistry.org/publisher/agriprofocus
Can't see them in either the error or failing validation end-point in the datastore.
Also, please can the details be added the documentation. Seems that the naming conventions are different from the failing validation end-point?
e.g. this works: https://iatidatastore.iatistandard.org/api/datasets/fails/?format=json&publisher_identifier=NL-KVK-30204842
This does not: https://iatidatastore.iatistandard.org/api/datasets/failedpickups/?format=json&publisher_identifier=NL-KVK-30204842

@sylvanr could you add the documentation to Postman please? Thanks.

Hi @amy-silcock  This endpoint manages all http errors, Time outs, SSL errors, connection errors or errors when too many redirections take place. AgriProFocus has a 404 on the Registry, but the originating URI is sending an empty response. The function does not look at the Registry but at the actual source. We would look into including more error responses, but that list could get very long.. Proceeding to close this. (updated the documentation and once it gets refreshed from postman to API Docs it will be updated fully.)

Registry is picking up 305 files with errors: https://www.iatiregistry.org/report/issues
DS is picking up 8
The DS store files are all from the publisher DanChurchAid.

some files highlighted are accessible: http://iati.dca.dk/xml/DCADK-CVR-36980214-Q4-2020.xml
these can be opened individually

DanChurchAid is not included in the Registry list of files with errors
Would be good to cross check between the two lists to check whether the DS api is working as expected.
Would be good to return a list of all files not picked up by the datastore, including error codes where possible. If not possible to include an error code, the file details should still be present.

some files highlighted are accessible: http://iati.dca.dk/xml/DCADK-CVR-36980214-Q4-2020.xml

This renders an SSL error, therefore not accessible.

Try this link to get a csv download of the errors picked up by the Registry: https://www.iatiregistry.org/report/download_issues_report

That link has a sign-in so unable to retrieve that.

Are you able to use your Registry log in details? You shouldn't need to have admin acces

Ok, works now 👍🏼

Look at https://iatiregistry.org/publisher/ifcwbg (XM-DAC-903) for example, 161 files flagged by Registry as invalid, but all files are available. Strange. Filing an issue with the Registry repo as I think we need to sync whatever the Registry is picking up as 'failure' needs to be in par with whatever DS 'failure' picks up.

We will update this method so an error is provided in the endpoint if no response is retrieved.

see if http://dashboard.iatistandard.org/download.html syncs up. Also seems to be different from the nr we get from that downloaded file from the Registry which as of today contains 436 errors. Argh
iati.issues (2).csv.zip

Just got out of a call to give some pointers to ewout on this.
The dashboard does not look up to date, since 2017? At least, from the "history of downloads" as well as checking its links to the registry.
Just gave some pointers on how we can hopefully get the missing info from the 436 errors into the failedpickups. Hopefully we can start to match them with a generic requests fail pickup.

See why AU-5 data is available. User can download, but datastore not. See what error is provided here.

To re-iterate what was said in the PR:
Known reasons for discrepancies between datastore failed pickups and the issue report from https://www.iatiregistry.org/report/issues retrieved at 11 March 2021:
This endpoint does not include actual validation or parsing attempt of the dataset, only retrieving it, hence the name ‘failed to pick up’.
A lot more AUSGOV is in iati registry’s report, due to datastore using a headerless request with verify=false., allowing it do download most of their files.
html status code discrepancy is caused by endpoints becoming available and going down in between the different checks.

Running on test env @ https://test-datastore.iatistandard.org/api/datasets/failedpickups/?format=json

Thank you for the testing link. The number of datasets not picked up due to error looks far more like the number we'd expect! The majority are working as expected.
There a few it would be good to check, as we'd expect an error to be picked up for them. For others we'd expect different error details. The ones to check are here: https://docs.google.com/spreadsheets/d/1zOjnvi8rPvTN9Kmg0JQ50dEiztMJzUVvWTYw5LbT6xc/edit?usp=sharing
Let myself and Andi know if you have any questions.

:tada: This issue has been resolved in version 5.6.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

Update from Z on testing sheet:

some non accessible files are not picked up because they have validation errors. This isn't checked by the API
some non accessible files are situational/temporarily not available. These change when testing a couple of hours or a day later.

Given the above, the API is working as well as can be expected.
Documentation for this feature needs to be added to the API documentation.
Tech team are happy with this and approve this to go live.
@sylvanr please can you comment once the API is moved to production and documentation has been updated.

Hey @amy-silcock just a quick update, the documentation has been updated, I went through the dataset endpoint and updated it where I thought it would improve the quality. I also hopefully clarified the two endpoints you mentioned and explained how the latter is different from the rest.
I am aware that it looks a bit weird at the moment! This is due to markdown being used to make the documentation clearer and more readable, however, the frontend currently does not take this into consideration. We have tabled this and will update you on this later this week.

Hi @sylvanr, thank you that's much clearer! The additional information definitely helps.
One further suggestion is to add the type for each parameter (int, bool, string) if possible. For example is_http_error is expecting 0/1 or true/false (edited) ?

Updated the dataset endpoints to reflect that last bit of feedback. Makes sense to include that!  I would think this finishes up this ticket.

Hi @sylvanr that looks great! Thank you for adding in the extra details.
Happy to sign this one off as fully completed! 👍


v1.10.0rc2 and v1.10rc2 having issues with autostart bitcoind service

autostarting bitcoind daemon after server reboot seems to be broken on debian 11.7.
             RaspiBlitz v1.10.0rc3 Chakalaka
               Bitcoin Fullnode + Lightning Network + Tor
        ,/     -------------------------------------------
      ,'/      Refreshed: Mon, 14 Aug 2023 11:00:48 +0200
    ,' /       CPU load 3.10, 0.85, 0.29, temp 0°C 0°F
  ,'  /_____   Free Mem 5177M / 7944M  HDDuse 626G (66%)
,'_____    ,'  SSH<EMAIL_ADDRESS>d957.5KiB u2.5MiB
      /  ,'    Web Admin --> http://<IP_ADDRESS>
     / ,'      bitcoin v25.0.0 mainnet 4 peers
    /,'        Blocks 803091/803091 Sync OK 100.00%
   /'
               LND 0.16.4-beta Wallet 866,584 sat
               2222/2222 Channels 1 sat 0 peers
               Fee Report (D-W-M): 0-0-0 sat

xxxxxx.onion:9735
tail: cannot open '/mnt/hdd/bitcoin/debug.log' for reading: No such file or directory
tail: cannot open '/mnt/hdd/bitcoin/debug.log' for reading: No such file or directory

Gathering information to update info ... please wait.

admin@<IP_ADDRESS>:~₿ sudo systemctl status bitcoind
● bitcoind.service - Bitcoin daemon
     Loaded: loaded (/etc/systemd/system/bitcoind.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2023-08-14 11:00:09 CEST; 2min 49s ago
   Main PID: 860 (bitcoind)
      Tasks: 18 (limit: 9490)
     Memory: 4.8G
        CPU: 4min 1.898s
     CGroup: /system.slice/bitcoind.service
             └─860 /usr/local/bin/bitcoind -daemonwait -conf=/mnt/hdd/bitcoin/bitcoin.conf -datadir=/mnt/hdd/bitcoin -debuglogfile=/mnt/hdd/bitcoin/debug.log

Aug 14 10:59:50 raspiblitz systemd[1]: Starting Bitcoin daemon...
Aug 14 10:59:50 raspiblitz blitz.systemd.sh[684]: Could not connect to Redis at <IP_ADDRESS>:6379: Connection refused
Aug 14 10:59:50 raspiblitz blitz.systemd.sh[719]: Could not connect to Redis at <IP_ADDRESS>:6379: Connection refused
Aug 14 11:00:09 raspiblitz systemd[1]: Started Bitcoin daemon.

sudo systemctl restart bitcoind fixes the problem but only until next server reboot. haven't had issues with rc1.
admin@<IP_ADDRESS>:~₿ sudo systemctl status redis-server
● redis-server.service - Advanced key-value store
     Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2023-08-14 10:59:50 CEST; 6min ago
       Docs: http://redis.io/documentation,
             man:redis-server(1)
   Main PID: 629 (redis-server)
     Status: "Ready to accept connections"
      Tasks: 5 (limit: 9490)
     Memory: 7.5M
        CPU: 6.473s
     CGroup: /system.slice/redis-server.service
             └─629 /usr/bin/redis-server <IP_ADDRESS>:6379

Aug 14 10:59:50 raspiblitz systemd[1]: Starting Advanced key-value store...
Aug 14 10:59:50 raspiblitz systemd[1]: Started Advanced key-value store.

maybe it's worth a try to let bitcoind start after redis-server.
my bitcoin service:
# RaspiBlitz: systemd unit for bitcoind
# based  on https://github.com/bitcoin/bitcoin/blob/master/contrib/init/bitcoind.service
[Unit]
Description=Bitcoin daemon

#After=bootstrap.service
#Wants=bootstrap.service
After=network-online.target
Wants=network-online.target

# for use with sendmail alert
#OnFailure=systemd-sendmail@%n

[Service]
Environment='MALLOC_ARENA_MAX=1'
ExecStartPre=-/home/admin/config.scripts/blitz.systemd.sh log blockchain STARTED
ExecStart=/usr/local/bin/bitcoind -daemonwait \
                                  -conf=/mnt/hdd/bitcoin/bitcoin.conf \
                                  -datadir=/mnt/hdd/bitcoin \
                                  -debuglogfile=/mnt/hdd/bitcoin/debug.log

# Make sure the config directory is readable by the service user
PermissionsStartOnly=true
ExecStartPre=/bin/chgrp bitcoin /mnt/hdd/bitcoin

# Process management
####################
Type=forking
Restart=on-failure
TimeoutStartSec=infinity
TimeoutStopSec=600

# Directory creation and permissions
####################################
# Run as bitcoin:bitcoin
User=bitcoin
Group=bitcoin

StandardOutput=null
StandardError=journal

# Hardening measures
####################
# Provide a private /tmp and /var/tmp.
PrivateTmp=true
# Mount /usr, /boot/ and /etc read-only for the process.
ProtectSystem=full
# Deny access to /home, /root and /run/user
ProtectHome=true
# Disallow the process and all of its children to gain
# new privileges through execve().
NoNewPrivileges=true
# Use a new /dev namespace only populated with API pseudo devices
# such as /dev/null, /dev/zero and /dev/random.
PrivateDevices=true
# Deny the creation of writable and executable memory mappings.
MemoryDenyWriteExecute=true

[Install]
WantedBy=multi-user.target

any ideas?

The 1.10.0rc3 already adresses the missing debug.log but has some other problem .. this should be retested when v1.10.0rc4 is out.

just testing 1.10rc4. issue persists.
jbacvghhyd.onion:9735
tail: cannot open '/mnt/hdd/bitcoin/debug.log' for reading: No such file or directory
tail: cannot open '/mnt/hdd/bitcoin/debug.log' for reading: No such file or directory

Screen is updating in a loop .... press 'x' now to get back to menu.^CSIGINT or SIGTERM received, exiting...
admin@<IP_ADDRESS>:~₿ sudo systemctl status bitcoind
● bitcoind.service - Bitcoin daemon
     Loaded: loaded (/etc/systemd/system/bitcoind.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2023-08-28 09:26:21 CEST; 3min 42s ago
   Main PID: 872 (bitcoind)
      Tasks: 18 (limit: 9490)
     Memory: 4.7G
        CPU: 4min 48.194s
     CGroup: /system.slice/bitcoind.service
             └─872 /usr/local/bin/bitcoind -daemonwait -conf=/mnt/hdd/bitcoin/bitcoin.conf -datadir=/mnt/hdd/bitcoin -debuglogfile=/mnt/hdd/bitco>

Aug 28 09:26:07 raspiblitz systemd[1]: Starting Bitcoin daemon...
Aug 28 09:26:08 raspiblitz blitz.systemd.sh[737]: Could not connect to Redis at <IP_ADDRESS>:6379: Connection refused
Aug 28 09:26:08 raspiblitz blitz.systemd.sh[747]: Could not connect to Redis at <IP_ADDRESS>:6379: Connection refused
Aug 28 09:26:21 raspiblitz systemd[1]: Started Bitcoin daemon.
lines 1-14/14 (END)

still have to manually restart bitcoind service after reboot.

I committed in dev branch a changed service fpr bitcoind to wait for redis. Can you test if this cleans things up for you?

mmh. still the same on rc5.

mmh. still the same on rc5. didn't find any changes in the after or wanted section in bitcoind.service

Hi mate, are you still having this issue or got it solved? If not you can get in touch with me so we can both get it solved together because a lot of people have come with same complain and it work for them i believe we can solve this together...Don't wait to say hi

updated to 1.10.0 but still having issues after reboot. the bitcoin service doesn't come up. also need to restart lnd after manually restarting bitcoin. did you change anything in the systemd file so the service comes up after a reboot?


Flyouts translation is not applied

I translated Flyouts.resw but my translation is not applied to 2.0.x.
I confirmed this on 2.0.43 from 2.0.1 (Yoga 5G arm64 23H2). On 1.8.1, these are surely translated.
Should I create a new Flyouts.resw?
Image 1:2.0.43's flyouts

Image 2:1.8.1's flyouts

On 2.0.50, the problem still remains.
I confirmed this on Yoga 5G arm64 23H2 and Lumia 950 1709.


Feature/116 stats page

https://github.com/Zomis/Games/issues/116

Definitely a good start, I like it!


Prints the page id that story table failed on

Gets the last available page id when there's a missing variable. Much more
useful at a glance when trying to figure out where your problem is.
Personally, I've been running into ProtocolError: Protocol error (Page.captureScreeshot): Unable to capture screenshot, which means
there's no screen shot available. Without this change, it's impossible to tell
what page the missing variable was on.

Looked over and LGTM'd on a zoom call (~20-30 into the stream)!


feature/DEVTOOLING-163

Code refactored for Journey Action Map

It looks like you need to merge some changes from dev that were pulled in from #1373 .

I think #1373 change was recently merged in to dev, I will have to update.


vote_stream is sometimes closed before the tally is met

Based on PR #326
When running the ten_nodes_happy test with multiple mixnodes in the exit layer, the following error sometimes occur.
waiting... 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0
waiting... 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0
waiting... 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0
waiting... 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0
waiting... 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0
waiting... 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0
...
thread 'Overwatch' panicked at 'internal error: entered unreachable code', /Users/yjlee/repos/nomos-node-mix/nomos-services/consensus/src/tally/happy.rs:83:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'ten_nodes_happy' panicked at 'called `Result::unwrap()` on an `Err` value: reqwest::Error { kind: Decode, source: Error("expected value", line: 1, column: 1) }', tests/src/nodes/nomos.rs:228:14
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
error: test failed, to rerun pass `-p tests --test test_consensus_happy_path`

The entered unreachable code occurs because the vote_stream returned None before the tally is met.
This occurs even before the view 0 is approved.
I added a log to see how many votes has been received before the error occurs:
nomos_consensus::tally::happy: UNREACHABLE: threshold:10, seen.len():9

This doesn't happen if we run the test with only one mixnode in the exit layer (it means the case when all messages are eventually broadcasted from the only one nomos-node).

I added a log to see how many votes has been received before the error occurs:
nomos_consensus::tally::happy: UNREACHABLE: threshold:10, seen.len():9

Added more logs and found that the vote from the leader itself isn't contained in the stream.
2023-08-25T10:22:41.673832Z ERROR gather_votes{committee=Committee { members: {NodeId([104, 86, 235, 49, 174, 105, 181, 48, 202, 216, 237, 69, 9, 120, 19, 198, 200, 121, 161, 58, 232, 117, 183, 97, 173, 117, 48, 182, 36, 194, 71, 63])} } block=Block { id: BlockId([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), view: View(0), parent_qc: Standard(StandardQc { view: View(-1), id: BlockId([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) }), leader_proof: LeaderId { leader_id: NodeId([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) } }}:
nomos_consensus::tally::happy: UNREACHABLE: threshold:10, seen.len():9, seen:{NodeId([120, 239, 89, 239, 95, 95, 226, 46, 32, 166, 206, 111, 79, 250, 186, 118, 221, 20, 225, 232, 29, 130, 152, 37, 180, 198, 85, 116, 155, 12, 37, 2]), NodeId([32, 234, 179, 173, 253, 144, 1, 127, 32, 181, 195, 99, 152, 204, 54, 39, 208, 220, 99, 211, 8, 93, 223, 40, 32, 156, 30, 210, 247, 173, 176, 246]), NodeId([65, 147, 179, 22, 12, 6, 170, 89, 74, 224, 203, 31, 245, 164, 243, 53, 69, 220, 203, 52, 164, 186, 145, 252, 244, 187, 33, 70, 252, 30, 171, 92]), NodeId([228, 38, 222, 2, 23, 103, 202, 126, 131, 253, 33, 199, 232, 197, 158, 216, 244, 126, 171, 39, 68, 246, 175, 15, 187, 232, 71, 199, 75, 74, 236, 121]), NodeId([78, 137, 205, 25, 164, 180, 191, 30, 92, 152, 110, 59, 108, 250, 104, 245, 4, 48, 91, 174, 140, 237, 172, 70, 70, 237, 32, 240, 22, 178, 197, 161]), NodeId([8, 138, 166, 169, 166, 186, 72, 232, 68, 221, 187, 208, 82, 38, 204, 22, 226, 4, 134, 235, 21, 162, 240, 106, 124, 11, 107, 74, 177, 185, 239, 201]), NodeId([181, 71, 24, 176, 172, 201, 28, 131, 139, 151, 164, 81, 65, 27, 231, 101, 227, 204, 34, 47, 226, 252, 244, 188, 32, 142, 195, 190, 107, 143, 77, 59]), NodeId([148, 104, 116, 181, 130, 114, 114, 254, 40, 209, 29, 185, 168, 17, 95, 67, 49, 209, 187, 19, 191, 104, 63, 249, 121, 253, 199, 107, 56, 167, 254, 78]), NodeId([184, 117, 220, 67, 94, 222, 239, 25, 91, 144, 221, 128, 154, 7, 28, 59, 36, 217, 38, 49, 239, 69, 173, 0, 87, 118, 122, 175, 7, 34, 73, 48])}

I added a log to see how many votes has been received before the error occurs:
nomos_consensus::tally::happy: UNREACHABLE: threshold:10, seen.len():9

Added more logs and found that the vote from the leader itself isn't contained in the stream.
2023-08-25T10:22:41.673832Z ERROR gather_votes{committee=Committee { members: {NodeId([104, 86, 235, 49, 174, 105, 181, 48, 202, 216, 237, 69, 9, 120, 19, 198, 200, 121, 161, 58, 232, 117, 183, 97, 173, 117, 48, 182, 36, 194, 71, 63])} } block=Block { id: BlockId([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), view: View(0), parent_qc: Standard(StandardQc { view: View(-1), id: BlockId([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) }), leader_proof: LeaderId { leader_id: NodeId([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) } }}:
nomos_consensus::tally::happy: UNREACHABLE: threshold:10, seen.len():9, seen:{NodeId([120, 239, 89, 239, 95, 95, 226, 46, 32, 166, 206, 111, 79, 250, 186, 118, 221, 20, 225, 232, 29, 130, 152, 37, 180, 198, 85, 116, 155, 12, 37, 2]), NodeId([32, 234, 179, 173, 253, 144, 1, 127, 32, 181, 195, 99, 152, 204, 54, 39, 208, 220, 99, 211, 8, 93, 223, 40, 32, 156, 30, 210, 247, 173, 176, 246]), NodeId([65, 147, 179, 22, 12, 6, 170, 89, 74, 224, 203, 31, 245, 164, 243, 53, 69, 220, 203, 52, 164, 186, 145, 252, 244, 187, 33, 70, 252, 30, 171, 92]), NodeId([228, 38, 222, 2, 23, 103, 202, 126, 131, 253, 33, 199, 232, 197, 158, 216, 244, 126, 171, 39, 68, 246, 175, 15, 187, 232, 71, 199, 75, 74, 236, 121]), NodeId([78, 137, 205, 25, 164, 180, 191, 30, 92, 152, 110, 59, 108, 250, 104, 245, 4, 48, 91, 174, 140, 237, 172, 70, 70, 237, 32, 240, 22, 178, 197, 161]), NodeId([8, 138, 166, 169, 166, 186, 72, 232, 68, 221, 187, 208, 82, 38, 204, 22, 226, 4, 134, 235, 21, 162, 240, 106, 124, 11, 107, 74, 177, 185, 239, 201]), NodeId([181, 71, 24, 176, 172, 201, 28, 131, 139, 151, 164, 81, 65, 27, 231, 101, 227, 204, 34, 47, 226, 252, 244, 188, 32, 142, 195, 190, 107, 143, 77, 59]), NodeId([148, 104, 116, 181, 130, 114, 114, 254, 40, 209, 29, 185, 168, 17, 95, 67, 49, 209, 187, 19, 191, 104, 63, 249, 121, 253, 199, 107, 56, 167, 254, 78]), NodeId([184, 117, 220, 67, 94, 222, 239, 25, 91, 144, 221, 128, 154, 7, 28, 59, 36, 217, 38, 49, 239, 69, 173, 0, 87, 118, 122, 175, 7, 34, 73, 48])}

The vote is broadcasted right? If the node is subscribed it should reach.

The vote is broadcasted right? If the node is subscribed it should reach. Unless we are filtering self-messages somehow.

Yes, it's broadcasted. I'm testing with adding more logs. I can see the VoteMsg is broadcased from the leader, as intended. But, the msg doesn't arrive in anywhere.
Also, I'm curious how the Stream can be closed from the sender side (The unreachable error means that the stream has been closed from the sender).
I'm taking a look.

I found that this unreachable happens only when local_timeout and timeout_qc sometimes occur. The stream is closed from the sender side in this case because the libp2p message cache is advanced for the newer views.
The current timeout setting is 10s in the integration test. I'm taking a look why timeout happens.

I'm still taking a look why enough block approvals aren't gathered within 10s. I guess some messages are dropped from somewhere, but haven't found it yet.

I found the reason.
2023-08-28T06:20:49.857058Z ERROR nomos_network::backends::libp2p: failed to broadcast message to topic: /carnot/proto InsufficientPeers

Sometimes, libp2p broadcasting fails with the InsufficientPeers error, which happens when the libp2p peer doesn't have any peers subscribed to the topic, in its peer store. After the libp2p node is spawned, it takes some time to get GRAFT messages that say who is subscribing what.
If broadcasting is started before peer store is populated, the broadcasting is failed. And, we don't retry broadcasting. This situation might be okay in production, but our integration test has more strict setting: leader_threshold = 100%.
This error is not very related to the mixnet, but this happen more often when we use mixnet. The message is eventually broadcasted from a random node in the mixnet exit layer. That node most likely hasn't initialized its peer store yet because of the order of spawning nodes.
We may think about retrying broadcasting when InsufficientPeers happens. But, I'm not sure if it hasn't any side effects.

I'm still taking a look why enough block approvals aren't gathered within 10s. I guess some messages are dropped from somewhere, but haven't found it yet.

I found the reason.
2023-08-28T06:20:49.857058Z ERROR nomos_network::backends::libp2p: failed to broadcast message to topic: /carnot/proto InsufficientPeers

Sometimes, libp2p broadcasting fails with the InsufficientPeers error, which happens when the libp2p peer doesn't have any peers subscribed to the topic, in its peer store. After the libp2p node is spawned, it takes some time to get GRAFT messages that say who is subscribing what.
If broadcasting is started before peer store is populated, the broadcasting is failed. And, we don't retry broadcasting. This situation might be okay in production, but our integration test has more strict setting: leader_threshold = 100%.
This error is not very related to the mixnet, but this happen more often when we use mixnet. The message is eventually broadcasted from a random node in the mixnet exit layer. That node most likely hasn't initialized its peer store yet because of the order of spawning nodes.
We may think about retrying broadcasting when InsufficientPeers happens. But, I'm not sure if it hasn't any side effects.

I think in this case the simplest solution is to wait for the nodes to subscribe in the integration tests.
In production if broadcasting fails, we may try again. But we need to actually analyze what are the cases when broadcasting may fail, as we may not care about them all.

I think in this case the simplest solution is to wait for the nodes to subscribe in the integration tests.
In production if broadcasting fails, we may try again. But we need to actually analyze what are the cases when broadcasting may fail, as we may not care about them all.

Right, but the issue is that we aren't able to wait for nodes to subscribe to the topic at the testing level :). Once we spawn nomos-nodes, they immediately start broadcasting messages. I'm thinking of adding an option, so that nodes can wait until they have at least one peer at their peer store or they can retry broadcasting for some cases. At the same time, I'm trying to not make this too verbose because this might not be a huge issue in production.

I think in this case the simplest solution is to wait for the nodes to subscribe in the integration tests.
In production if broadcasting fails, we may try again. But we need to actually analyze what are the cases when broadcasting may fail, as we may not care about them all.

Right, but the issue is that we aren't able to wait for nodes to subscribe to the topic at the testing level :). Once we spawn nomos-nodes, they immediately start broadcasting messages. I'm thinking of adding an option, so that nodes can wait until they have at least one peer at their peer store or they can retry broadcasting for some cases. At the same time, I'm trying to not make this too verbose because this might not be a huge issue in production.

Most probably we can have a call in the Network service to validate stuff. For example, ping (reply to a channel) me (other sesvice) when this is ready.  And then other service can decide what to do (maybe even stop, or retry after n seconds or something). Then we can use it in the adapter to wait for network ready before starting consensus.

Most probably we can have a call in the Network service to validate stuff. For example, ping (reply to a channel) me (other sesvice) when this is ready. And then other service can decide what to do (maybe even stop, or retry after n seconds or something). Then we can use it in the adapter to wait for network ready before starting consensus.

Yes, that would be a great idea, having a 'ready-check' concept for services. I think this issue is related to both libp2p and waku, regardless of with/without mixnet. I'll make a new issue for this, if you're fine.

I think long term we should:

allow for vote_stream to be closed early as I don't think we can enforce ordering between task cancellation and stream closing. Ideally we should check that the reason for closing is what we expect (in this case, we changed view). This case is not currently covered by our testcases (not sistematically at least) and our implementation does not support it.
retry messages that errored with insufficient peers

a ready-check is somewhat difficult if the network conditions can be altered at runtime (e.g. I receive a mixnet message to be published to a topic I'm not subscribed to)

I agree. But still it would be great if Overwatch supports the ready-check concept or the order of service initializations, for other purposes. For example, the logs printed before the log service is initialized are not actually printed in the output file or stdout.
For the vote_stream, I am happy with the solutions that Zeegomo suggested.

Reopening because the issue is not resolved in all cases. We still do not cover the possibility where the stream get closed before the task is canceled

Reopening because the issue is not resolved in all cases. We still do not cover the possibility where the stream get closed before the task is canceled

Should the task be cancel if the stream is gone? Meaning that it just couldn't collect the votes, for one reason or another?

Should the task be cancel if the stream is gone?

Yes, and it's what we do unless there are bugs somewhere, the issue is that we can't (i think) reliably control the order in which canceling the task and the stream happen (could be that we cancel the stream and poll the task once more before canceling it). Ultimately, I think we just should not panic if the stream is closed and we didn't complete the tally

Ultimately, I think we just should not panic if the stream is closed and we didn't complete the tally

I agree (https://github.com/logos-co/nomos-node/issues/329#issuecomment-1695046531)

@youngjoon-lee @zeegomo Can we consider this fixed now?

@youngjoon-lee @zeegomo Can we consider this fixed now?

Let me check. IIRC, this issue is not resolved in all cases, but I need to check it again

@youngjoon-lee @zeegomo Can we consider this fixed now?

Let me check. IIRC, this issue is not resolved in all cases, but I need to check it again

We can consider this issue has been resolved by https://github.com/logos-co/nomos-node/pull/415/commits/8e78539693ad921518d9fcb09ec22ddc6e251d4f. By that, we now return an error instead of panicking (unreachable!()) when vote_stream is closed before the tally is met. The reason why vote_stream is closed is timeout, as described in https://github.com/logos-co/nomos-node/issues/329#issuecomment-1695046531. And, the timeout can happen in various reasons (https://github.com/logos-co/nomos-node/pull/415/commits/f57bfc846ef39f188bc8b679d1012a702b66c696 and https://github.com/logos-co/nomos-node/pull/415/commits/f0698902b491e4de7f5bdfed6116f33a95cab53e in the integration test). Although we don't have a mechanism which guarantess the order between vote_stream close and tally cancellation (as Giacomo mentioned: https://github.com/logos-co/nomos-node/issues/329#issuecomment-1713477404), but I think it's okay for now to just return an error instead of panic.


add  joi validation to the schemas

I will add the joi validation to the schemas present
Please assign this issue to me and add the 'hacktoberfest' label to it. @aditya-singh9

Please explain, what is joi validation and its benefit in this application.

Please explain, what is joi validation and its benefit in this application.

Joi module is a popular module for data validation. This module validates the data based on schemas. There are various functions like optional(), required(), min(), max(), etc which make it easy to use and a user-friendly module for validating the data.
Also, it is much secure than the traditional mongoDB validations.


build: support build and test on windows

After this pr, this project should be able to be built and tested on windows. We may need to adopt Appveyor CI later.
If you are using Visual Studio 2017, you may need to use latest nightly rustc to build any rust program.
If you meet code page related error, you may need to set environment _CL_ to "/utf-8".

Do we need to support windows in CI too?

Yes. As said in the pr description, I will introduce Appveyor later.

LGTM

PTAL @overvenus


AddListItemComment: output added comment

Output the added comment from Add-PnPListItemComment.
Follow up to PR #1763

Thanks @fowl2 , have merged it :)


versioned sidebar is not getting created while releasing a version

🐛 Bug Report
I'm creating a new release but the versioned sidebars are not getting created. I'm using the following commands:
cd website
npm install
npm run version 1.9.0

This creates the versioned_docs but not the versioned_sidebar.
Have you read the Contributing Guidelines on issues?
yes
To Reproduce
# clone the repository
1. git clone https://github.com/litmuschaos/litmus-docs.git
# Make some changes under the docs section like version update
2. find ./ -type f -exec sed -i -e 's/api\/chaos\/1.8.1?file=charts/api\/chaos\/1.9.0?file=charts/g' {} \;
# create a new release that is 1.9.0
3.  | cd website
       npm install
       npm run version 1.9.0

Expected behavior
Along with versioned docs, the versioned sidebar should also get created
Actual Behavior
The versioned sidebar is not getting created:

(Write what happened. Add screenshots, if applicable.)
Your Environment

node version - v8.10.0
npm version:
{ npm: '6.14.5',
ares: '1.14.0',
cldr: '32.0.1',
http_parser: '2.7.1',
icu: '60.2',
modules: '57',
nghttp2: '1.30.0',
node: '8.10.0',
openssl: '1.0.2n',
tz: '2017c',
unicode: '10.0',
uv: '1.18.0',
v8: '6.2.414.50',
zlib: '1.2.11' }

yarn version v1.21.1

Operating system and version (desktop or mobile): ubuntu18.04

Reproducible Demo
(Paste the link to an example repo, including a siteConfig.js, and exact instructions to reproduce the issue.)

Hi, this is a v1 bug and I'm not very familiar with its codebase as I mostly work on v2.
I can see you have a lot of versioned sidebars here: https://github.com/litmuschaos/litmus-docs/tree/master/website/versioned_sidebars
How comes it worked before and it does not work anymore now? Did you change anything? Did you update Docusaurus and think there is a regression?
It seems this 13 days old PR did successfully create the versioned sidebars, so you may ask @ksatchit how he did?
https://github.com/litmuschaos/litmus-docs/pull/356

@slorber we matched the versions:

node: v8.10.0
npm: 3.5.2
platform: ubuntu:18.04
docusaurus: 1.13.0
sharing same repo

It works fine for Karthik but not for me. Any other env or parameter we should match?

Can you double check the exact command you run, from which folder, and both of you share your env?
I don't have a clue why it does not work just for you. As your colleague is able to version the docs and we really want to progress on v2 release, I'm not sure we should work on this (unless it affects more than 1 user).

The Docusaurus team is actively working on Docusaurus v2.
After a very long alpha, Docusaurus v2 is now in beta.
We believe that the v2 beta is already better than v1, and v2 is ready for maintstream adoption.
Apart from critical issues and security fixes, we don't plan to invest much time on Docusaurus v1 anymore.
We are all closing v1 issues.
Maybe the current issue is already fixed in Docusaurus v2.
Please try to upgrade, and if the issue is still there on Docusaurus v2, open a new issue.


[COMPILER] Method calls in default values for keyword arguments returns nil

def foo = 1
def assert_src_expected(args = nil, bar: foo) = bar
assert_src_expected

Should return 1 but instead returns nil.

It appears from this that optional keyword values are being evaluated before optional positional values, but it should be the opposite. We should wait until Aaron's PR lands which is changing some stuff, but this seems like a quick-ish fix.


Automatically adjust width of status line.

The status line should be only one line.  Previously it had a fixed
width of 99 characters.  Now the width is set to the actual terminal
width.  This value is determined again every time the status line is
updated, so that a running lending bot can be accessed from terminals
with different widths, like in a tmux setup.

P.S. There was an unused local variable now in the function that I also removed.

Well done. But I'm wondering how it would work on Windows?

Hrrr Windows. I just found: http://stackoverflow.com/questions/566746/how-to-get-console-window-width-in-python
Will check on it later.

I guess the options are:

Require to python3.3 or higher and use shutil.get_terminal_size
Import a bunch of code from the stackoverflow thread that works around it all
On Windows, just put it to a fixed size like before.
Just ignore Windows and merge.

Windows's command line window is limited to 80 characters width right? Just hardcode it to 80 characters and no one will notice.

Windows cmd window is adjustable.

This gist https://gist.github.com/jtriley/1108174 contains an implementation of that stackoverflow thread. Probably the only way to do it for all platforsm is to add  ~90 lines of code which branches for the different platforms.

I would not be against this extra code if it is necessary.

The original commit isn't compatible with windows.. before it can be merged we should at least support all platforms as now.

OK, here is a new version based on the current HEAD and using the gist mentioned above. I have not tested this on Windows, please somebody try it. It seems to work well with Linux/OSX/tmux

Tested it on Windows 10, it seems to work fine with a slight modification - the number of characters that needs to be subtracted in https://github.com/tom111/poloniexlendingbot/blob/07cc7cb954e69970da14774060af3499c4d5c346/Logger.py#L24 is 4 and not 3 as you also need place for the

OK, fine. Let's do -4 for everybody.

Thanks @tom111 , good work.


manager: wrong error message for cannot change backup target

fail to set settings with invalid backup-target: cannot modify BackupTarget since there are existing standby volumes: map[drt:0xc000edc2c0]

Longhorn Version: 0.5.0-rc2


all: unrecognized test failures on linux/loong64

#!watchflakes
default <- goarch == "loong64"

(CC @golang/loong64)

We will have a look. Thanks!

The failures seemed spurious and can't be reproduced right now: https://go.dev/cl/481937 and https://go.dev/cl/492620 for example both passed on the loong64 builder.
If no new instances of this flake occur in the next few days, I think we can close this issue then.

Now this seems very likely caused by faulty memory, @abner-chenc should be working to replace the physical host underneath the loong64 builder. He may have more to share later.

I have replaced the physical machines and updated the latest stable firmware (previously these physical machines were beta versions of the firmware).

It looks like the failures being posted here are not specific to loong64. I'm going to close this issue and add a date constraint so that new failures get new issues.


Protected server route information is leaked to the browser

Describe the bug
Define an admin Java view like
@Route(value = "dashboard", layout = MainLayout.class)
@RolesAllowed("ADMIN")
public class DashboardView extends Main {

The existence of the route is leaked to the browser as
window.Vaadin.server.views["/dashboard"]

Expected-behavior
The route is only available for users with the ADMIN role and not discoverable without the role and knowledge of the url
Reproduction
start.vaadin.com

add a public view
add a protected view

start the app and open the public view
System Info
Vaadin 24.4 alpha20

We need to add some APIs for controlling things to Flow to fix this properly: https://github.com/vaadin/flow/issues/19127
We shouldn't wait with fixing this problem until that API is implemented so let's just disable the whole feature by default and provide a crude way (e.g. a setting in application.properties) to explicitly enable it for testing purposes.


Fix auto delete setting comparison bug in Asset

Description

Fix auto delete setting comparison in Asset.
Add a unit test for it.

Please add an informative description that covers that changes made by the pull request and link all relevant issues.
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.


Search filtering: add query syntax to support both "and (+)" and "or (|)"  in the same query

no real value usage wise. Hence closing


Add a doctest.pc pkg-config file

Description
This PR adds a doctest.pc file, which is generated and installed in a similar way to doctestConfig.cmake.
Note: I wasn't sure where to put the doctest.pc.in file. It's currently in the root of the project, but it probably doesn't belong there. Thoughts? scripts/pkgconfig/doctest.pc.in maybe?
GitHub Issues
See https://github.com/doctest/doctest/issues/850 for rationale and existing discussion.

@cdeln Hi, could you have a look at this?

Hi @mortie , I have seen that this issue, indeed not related to your PR.
It is unfortunate that the CI is broken, I will open a new issue to fix this before merging anything.


Make possible to use the Wrappers API to define attributes for the components

(This is a alternative solution to https://github.com/plataformatec/simple_form/pull/622)
Motivation
To integrate Simple Form with Bootstrap 3 we need to make possible to define classes to input only in some wrappers.
We added input_class some time ago but that broke some components like checkboxes (see https://github.com/rafaelfranca/simple_form-bootstrap/pull/28).
Instead of changing a global class to be applicated in every input we allow users to choose in which wrappers they want to define a class.
How to use
Now users can define attributes for the components in the component definition of the Wrappers API.
config.wrappers tag: 'div', class: 'control-group', error_class: 'error' do |b|
    b.use :label, class: 'form-label'
    b.use :input, class: 'form-input'
end

The class: 'form-label' option will be used every time a label component is rendered.
Implementation
To make this possible I had to change who the Wrappers API is defined and how components are rendered.
Wrapper API storage change
Before the work on this branch, the API components were stored in a mix of Simple Form classes and symbols.

This added some conditionals in our rendering code and made harder to store state in our components. This create a lot of code in Simple Form that rely in the fact that Ruby hashes are mutables and we have a global state. The implementation in #622 had this problem were the changes in a global hash make the hint and errors classes to getting duplicated.
I choose to avoid completely this problem storing the attributes in a class and making it implement the same protocol as SimpleForm::Wrappers::Many and SimpleForm::Wrapper::Single. This also make possible to remove some conditionals to deal with Symbols in the components tree.

Input rendering
Before this work, when rendering the input, there was no way to pass information about the context where it is being rendered. I changed the implementation to always pass the wrapper options for the component rendering method itself.
To understand better lets look how a custom input was implemented before:
class CustomInput < SimpleForm::Inputs::Base
  def input
    @builder.text_field(attribute_name, input_html_options)
  end
end

So when rendering a wrapper Simple Form will call the method input of that class. As you can see we don't have a clean way to get information about the wrapper that is being rendered inside that method.
Now, Simple Form will pass an argument wrapper_options that hold the options defined in the Wrappers API. So, for our previous example, wrapper_options will contain class: 'form-input'.
So, our custom input will look like:
class CustomInput < SimpleForm::Inputs::Base
  def input(wrapper_options)
    @builder.text_field(attribute_name, input_html_options)
  end
end

Now we can use a new helper merge_wrapper_options to merge the options present in the form.input call and the options defined in the wrapper.
Finally, our custom input will look like:
class CustomInput < SimpleForm::Inputs::Base
  def input(wrapper_options)
    @builder.text_field(attribute_name, merge_wrapper_options(input_html_options, wrapper_options))
  end
end

Deprecations
The custom input/custom components methods now have to accept one argument with the wrapper options. The inputs/components defined using the old API will work but with a deprecation message.
These examples are deprecated:
class CustomInput < SimpleForm::Inputs::Base
  def input
  end

  def label
  end

  def hint
  end

  def label_input
  end

  def error
  end

  def placeholder
  end
end

To fix the deprecation message use:
class CustomInput < SimpleForm::Inputs::Base
  def input(wrapper_options)
  end

  def label(wrapper_options)
  end

  def hint(wrapper_options)
  end

  def label_input(wrapper_options)
  end

  def error(wrapper_options)
  end

  def placeholder(wrapper_options)
  end
end

Next steps

[x] Add proper documentation
[x] Test this new feature writing the wrappers for Bootstrap 3

Closes #622

Hello, can anyone help me I'm still learning rails and was trying to create a input to accept datepicker-bootstrap, I found this tutorial https://github.com/plataformatec/simple_form/wiki/Custom-inputs-examples, I createad as it was declared and worked for a form but when I load another don't, in my terminal I found the reason, that must be this issue and this deprecated, can you help me about this broblem?


Add support for any screen size

Easiest way to accomplish this is by adding a launch screen if we're only targeting iOS 8+.

Done by f304d4341006d4d7b77971aa88d11b8313881f08 and c04f7503ae231e3b33e6446cac7c2750d1ef0627


Add support for KMS update-alias

Add support for KMS UpdateAlias API (covered by Terraform test case). /cc @bblommers

Codecov Report

Merging #4143 (bd6db3d) into master (da09cfc) will decrease coverage by 0.00%.
The diff coverage is 75.00%.

@@            Coverage Diff             @@
##           master    #4143      +/-   ##
==========================================
- Coverage   94.84%   94.84%   -0.01%
==========================================
  Files         478      478
  Lines       52284    52287       +3
==========================================
- Hits        49591    49589       -2
- Misses       2693     2698       +5

Flag
Coverage Δ

servertests
55.39% <75.00%> (-0.01%)
:arrow_down:

unittests
94.76% <75.00%> (-0.01%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

moto/kms/responses.py
98.38% <75.00%> (-0.79%)
:arrow_down:

moto/config/models.py
99.46% <0.00%> (-0.18%)
:arrow_down:

moto/support/models.py
92.03% <0.00%> (-0.07%)
:arrow_down:

moto/ec2/models.py
95.95% <0.00%> (-0.05%)
:arrow_down:

moto/core/responses.py
93.34% <0.00%> (-0.04%)
:arrow_down:

moto/core/models.py
95.57% <0.00%> (ø)

moto/dynamodb2/parsing/reserved_keywords.py
100.00% <0.00%> (ø)

moto/utilities/utils.py
96.87% <0.00%> (+0.10%)
:arrow_up:

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 da09cfc...bd6db3d. Read the comment docs.


Update command to account for stratagem status

Update command to account for stratagem status
Signed-off-by: Will Johnson<EMAIL_ADDRESS>

Codecov Report

Merging #1020 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1020   +/-   ##
=======================================
  Coverage   95.42%   95.42%
=======================================
  Files           2        2
  Lines         153      153
=======================================
  Hits          146      146
  Misses          7        7

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 d697490...c07b624. Read the comment docs.

Some output:
[root@adm x86_64]#  iml stratagem scan --filesystem fs1 -p5d -r0d
✗ Filesystem None does not exist. errored
[root@adm x86_64]#  iml stratagem scan --filesystem fs17 -p0d -r5d
✗ Report duration must be less than purge duration. errored
[root@adm chroma-manager]#  iml stratagem scan --filesystem fs17 -p5d -r0d
✗ Internal server error. errored
[root@adm chroma-manager]#  iml stratagem scan --filesystem fs17 -p5d -r0d
✗ 'stratagem_servers' profile must be installed on all MDT servers. errored
[root@adm chroma-manager]#  iml stratagem scan --filesystem fs18 -p5d -r0d
✔ Stratagem: Scanning all MDT's successful

I've addressed all but the last comment. I'd like to discuss this one a bit if possible.


Many hotkeys do not work

For me all the hotkey in the "Panel" and the "Render" category do nothing. The other categories mostly work (except for "F10" in the "Window" category, which should open the preferences window).

I was able to reproduce a crash with hotkeys on the "Panel" menu.  However, for me the hotkeys in the "Render" category works, as does the "F10" hotkey.
Is it possible you have the focus set to an input widget like the Settings or Color  input values?  Pushing with the LMB on the view window should bring the focus back (albeit it will also start the playback currently -- the next version should fix that).
In any case, what platform are you on?  I can send you a new beta for you to try?

I know what's happening.  You probably hid the menu bar, did you not?  If so, I have to work on a work-around, but it will take a while.

Yes, i did hide everything except for the timeline.

I have a fix for it.   Give this Windows 64-bit version a try:
.exe
https://mega.nz/file/PWZigB4D#XJaMp0j3czBmA-sMJ3QYoFhDQxyqvBETPYiiwYUqSIY
.zip
https://mega.nz/file/7SoUzQyC#5_5_s5DTwHYhROuc1Gnof_QbFHa45QXQjANJdIO3kKc
If you need Linux or macOS, let me know.

I released a new version today with the fixes to the hidden menu bar.  It is version v0.4.0.  You can get it here in the releases section or in sourceforge.net.


Update package.json for issue 568

Support React Native 0.59 and newer versions - see issue #568 of acro5piano/react-native-big-calendar

Thanks!!

Released on v2.7.0


[SDK Request] Java SDK

Related Roadmap issue: https://github.com/openfga/roadmap/issues/5
Related Discussion: https://github.com/orgs/openfga/discussions/31

I am working on a Kotlin SDK in #86  which should also work for Java.

I'd like to suggest we make a Java SDK before considering a Kotlin SDK for the following reasons:

Java has an interoperability story for many other JVM languages. Kotlin, Scala, Groovy, Clojure, for example can all interoperate with Java objects.

Kotlin has a less-favorable story here, for example Kotlin objects cannot easily be extended by a Scala object due to conflicts on methods objects inherit from both systems (=== is an example). Kotlin and Groovy closures can also have a weird relationship.

Java releases language versions less often, and is more extreme in avoiding breaking changes. Code written and compiled with Java 1 will still be compatible (compile-time and run-time) with code written and compiled with Java 21, for example. This is not the case with Kotlin, which can require alignment of the version of Kotlin compiler used by both vendors and consumers. This means it'll be cheaper in terms of dependency updating (even if it's just compilers) for OpenFGA to invest in Java than in Kotlin.

It's comparatively easy to build a thin Kotlin client over a Java core client and deliver both a minimal idiomatic Java experience and an idiomatic Kotlin experience. If Java calls into Kotlin it will need to have Kotlin classes coming from (at least) a Kotlin standard library dependency that it otherwise shouldn't require.


Add code to exclude stacks based on an environment variable

This add code to do the following:

Utilise an environment variable, EXCLUDED_STACKS, to exclude a repo/stack from the build
Set the release_version based on the content of the VERSION file is the BUILD_ALL environment variable is set (with some content). If the VERSION file does not exist then the release_version will be set to the value of BUILD_ALL.
Some minor refactoring of the code to make it easier to read.

Signed-off-by: Steve Groeger<EMAIL_ADDRESS>Checklist:

[x] Read the Code of Conduct and Contributing Guidelines.

Related Issues:
https://github.com/kabanero-io/kabanero-collection/issues/47

Self merged as I needed to create another PR based off this PR.


Fix for #128: Make SOLR query for generator configurable through yaml

What changes were proposed in this pull request?
Allows for the generator to pick the sort order, groupBy field and sortBy field from the config yaml file.
Is this related to an already existing issue on sparkler?
#128
Will it close an existing issue?
Closes #128
How was this patch tested?
There are no unit tests for this patch.

Thanks @sujen1412 !


added Vars for the Google Analytics Interface

as mentioned in the Javascript Snippet Reference
https://developers.google.com/analytics/devguides/collection/analyticsjs/advanced

@cwerner1 thanks mate!


Reduce publish connection timeout

Fixes #2662
Signed-off-by: Michael Crosby<EMAIL_ADDRESS>

Codecov Report

Merging #2663 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2663   +/-   ##
=======================================
  Coverage   44.94%   44.94%
=======================================
  Files          92       92
  Lines       10048    10048
=======================================
  Hits         4516     4516
  Misses       4816     4816
  Partials      716      716

Flag
Coverage Δ

#linux
48.68% <ø> (-0.03%)
:arrow_down:

#windows
41.67% <ø> (ø)
:arrow_up:

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 1ac5ac6...1ad4968. Read the comment docs.

LGTM


[Astra DB] Use the "indexing" API option to unlock storage of long document texts in vector store

This PR uses the "indexing" options to denylist the note text itself from being indexed, thereby bypassing the max-length limitation on this field. This fixed the occasional SHRED_DOC_LIMIT_VIOLATION error from the Astra API when trying to store texts beyond ~8000 characters.
Since the indexing options are set at creation time, care has been taken about backward-compatibility, respecting the existence of preexisting collections with a warning. So, if using a preexisting collection, the user may see either

UserWarning: Collection 'created_MATTO' has unexpected 'indexing' settings (options.indexing = {"deny": ["MATTO", "metadata._node_content", "content"]}). This can result in odd behaviour when running  metadata filtering and/or unwarranted limitations on storing long texts. Consider reindexing anew on a fresh collection.

or

UserWarning: Collection 'created_old' is detected as legacy and has indexing turned on for all fields. This implies stricter limitations on the amount of text each entry can store. Consider reindexing anew on a fresh collection to be able to store longer texts.

I also took the time to refactor the vector store test suite slightly, allowing for an easier management of database secrets. All tests have passed in my environment.

@erichare might want to take a look


[Draft] Embedded forms!

This introduces a new uri attribute on fx-control that indicates the control is actually a whole other fx-fore element.
TODO:

[x] Inlining the form
[ ] Loading the form from an external resource
[x] Passing the initial data
[x] Receiving new values
[ ] Passing new values in

Creating a draft PR for visibility!

Makes absolute sense! I hope my old approach was useful to the actual implementation!


Can it work with ionic framework

Hello all,
am very interested to use it in my ionic app though am still new to ionic.
pls your reply is very important

I am interested in this issue too. Do you have any tweaks to make it working?

I am using it with ionic, it works fine, for Android 6 (SDK 23) you will need to add the following line to your AndroidManifest.xml
    <uses-permission android:name="android.permission.READ_CONTACTS" />
...and then use a plugin like [cordova-plugin-diagnostic](https://github.com/dpa99c/cordova-diagnostic-plugin#requestcontactsauthorization) to actually request authorization to use the above permission:
cordova.plugins.diagnostic.requestContactsAuthorization(function(status){

Hello,
After adding plugin app not opening, Can anyone share code clearly.....


Convert cygwin unix path to windows for eslint

If cygpath in user path, assume on cygwin and use it to convert to windows path before passing to eslint. This is necessary because eslint runs in cmd outside of cygwin and doesn't understand unix-like cygwin path.

This was hasty -- going back to fix + add tests.

Just so you're aware, pull requests with system calls won't be accepted, as they block Vim. If ALE is to support cygwin, the support would have to be pretty comprehensive. I tend to think that cygwin isn't worth supporting, and supporting the "Windows Subsystem for Linux" is a better option.


ext_proc: fix typo

Commit Message: ext_proc: fix typo
Additional Description:
small comment typo.
Risk Level: low
Testing: N/A
Docs Changes: N/A
Release Notes: N/a
Platform Specific Features: N/A

/assign @KBaichoo


Setting long tooltip on Windows causes abrupt crash

On google-music-electron, we got a report about issues with abrupt crashes when playing certain songs. After some triaging, we discovered it was caused by going over 127 characters on Windows.
https://github.com/twolfson/google-music-electron/issues/24
We have created a proof of concept gist to reproduce the issue. We are using Windows 7 from ievms but the initial report was on Windows 10 so that should work as well.
https://gist.github.com/twolfson/3dbd1ff7e4641e512849
We aren't sure whether this is something that electron can resolve or not. But at the very least, we think it should be documented.
In the meantime, we will be adding truncation in google-music-electron to avoid future issues.

This StackOverflow question says MSDN specifies that limit:

szTip
Type: TCHAR[64]
A null-terminated string that specifies the text for a standard tooltip. It can have a maximum of 64 characters, including the terminating null character.
For Windows 2000 and later, szTip can have a maximum of 128 characters, including the terminating null character.

Testing on OSX 10.10.5 it doesn't crash with long strings, but the tooltip doesn't get shown if message.length is larger than 4800.
The setToolTip function should handle those issues in each platform.


An aurelia modal without bootstrap

Helloo Patrick,
any chance that we might get a modal without bootstrap/jquery?
I would really appreciate - and I also saw some other requests in aurelia gitter - to have a modal without any UI framework dependency.
:-)

Hey excellent feedback.  I'm curious which would be more desired, a barebones modal or a few different samples using different CSS frameworks.  Any additional feedback welcome.

That is actually an easy answer. We developers like samples to copy/paste and see it in action. But if its too much work for YOU, just make it barebone working and everyone has to struggle individually with the one or other minor problem ;-)

Hey Patrick, as I know from gitter aurelia channel that you work on another modal sample maybe you wanna try => http://flexboxgrid.com/

I don't think that flexboxgrid has a modal implementation but I am working on converting the bs modal to be not dependent on Bootstrap

I'll put in a vote for a modal example using Materialize, http://materializecss.com/.  I am finding it difficult in getting the plugin to initialize itself as it relies on document.ready to call code like Waves.displayEffect().  Since aurelia loads partial pages document.ready is only called once and not on each class load unless you add an attach handler or inherit a base class that has an attach handler that initializes the code on each page/class load, even with that you have to dig through materialize source to find each initialization code like Waves.displayEffect() for each component, instead of relying on a document.ready trigger, so I would love to see how you approach solving this.
If you have time, thanks and thanks for your examples they have been really helpful to me :)

@PWKad Yes Flexboxgrid is only a grid. A modal is actually only a absolute positioned div with z-index: 1000 so I have not thought that you expect an extra plugin for such a feature. I thought you would implement that manually in the sample :-)
But maybe you should talk to aurelia interface guy and integrate this stuff :-)

The modal you are referencing (such as the z-index being 1000) is not a default modal it is just how bootstraps' modal works.  I was hoping to get some examples of other frameworks that you all would like to see the modal in.  I can put together a pure css version but if anyone has any recommendations on other CSS frameworks please let me know.

Hey Patrick, I would like to add my vote to a simple modal without any dependencies from other frameworks.

I was told in the Aurelia gitter that https://github.com/aurelia/dialog is the official dialog / modal plugin now, is that correct?
That one appears to be independent of twbs or other frameworks..
If that one is the official one, maybe this one should be marked deprecated and some hint put in the readme to point to dialog


[Gothic Multiplayer] AimRay intersection with player's camera bbox

When Player 2 casts a spell in Player 1 direction I guess the game starts to think that Player 1 cast it, and binds the effect to Player 1's AimVob
https://www.youtube.com/watch?v=mNRk3P-D24k - video demonstration

I am surprised to see that you got it working in a multiplayer project. Did this require a lot of adjustments?
Your hunch might be correct. The aiming feature was not implemented with more than one player in mind. A singleton aim-vob is used for aiming and thus is shared if there are multiple players.
To correct this issue, it would be necessary to tie a unique aim-vob to each individual player and it should be identifiable as such.
Additionally, aim-vobs must then be garbage-collected when players leave the server to avoid adding an infinite amount of aim-vobs.
On a technical level, this requires to edit the retrieval of the aim-vob which is fortunately supplied through a centralized function. The logic of the function should be easy to adjust. Furthermore, the creation of the aim-vob must be altered. The only fundamental new thing would be the garbage-collection.

somehow ajust your masterpiece to work without Union or Ninja, on ingame functions. Now I try to understand how.

If the core mechanics work, this should be no hurdle: GFA is a script package. It has nothing to do with Union or Ninja. They are not not required (GFA was even created before either of them).

Guess it's close to impossible to create unic aim-vob for every player inside gothic, because of Gothic dont rather sees difference between two players. GMP tells client who is who.

I assume, at some point, the GMP or client will have to communicate with Gothic to infer who is the player and how to interact with the world. This interface may be necessary there to allow uniquely identifying the aim-vob.

Close stale issue


Use namespace from current context

This PR makes stern get the namespace from the current context. User can still override the namespace by using the --namespace switch.
fixes #3

Great, thanks for sorting this out!
Could you please update the readme to say that current-context from kubectl is used by default but can be overridden with --context / --namespace

I updated the README and modify the cli usage help to match.


IOS 8 .. Cant share image on WhatsApp.

I am using window.plugins.socialsharing.share. I can share images through facebook but when I use whatsapp the images wont get loaded.

Hi, I am having the same issue. Have you found a solution yet?


run-time error -2146697211(800c0005)

hi i create macro but when i perform it display error run-time error -2146697211(800c0005) "the system cannot locate the resource specified"
and when debug it display "microsoft word has stopped working"

hello everyone ..
Please can someone just give a little explain how to start VBad in cmd ..what command to use ?
i create a tmp file in C: and in tmp i put the VBad file ,after doing that am stuck in cmd not nowing where to start..
i asked before in issue but sadly not receive response ,so if someone can help.;thank you

Please read Readme.


Switch to alpine for even smaller image size

227.52MB -> 146.20MB
Also, according to the Docker document, we should use ENTRYPOINT instead of CMD to run executables.
Lastly, modified .gitignore to ignore dev container files.

This may run into some problems with workflow since Alpine is not in Github-hosted runners.
Better check out thoroughly before switching.

It seems it's not a problem that Github doesn't provide Alpine runner, since the Docker image building process runs on Docker. I've test with act locally, it does work.


Extend X509 cert checks and error reporting in v3_{purp,crld}.c and x509_{set,vfy}.c

As mentioned recently e.g. in https://github.com/openssl/openssl/pull/12357#issuecomment-657407432
I've prepared a PR that adds various checks for not well-formed certs. Here it its.

add checks for many types of malformednesss to static int check_chain_extensions(X509_STORE_CTX *ctx) in x509_vfc.c. These are active only if X509_V_FLAG_X509_STRICT is set.
improve error reporting of X509v3_cache_extensions() in v3_purp.c
add error reporting to x509_init_sig_info() in x509_set.c
improve static int setup_dp(const X509 *x, DIST_POINT *dp) and related functions in v3_purp.c and v3_crld.c
add test case for non-conforming certificate from https://tools.ietf.org/html/rfc8410#section-10.2

On this occasion I've increased the adherence to the coding guidelines of those functions.

[x] documentation is added or updated
[x] tests are added or updated

@mattcaswell, since you added the option to use a non-default libctx in #11409
it can happen that adding the SHA1 hash to X509 structures fails, for instance because SHA1 has been deprecated or because no suitable implementation is available. So it can happen that x->sha1_hash remains NULL without an error being thrown.
Is this on purpose? I've tentatively added a respective TODO to X509v3_cache_extensions():
    /* TODO should we really silently skip hash calculation if sha1==NULL ? */

Nit: typo in commit message:
v3_{purp,crld.c}  ->. v3_{purp,crld}.c

Ups, wrong button!

Nit: typo in commit message:
v3_{purp,crld.c} ->. v3_{purp,crld}.c

Thanks @mspncp for this hint; fixed.
On this occasion I've also updated the title of this PR and extended its description, also in the commit message.
BTW, I would not mind if you review more than the commit header ;-)

BTW, after rebasing I found that some CMP CLI test cases started hanging waiting for password input despite the use of -batch.
I found that this is due to a wrong dependency in apps/cmp.c on engines which meanwhile are deprecated.
So I've added a commit fixing this.

BTW, I would not mind if you review more than the commit header ;-)

Impossible. I was reviewing and posting from my tiny  iPhone, which is the reason why I pressed the wrong button ;-)

BTW, I would not mind if you review more than the commit header ;-)

Impossible. I was reviewing and posting from my tiny iPhone, which is the reason why I pressed the wrong button ;-)

Then let's hope you don't hit by mistake the approve or delete button too often ;)

What a fantastic proposal for a new GitHub feature:

the [approve or delete] button

(inspired by E. Schrödinger)

What a fantastic proposal for a new GitHub feature:
the [approve or delete] button

This was no implicit proposal, I was just too lazy to put an 's' behind 'button',
but anyway a smart idea to quickly deal with PRs ;-)

add checks for many types of malformednesss to static int check_chain_extensions()

We will no doubt discover, once this is released, that people are using such malformed certs in production and unhappy about having them suddenly not work.  We should probably think through how to respond to them, in advance, whether that's just to say "sorry; get not-malformed certs" or to have another knob (ugh) to control the behavior, to tell them to set a verify callback, or otherwise.

add checks for many types of malformednesss to static int check_chain_extensions()

We will no doubt discover, once this is released, that people are using such malformed certs in production and unhappy about having them suddenly not work. We should probably think through how to respond to them, in advance, whether that's just to say "sorry; get not-malformed certs" or to have another knob (ugh) to control the behavior, to tell them to set a verify callback, or otherwise.

Though this would be a valid comment in general
it looks like you did not read what I wrote immediately thereafter:

These are active only if X509_V_FLAG_X509_STRICT is set.

which also would be obvious from looking at the proposed changes to check_chain_extensions().

add checks for many types of malformednesss to static int check_chain_extensions()

We will no doubt discover, once this is released, that people are using such malformed certs in production and unhappy about having them suddenly not work. We should probably think through how to respond to them, in advance, whether that's just to say "sorry; get not-malformed certs" or to have another knob (ugh) to control the behavior, to tell them to set a verify callback, or otherwise.

Though this would be a valid comment in general
it looks like you did not read what I wrote immediately thereafter:

These are active only if X509_V_FLAG_X509_STRICT is set.

which should also be obvious from looking at the proposed changes to check_chain_extensions().

Sorry for not reading more closely; at times I have a hard time even keeping up with the stream of email from github with updates on issues/PRs, and can't look into the code itself.
That said, X509_V_FLAG_X509_STRICT has preexisting behavior, so this is only a partial mitigation for the risk I was worried about.

That said, X509_V_FLAG_X509_STRICT has preexisting behavior, so this is only a partial mitigation for the risk I was worried about.

I don't fully understand what you mean here.
The only thing documented about X509_V_FLAG_X509_STRICT is that
it "disables workarounds for some broken certificates",
and this also covers the new situation with some more such checks.

That said, X509_V_FLAG_X509_STRICT has preexisting behavior, so this is only a partial mitigation for the risk I was worried about.

I don't fully understand what you mean here.
The only thing documented about X509_V_FLAG_X509_STRICT is that
it "disables workarounds for some broken certificates",
and this also covers the new situation with some more such checks.
Which concern do you still have?

I'm just expressing an opinion that, given the large size of our userbase, it seems plausible to me that someone is running code that currently sets the flag and is using certificates that currently work but will be "broken" by this change.  Given the current documentation that you quote, it seems perfectly reasonable for us to plan to tell them "you have to change your stuff; this is not documented to work for your setup".  I'm just asking that we make that an explicit plan by considering it now, instead of waiting for complaints to come in (and having a risk that if we had known now, instead of when complaints arrive, we might have picked a different option).

Before such new checks are added, I would like to the same checks in at least one of the linters (https://github.com/kroeckx/x509lint, https://github.com/zmap/zlint, https://github.com/certlint/certlint).

Sorry but I needed to add libctx related changes to X509.
You will probably have some nasty merges.

That said, X509_V_FLAG_X509_STRICT has preexisting behavior, so this is only a partial mitigation for the risk I was worried about.

I don't fully understand what you mean here.
The only thing documented about X509_V_FLAG_X509_STRICT is that
it "disables workarounds for some broken certificates",
and this also covers the new situation with some more such checks.

Sorry but I needed to add libctx related changes to X509.
You will probably have some nasty merges.

Thanks for your comment.
I like your changes done in PR #12153, and the merge conflicts turned out not that severe.
They also solved a TODO that I referred to above: https://github.com/openssl/openssl/pull/12478#issuecomment-660446462.

Oops, my most recent comment contained a large copy&paste mistake, so I deleted it.

Sorry but I needed to add libctx related changes to X509.
You will probably have some nasty merges.

Thanks @slontis for your comment.
I like your changes done in PR #12153, and the merge conflicts turned out not that severe.
They also solved a TODO that I referred to above: https://github.com/openssl/openssl/pull/12478#issuecomment-660446462.

The new error reporting of x509_sig_info_init() revealed that one of the very old test certs is malformed, namely test/testx509.pem:
Certificate:
    Data:
        Version: 1 (0x0)
        Serial Number: 24 (0x18)
        Signature Algorithm: md5WithRSAEncryption
        Issuer: C = AU, ST = QLD, CN = SSLeay/rsa test CA
        Validity
            Not Before: Jun 19 23:33:12 1995 GMT
            Not After : Jul 17 23:33:12 1995 GMT
        Subject: C = AU, ST = QLD, CN = SSLeay/rsa test cert
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                RSA Public-Key: (512 bit)
                Modulus:
                    00:aa:db:7a:a9:2e:46:4f:15:71:19:96:16:6b:4f:
                    f8:bb:e2:30:1d:fe:e9:d8:b3:59:6d:c3:c1:a7:df:
                    ce:7c:87:18:01:70:50:9f:c8:4e:fd:17:b5:bb:02:
                    ca:5d:d0:a3:22:86:86:b3:80:cb:74:6f:3c:ae:4c:
                    df:c8:ae:5d:3d
                Exponent: 65537 (0x10001)
    Signature Algorithm: md5
         04:59:ce:c4:70:5f:29:a3:6f:d9:3b:a9:0d:0b:02:bf:20:21:
         fa:0e:86:e0:2d:e9:00:e6:54:8b:af:91:2f:ba:2a:19:9e:26:
         69:e6:51:73:03:0e:3e:63:33:d0:ed:72:89:ce:5f:47:60:83:
         31:01:31:72:a9:28:83:f6:3b:31

Note the Signature Algorithm: md5, which should contain md5WithRSAEncryption.
This made test_x509 fail. So I've replaced that cert with a valid X.509v1 cert.

The new error reporting of x509_sig_info_init() also causes test_rusext to fail:
Unable to load Certificate
4067B521007F0000:error::digital envelope routines:pkey_set_type:unsupported algorithm::0:
4067B521007F0000:error::x509 certificate routines:x509_pubkey_decode:unsupported algorithm::0:
4067B521007F0000:error::x509 certificate routines:x509_sig_info_init:error getting md by nid::0:

which I think is correct because NID_id_GostR3411_94 is known but the implementation of md_gost94 seems disabled.
So I tried skipping these tests by adding to test/recipes/25-test_rusext.t:
plan skip_all => "GOST support is disabled in this OpenSSL build"
    if disabled("gost") || disabled("engine");

but this was not sufficient for various configurations.
How to detect/handle this properly?

How can one detect using Perl if GOST R 34.11-94 is enabled/available?

Hmm, you would have to somehow detect whether the gost engine is available. However this error is IMO wrong - the certificate can be properly parsed by openssl so I am not sure the error from the x509 command should be reported. Only when you try to verify the certificate signature it should report such failure.

Good point that parsing and analyzing the cert should work independently of the availability of a GOST implementation.
Meanwhile I've found a better solution for GOST R 34.11-94 in x509_sig_info_init(),
namely not to use the theoretical security bits number, which would be EVP_MD_size(md) * 4 = 256 / 2 = 128,
but to directly set, as has been done also for SHA1, the currently known number of security bits,
which is 105 according to https://link.springer.com/chapter/10.1007%2F978-3-540-85174-5_10.
This also makes the tests happy again.

But the issue that parsing should not abort if used md algo is unavailable is not really fixed?

But the issue that parsing should not abort if used md algo is unavailable is not really fixed?

I've meanwhile fixed this also for other algorithms and added the following remark
in the resurrected (now internal) documentation of x509v3_cache_extensions():
It sets B<X509_SIG_INFO_VALID> in x->flags if x->siginf was filled successfully,
which may not be possible if a referenced algorithm is unknown or not available.

Before such new checks are added, I would like to the same checks in at least one of the linters (https://github.com/kroeckx/x509lint, https://github.com/zmap/zlint, https://github.com/certlint/certlint).

@kroeckx, though I agree that something like that would make sense (while I don't know those projects),
I would not like to make this PR on any progress there because doing so would block this PR indefinitely.

Rebased the PR, solving merge conflicts.

Before such new checks are added, I would like to the same checks in at least one of the linters (https://github.com/kroeckx/x509lint, https://github.com/zmap/zlint, https://github.com/certlint/certlint).

@kroeckx, though I agree that something like that would make sense (while I don't know those projects),
I would not like to make this PR on any progress there because doing so would block this PR indefinitely.

So I started implementing some of the checks in x509lint.

So I think I've modified x509lint to cover all the new errors, and
some more. I've started running this on my certificates database.
After having processed 1M certificates, I see the following errors:
err_akid_missing: 422
err_not_all_crl_reasons: 6
For all the ones I've looked at, they seem to be test certificates
from an untrusted roots.

I'm now at 30M certificates tested, and of what is in the CT logs
I don't have any concerns currently.
But I have an /etc/ssl/certs/dovecot.pem (from 2014) that gets:
E: No key usage
E: CA certificate with non-critical Basic Constraints
I: Checking as root CA certificate
I have no idea if dovecot ever fixed it's generation of
certificates, but I know that things like outlook and thunderbird
accept such certificates. But it seems you didn't add such checks,
you marked the non-critical Basic Constraints as a TODO, and I don't
see you adding a check for no key usage, only an empty one.
So I think I need to wait until it gets to certs that it didn't
get from CT to see if something will break.

So looking at other certs seen in the wild, I see various
certificates that have the combination of no key usage, no basic
constraints, no skid, where at least the skid check is now part of
the strict check.

I'm now at 30M certificates tested, and of what is in the CT logs I don't have any concerns currently.

Wow, what a large amount of test certs!

But I have an /etc/ssl/certs/dovecot.pem (from 2014) that gets:
E: No key usage

RFC 5280 requires the key usage extension only for (typical) CA certs:

Conforming CAs MUST include this extension in certificates that
contain public keys that are used to validate digital signatures on
other public key certificates or CRLs.

So I suggest re-wording the error message to
E: No key usage for CA certificate
or
E: CA certificate without key usage

E: CA certificate with non-critical Basic Constraints

Hmm, this error, as well as the one given above, should only be given for
"CA certificates that contain public keys used to validate digital signatures on certificates".
How can a tool know about this (unless the cert in question is being used during cert chain validation)?
Well, on the other hand I can hardly imagine a CA cert not used for this purpose.
Still one might consider downgrading those errors to warnings
or adding a verification option to explicitly indicate that CA certs are supposed to be used for cert or CRL verification
or to make that the default but add an option to disable this assumption and thus those types of errors.

I: Checking as root CA certificate I have no idea if dovecot ever fixed it's generation of certificates, but I know that things like Outlook and Thunderbird accept such certificates.

When using such certs for cert chain validation, such certs should not be acceptable,
but maybe all sorts of checks are disabled anyway on certs explicitly trusted?

But it seems you didn't add such checks, you marked the non-critical Basic Constraints as a TODO,

All right, just solved this TODO, as well as tree further ones: AKID and SKID must not be marked critical,
and if the subject is empty the SAN extension must be marked critical.

and I don't see you adding a check for no key usage, only an empty one.

Yeah, I had thought at first that the non-emptyness of the key usage for CA certs is checked indirectly already,
but this was not really the case; done now.

So looking at other certs seen in the wild, I see various certificates that have the combination of no key usage, no basic constraints, no skid, where at least the skid check is now part of the strict check.

For EE certs those types of extensions are not required.
I assume you mean CA certs with those defects (where for CA certs the problem cannot be the absence of basic constraints but their missing criticality marker).

x509lint currently doesn't really work properly on self-signed
non-CA certificate, but as we have already covered in a different
PR, most of rfc5280 doesn't really apply to such certs. But you're
now adding new checks based on rfc5280, and are applying it to certs
that don't need to conform to it.
As far as I know, placing just a self-signed non-CA in the trust
store should just work to verify the chain, but I think this PR adds
more checks and that some of them will cause breakage. Maybe the
whole strict check part should depend on num > 0.

I'm now at 30M certificates tested, and of what is in the CT logs I don't have any concerns currently.

Wow, what a large amount of test certs!

I actually have more than 2G certificates.

But I have an /etc/ssl/certs/dovecot.pem (from 2014) that gets:
E: No key usage

That dovecot cert is really weird, it only has 3 extentions:

SKID
AKID
CA:TRUE

But there is no reason for it to be a CA.

I think #12140 get fixed by this PR.
It would be nice that we actually have tests for things we want to reject.

#12141 is probably also fixed.

I think #12140 get fixed by this PR.
It would be nice that we actually have tests for things we want to reject.

#12141 is probably also fixed.

Not really. We need to distinguish general certificate well-formedness, which is the topic of this PR,
and whether the actual use of keys contained in certs is allowed by their key usage entries.
See my new bug report #12721 generalizing the two bug reports referred to above.

x509lint currently doesn't really work properly on self-signed non-CA certificate,

Apparently this holds for various crypto software, including the NSS lib used by Mozilla Thunderbird, Firefox, etc.
For instance, I took part in discussions on this topic on Bugzilla and even offered a pragmatic patch to them.
https://bugzilla.mozilla.org/show_bug.cgi?id=202329
https://bugzilla.mozilla.org/show_bug.cgi?id=1523130
but those guys do not care much about it, and I doubt their experts really understand the topic and its implications.

but as we have already covered in a different PR, most of rfc5280 doesn't really apply to such certs.

Yes, and the same hold more generally for self-issued non-CA certs.

But you're now adding new checks based on rfc5280, and are applying it to certs that don't need to conform to it.

Very good point - I was not aware of that when preparing this PR where I did not think of those types of certs.

As far as I know, placing just a self-signed non-CA in the trust store should just work to verify the chain, but I think this PR adds more checks and that some of them will cause breakage.

Some of the new checks only pertain to CA certs, but indeed there are others that affect also self-issued EE certs.

Maybe the whole strict check part should depend on num > 0.

That would be too much of an exception, so I've refined this idea.
I've just added a condition to make sure that the strict cert checks are not done for self-issued non-CA certs
and added a comment that this is because RFC 5280 does not apply to them according RFC 6818 section 2.

So I've made some other changes to x509lint and restarted going
over the database. I've put some current stats at:
https://www.roeckx.be/x509lint_stats.txt

Before such new checks are added, I would like to the same checks in at least one of the linters (https://github.com/kroeckx/x509lint, https://github.com/zmap/zlint, https://github.com/certlint/certlint).

@kroeckx, can this PR be approved now?
Would be nice if this gets merged before beta1.

Thanks @kroeckx for your interesting new comments.
I think I've meanwhile answered all of them.

Thanks @kroeckx for your further comments, which motivated two further small changes.
For the three remaining new comments I don't think a change is due.
Can you approve this PR now, such that it can be merged before feature freeze and will make it into 3.0?

Can this be approved now?

@kroeckx, would be really good if we can finalize this PR now after nearly 8 weeks.
The hitherto checks on certificates have been far from being well-structured, systematic, and complete,
and this PR has certainly improved the situation but it does not need to be perfect.
Any further completions can still be done in subsequent PRs.

I would approve but @kroeckx has much better insight into the changes so his approval would be more valuable.

It's propbably ok, but I need to find some time to do the final
review. I'll try to find some time this evening.

But please wait with merging for @kroeckx final review.

Thanks a lot again @kroeckx for your thorough review and the interesting discussion!
Very pleased that this PR is finally approved, still in time for he beta1 release :tada:

Merged :smile:


Fixing sample code in examples

After the for loop we can see 'x1, y1, x2, y2 = detections['bbox_xyxy']' instead it should be just detection 'x1, y1, x2, y2 = detection['bbox_xyxy']' same goes for the below statements following it

Thanks @josephwatson1026! Solved!


Import error on pip install

When installing in a new environment (say in docker on deploy), the pip install will fail with ImportError: No module named 'django'.
This happens because setup.py does a from wagtailmenus import __version__ which loads __init__.py which in itself imports django. It should not assume, however, django is already built and installed during a pip install -r requirements.txt.

Fixed in latest version.


fix: enable screen reader to read file upload desc and error

Closes carbon-design-system/carbon-components-angular#2286
Adding a role attribute to description and invalid text so screen reader such as JAWS can read them.
https://www.ibm.com/able/requirements/requirements/#4_1_3
This fix is for version 4
Changelog
New

{{new thing}}

Changed

{{change thing}}

Removed

{{removed thing}}

Sorry for the urgent request but is it possible to get a review by today or tomorrow? Otherwise my team will need to file a deviation this week.

Yes @andyl309, this will be merged by end of today.


Paket hangs forever if using symlinks

Description
I have following folder structure:
├── Project1
│    └── ...
│    └── symlink1
│    └── symlink2
│    └── P1.csproj
│    └── paket.references
├── Project2
│    └── ...
│    └── symlink1
│    └── symlink2
│    └── symlink3
│    └── P2.csproj
│    └── paket.references
└──  (...)
└──  MySolution.sln
└──  paket.dependencies

Our solution has multiple projects and there are symlinks inside project folders. The symlinks are mapped to local network storage. They are not included in any project and only provide access to shared resources. Some of them have considerable amount of data (20-50GB).
Executing paket (install/update/restore) in this configuration takes eternity.
After:
.paket/paket restore -v
Is get: "Parsing (...)\paket.dependencies" and nothing happens for hours. :/
Known workarounds
After removing all symlinks paket runs as expected and takes only 10-20 seconds.
Is there any possibility to exclude certain paths from processing?
(Paket version 5.186.0)
Thanks

Oh wow.
Are 5he symlinks only in folders that have a references file in it? If so
we could possibly come up with something in the references file.
Am Do., 8. Nov. 2018, 08:51 hat incca-konstantin-savchenko <
<EMAIL_ADDRESS>geschrieben:

Description
I have following folder structure:
├── Project1
│    └── ...
│    └── symlink1
│    └── symlink2
│    └── P1.csproj
│    └── paket.references
├── Project2
│    └── ...
│    └── symlink1
│    └── symlink2
│    └── symlink3
│    └── P2.csproj
│    └── paket.references
└──  (...)
└──  MySolution.sln
└──  paket.dependencies
Our solution has multiple projects and there are symlinks inside project
folders. The symlinks are mapped to local network storage. They are not
included in any project and only provide access to shared resources. Some
of them have considerable amount of data (20-50GB).
Executing paket (install/update/restore) in this configuration takes
eternity.
After:
.paket/paket restore -v
Is get: "Parsing (...)\paket.dependencies" and nothing happens for hours.
:/
Known workarounds
After removing all symlinks paket runs as expected and takes only 10-20
seconds.
Is there any possibility to exclude certain paths from processing?
(Paket version 5.186.0)
Thanks
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/fsprojects/Paket/issues/3411, or mute the thread
https://github.com/notifications/unsubscribe-auth/AADgNAHgzWR_-8jBaYku1g2deSO3A3-cks5us-KagaJpZM4YUKV2
.

Yes, more or less. There are some more symlinks but it seems only those "heavy-weight" linked folders cause the problem.

Currently I won't be able to do this myself, but I think we would accept a PR that creates a solution to ignore folders and files from paket's csproj / references file search. I think we should create a .paketignore file with similar features like .gitignore. For the start it's probably enough to just allow ignore patterns.


Calibrate Pipette Mount: Calibration Status (App)

As a robot user, I would like to know if I've calibrated my pipette's mount.
Acceptance Criteria

If user has not calibrated pipette since last pipette change, display warning asking user to calibrate pipette mount

Implementation Notes

Dependent on #2227

Design
https://user-images.githubusercontent.com/2686086/45357827-d3b87280-b5c7-11e8-95cd-6fdb66f2c97f.png

Note we want to update this design to clarify what 'calibrate' means (disambiguate from actual pipette volume calibration)


knife boostrap not picking up nodes from search query of vaults

knife bootstrap  --ssh-user  --config  --environment  --node-name xyz-123 --bootstrap-vault-json {"vault":"item"} --sudo --run-list recipe[testing_1]
Gives WARNING: No clients were returned from search, you may not have got what you expected!!
Although, vault has search query (name:xyz*) associated to it and results in nodes which have name starting from xyz.
Why knife bootstrap is not getting node names and resulting in WARNING ?

Issues with knife-bootstrap should be opened against the chef repository.