Add Out_channel STM tests

The Lin Out_channel test is a sore point of the test suite:

it required several revisions to get to the current state #387 #370 #319
it takes too long to run on macOS and has therefore been disabled #326
it doesn't always trigger on FreeBSD #401
it occasionally takes very long to run or shrink which can cause timeouts #378

Out_channels buffer internally, meaning length's result can vary.
This is a bad fit for Lin's sequential consistency test, because we may end up finding counterexamples of different buffering (between a parallel and any interleaved sequential run) - or just spend a long time searching for one.
As such, a model-based STM test is a better fit - and this PR offers one.
The new model-based test

tests sequential and parallel usage
runs across all CI platforms as a positive test
covers as much of the Out_channel module as the existing Lin test
runs much more predictably
enables us to test Out_channel on macOS again (without any issues)

Many things thus speak for switching to it.
On the other hand, despite its downsides the old Lin test has also managed to stress the runtime into triggering defects #412
Technically, there are a few nuggets in the test code:

we model both closed and open Out_channels with suitable preconditions. As such the test can generate open-close-open-close cmd sequences.
the uncertainty of buffering affecting length's output is handled by comparing less-or-equal-to the model's length
binary-mode (only available on Windows) is modeled in the state

when enabled on MinGW/Cygwin it means length increases by 2 for every '\n' output (since '\n' maps to "\r\n")
position does not reflect this translation though
the tests finally found a counterexample illustrating how buffering may interfere with set_binary_mode: it may not be the mode enabled at output-call-time that takes effect (example below). This is solved by always calling flush before set_binary_mode on MinGW/Cygwin where this matters:

Open_text : Ok (())
Set_binary_mode true : ()
Output_char '\n' : Ok (())
Set_binary_mode false : ()
Flush : ()
Length : 2

Closes #378 and #401

CI summary for 2150652:

All 6 Cygwin/MinGW trunk workflows failed with a version mismatch, since trunk is now 5.3
linux-arm64-5.2 aborted domain_spawntree with Fatal error: Failed to create domain #428

Out of 59 workflows 7 failed with 1 genuine failure and 6 ci setup issues

I've rebased the PR on main after the merge of #429

CI summary for 024dd85

4 workflows aborted domain_spawntree with Fatal error: Failed to create domain #428

Cygwin 5.2
Cygwin trunk
FP trunk
MinGW 5.2

MinGW bytecode 5.2 timed out during threadomain #203

Out of 44 workflows 5 failed with all 5 being genuine failures.

On the other hand, despite its downsides the old Lin test has also managed to stress the runtime into triggering defects #412

Do you think the STM tests are less likely to trigger such defects?

Thanks for the review!
Discussing this PR with you triggered me to look up previous counterexamples reported by the Lin Out_channel test.
Indeed, the last merge to main a571972 triggered, e.g., the following for the Linux 5.2 debug workflow:
Messages for test Lin Out_channel test with Domain:

  Results incompatible with sequential execution

                                           |
                         Out_channel.output_byte t 2 : Ok (())
                                           |
                       .--------------------------------------.
                       |                                      |
         Out_channel.length t : Ok (1)         Out_channel.close_noerr t : ()

This should have a possible sequentialization (below) which we seem to miss:
Out_channel.output_byte t 2;;
Out_channel.length t;;
Out_channel.close_noerr t;;

Looking at previous counterexamples also made me realize that

some of them are triggered by using close/close_noerr in parallel. However we won't generate such inputs in this STM test version ATM unfortunately, because they don't have a well-balanced open-close serialization. I want to experiment with lifting this limitation.
other Lin Out_channel counterexamples are triggered by weird output unlinearizable behaviours arising from running other cmds on already closed channels. This is a gray-zone specification-wise, which does not offer an immediate benefit AFAICS. As such, I'm more reluctant to invest in lifting it.                                                                                |
                                                                                Out_channel.flush t : Ok (())
                                                               Out_channel.output_bytes t "7)\016)\170\245A{(2\255\000mr\185\243\206\2475-\192i\135\2216}w" : Ok (())
                                                                                Out_channel.set_binary_mode t false : Ok (())
                                                                                |
                                                         .---------------------------------------------------------------------------------------------------------------.
                                                         |                                                                                |
                                           Out_channel.length t : Ok (27)                                                                                Out_channel.close_noerr t : ()
                                       Out_channel.is_buffered t : Ok (true)                                                                               Out_channel.close t : Ok (())
                                       Out_channel.output_byte t 6 : Ok (())                                                                               Out_channel.pos t : Ok (65536)
                                                                                Out_channel.is_buffered t : Ok (true)
                                                                                Out_channel.output_bytes t "K\226" : Error (Sys_error("Bad file descriptor"))
                                                                                Out_channel.is_buffered t : Ok (true)
                                                                                Out_channel.output_substring t "\197\180\2484g\180\230\193" 4 7 : Error (Invalid_argument("output_substring"))
                                                                                Out_channel.flush t : Ok (())

Our discussion also made me check my recollection regarding locking:
https://github.com/ocaml/ocaml/blob/cedff5854ac91dccf5847b527192223ef506b1e2/runtime/io.c#L60
All operations on channels first take the channel lock.

As such, they Out_channel operations should act atomically when used in parallel and be sequential consistent.

On the other hand, despite its downsides the old Lin test has also managed to stress the runtime into triggering defects #412

Do you think the STM tests are less likely to trigger such defects?

Possibly, but I'm unsure.

A single Lin input will call the Out_channel interface (up to) 50 times * 1 parallel run * #interleavings times.
In comparison a single STM input will call the interface (up to) 25 times * 1 parallel run.

Since #interleavings can be quite high, a corner case bug is more likely to trigger more often when it is run more.
On the other hand, when considering this behaviour across a count of 1000, the negative Lin test will finish sooner (and report a "counterexample") whereas the current STM test runs to completion (1000 inputs * 25 repetitions).

In 8236876 I extend the STM tests to be able to generate close and close_noexn in state Closed too.

This should have a possible sequentialization (below) which we seem to miss:

In the sequentialized version, the length will most probably be 0, as the buffer is not flushed; the output we see is due to the close_noerr being half-run, having flushed but not closed yet (as those two steps are explicitly not run atomically), isn’t it?

This is a gray-zone specification-wise, which does not offer an immediate benefit AFAICS.

To make sure that I understand correctly what this is doing, because I think I missed it in my first review: due to the postcond function, we’ll never test close or close_noerr in one of the parallel branches except when the other branch is only doing open and close calls, or am I mistaken in how postcond is used in all_interleavings_ok? This would mean those tests would never run into issues such as ocaml/ocaml#11878 I suppose?

This should have a possible sequentialization (below) which we seem to miss:

In the sequentialized version, the length will most probably be 0, as the buffer is not flushed; the output we see is due to the close_noerr being half-run, having flushed but not closed yet (as those two steps are explicitly not run atomically), isn’t it?

This is a probable explanation indeed! :+1:
However it seems a bit unsatisfying that this stops testing and is reported as a counterexample of parallelism-safety.

This is a gray-zone specification-wise, which does not offer an immediate benefit AFAICS.

To make sure that I understand correctly what this is doing, because I think I missed it in my first review: due to the postcond function, we’ll never test close or close_noerr in one of the parallel branches except when the other branch is only doing open and close calls, or am I mistaken in how postcond is used in all_interleavings_ok? This would mean those tests would never run into issues such as ocaml/ocaml#11878 I suppose?

Point well taken - and yes, you are right :+1:
Following the Erlang version described in the ICFP'09 paper, STM will generate candidate "Y"-triples and only keep those which satisfy all preconditions in all interleavings (which is what all_interleavings_ok should express). This indeed leaves out two parallel close* cmds.
I've therefore taken a pass over the STM test and extended the cmds so that all of them can also occur in state Closed. The only generator and precond limitation now is that Open_text is not allowed in state Open (this was also a limitation of the Lin test).
This revealed a divergence from the spec as I shared offline:
val close : t -> unit
(** Close the given channel, flushing all buffered write operations.  Output
    functions raise a [Sys_error] exception when they are applied to a closed
    output channel, except {!close} and {!flush}, which do nothing when applied
    to an already closed channel.  Note that {!close} may raise [Sys_error] if
    the operating system signals an error when flushing or closing. *)

Yet output_string, output_bytes, output, and output_substring of length 0 on a Closed channel does not fail, e.g.:
--- Failure --------------------------------------------------------------------

Test STM Out_channel test sequential failed (22 shrink steps):

   Close
   Output_string ""

+++ Messages ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Messages for test STM Out_channel test sequential:

  Results incompatible with model

   Close : Ok (())
   Output_string "" : Ok (())

For now, I've adjust postcond to accept these cornercases.
We should consider submitting a PR to adjust the specification though...

Some overdue CI summaries...
For 9c63209:

Cygwin trunk aborted during domain_spawntree #428
MinGW bytecode 5.1 crashed during threadomain #203
MinGW bytecode 5.2 aborted during domain_spawntree #428
MinGW trunk aborted during domain_spawntree #428
macOS trunk failed to build dune #433
Cygwin 5.2 was cancelled after 138m during Dynlink #307

Out of 44 workflows 5 failed and 1 was cancelled, all 6 due to genuine issues
For 8236876:

Cygwin 5.2 aborted during domain_spawntree #428
Cygwin trunk aborted during domain_spawntree #428
MinGW 5.2 aborted during domain_spawntree #428
MinGW bytecode trunk aborted during domain_spawntree #428
macOS trunk failed to build dune #433

Out of 44 workflows 5 failed with all 5 being genuine issues
For 0c8fdcb:

MinGW bytecode 5.1 timed out in threadomain #203
4 workflows aborted during domain_spawntree #428

Cygwin 5.2
Cygwin trunk
MinGW 5.2
macOS 5.2

macOS trunk failed to install dune #433
MinGW 5.1 failed the new STM Out_channel test with flush raising Sys_error("Bad file descriptor") when used in parallel
all 21 5.2 and trunk/5.3 workflows failed the new STM Out_channel due to the exception regression #432

32bit 5.2
32bit trunk
Bytecode 5.2
Bytecode trunk
Cygwin 5.2
Cygwin trunk
FP 5.2
FP trunk
Linux 5.2
Linux 5.2 debug
Linux trunk
Linux trunk debug
MinGW 5.2
MinGW bytecode 5.2
MinGW bytecode trunk
MinGW trunk
macOS 5.2
linux-arm64-5.2
linux-s390x-5.2
linux-ppc64le-5.2
macos-arm64-5.2

Out of 44 workflows 24 failed with a total of 28 failures (4 workflows failed two tests) with all of them being genuine

The PR's latest test revision is so effective at triggering the #432 regression that we should consider temporarily relaxing the test to accept the current behaviour, to avoid having to check ~20 failing workflows on each CI run... :grimacing:

I rebased on main to avoid more false alarms and added 86f2ab2 to temporarily disable the #432 regression reports.

CI summary for merge to main:

macOS trunk failed to build dune #433

Out of 45 workflows 1 failed with a genuine issue


#40-enable mute toggle. vol-up/dn also unmutes if needed

Successfully tested on my system.
Change describption: see #40

I think it depends on the Device you are using. I use a VOLSTEP of 10 on my Pi Zero as 255 is 100% on my device. My volume range is 0-255 on a Pi Zero with a Miniamp. So the 500+ step will always max out to 255 for me. A Pi 3 should have a much wider volume range. Hope that helps.

Yeah, like @itkevin pointed out, I also think it's device-depending.
On my Pi 3b with the USB sound card from your original item list, the absolute volume scale goes from 0-150.
(I had to change $DEVICE to "Speaker" to make it work in the first place, which also is a sign that things work a little differently depending on the system.)
Lastly, it's also a matter of (my) personal preference to have really fine-grained volume steps.
But I can as well change $VOLSTEP to 10 and update the PR, as this might be the better default for most people.
Your call, @MiczFlor :)

Hi @pheck
I will get to this only end of the week, this week is very short in Berlin (first of May and all...). Until then, there is one thing which was brought up in the original feature post: could you change and test the path of the volume file into the /tmp folder? I will also make changes to have everything in that folder that is created for each session.
The only thing that this might require is a third variable like $defaultVolumeValue as a "preset", a starting point to read from. Something like:
if /temp/volume file does not exist
write $defaultVolumeValue into /temp/volume file

Hi @MiczFlor,
sure, no worries.
My bad, I missed the /var/tmp change in the actual PR. Will add/test that soon.
As for your second thought: if I got you right, you want to add a default value for the volume.
Imho, setting a default value only makes sense once - if ever: after the system starts. When unmuting, what I want is the same volume level like before I muted. And even after a system start, I'd prefer to have the volume level that I left with (it seems to be persistent across reboots) instead of a default.
Plus, technically, as the system always is at some volume level that can be read, not having a default wouldn't break anything either.
I might be short-sighted here, but I don't see a reason to implement a default.

Hi @pheck
You are right. Let's keep the volume file intact. Because /tmp files are deleted on reboot I introduced a settings folder
https://github.com/MiczFlor/RPi-Jukebox-RFID/tree/master/settings
Could you alter your pull request to work with that folder? Not sure what this folder will also contain in the future, but it might make sense to have all settings in one place, like spotify etc.
When you git pull and work with the latest repo, please check if the changes to your volume file require sudo or not. I prefer if they don't.
Thanks for your input, makes me understand the usability issues better.
All the best, m

HI @pheck
I might have lost you in my long thread of questions :) here is another one:
the volume level that is stored is only stored and changed if somebody uses the up and down option. If somebody "sets" the volume to e.g. 80% and then uses the volume down option, it will not reduce the value from 80% but from the last stored up / down value.
Could you make it work in such a way that it will "always" store the latest volume level in the vol file to read for the next action?

Hi @MiczFlor,
True. I fixed the behaviour for setvolume like this: if present, setvolume now deletes the temporary volume file, so any subsequent volup/dn commands will work correctly, i.e. based on the current, not the stored volume.
Will have a look at the settings directory now.

Hi @MiczFlor,
while checking the settings-directory, I had another look at the previous comments and I think there might have been a mistunderstanding: the volume level itself is already preserved accross reboots.
So, there's no need to save/restore it manually. And in turn, no need to move the volume-file to a non /tmp location like "settings". (let alone hooking into some "before shutdown/reboot" and "after startup" events to do the actual save/restore at the right time)
Imho, the current implementation covers all aspects, which sum up to:

mute command toggles between mute/unmute, unmuting to the volume before mute
if muted, volup/dn commands both also unmute before increasing/decreasing the volume
setvolume command also deletes any temporarily stored volume level
temp file to store volume level goes into tmp directory as suggessted by ralle12345
bonus: the system starts with the same volume level it had before reboot/shutdown (system default)

Please review and let me know if you like me to change anything.

Hi @MiczFlor ,
sure, sounds great :)
And good idea to pull out the settings into a central place.
As these tend to grow over time, it might be worth thinking about using a config file (.sh) that just sets environment variables as needed, and include it into playout_controls.sh and where ever else it's appropriate.


eslint-plugin-hydrogen incompatible with Prettier V3

What is the location of your example repository?
No response
Which package or tool is having this issue?
Other / I don't know
What version of that package or tool are you using?
<EMAIL_ADDRESS>What version of Remix are you using?
No response
Steps to Reproduce
Upgrade to Prettier V3
Expected Behavior
ESLint server shouldn't crash
Actual Behavior
eslint-plugin-hydrogen currently has Prettier V2 has dependency.
ESLint is crashing when using prettier V3.
TypeError: prettier.resolveConfig.sync is not a function

Feel free to remove it that plugin from your ESLint config. It was more relevant in Hydrogen v1 but not so much at the moment. We will probably deprecate it soon.


Appstudio update test-component-pac-mzwt

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI/test-component-pac-mzwt-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
46 seconds
init

✅ Succeeded
15 seconds
clone-repository

✅ Succeeded
36 seconds
build-container

✅ Succeeded
19 seconds
inspect-image

✅ Succeeded
1 minute
deprecated-base-image-check

✅ Succeeded
3 minutes
clair-scan

✅ Succeeded
1 minute
clamav-scan

✅ Succeeded
20 seconds
sbom-json-check

✅ Succeeded
18 seconds
label-check

✅ Succeeded
6 seconds
show-sbom

✅ Succeeded
8 seconds
show-summary

Pipelines as Code CI/test-component-pac-mzwt-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
8 seconds
init

✅ Succeeded
17 seconds
clone-repository

✅ Succeeded
31 seconds
build-container

✅ Succeeded
20 seconds
deprecated-base-image-check

✅ Succeeded
23 seconds
inspect-image

✅ Succeeded
11 seconds
clair-scan

✅ Succeeded
1 minute
clamav-scan

✅ Succeeded
10 seconds
sbom-json-check

✅ Succeeded
24 seconds
label-check

✅ Succeeded
13 seconds
show-summary

✅ Succeeded
12 seconds
show-sbom


Import firstof from future to ensure Django 1.8 compatibility

Fixes this warning about the upcoming changes to the firstof template tag
RemovedInDjango18Warning: 'The `firstof` template tag is changing to escape its arguments; the non-autoescaping version is deprecated. Load it from the `future` tag library to start using the new behavior.

Thanks for the patch, looks good. Thanks!

Aces!


Does Castle Mock support MTOM request?

I'm trying to sending a mtom request to WSDL that i have but i keeping getting this error below:
<error-response>
   <error-message>getInputStream() has already been called for this request</error-message>
</error-response>

On log i not see any error.

Thanks, this will be great!
Here a WSDL example:
https://gist.github.com/Urahara/32cb4a29828459f897a33bad77071026

Hi @Urahara.
Thank you very much for the WSDL example.
I have added support for MTOM requests for SOAP. Would you mind verifying that the issue has been resolved for you?
The latest snapshot build can be downloaded from https://castlemock.com/download/war/latest/castlemock.war
Thanks!
Best regards,
Karl Dahlgren

woot, thanks! It's working fine.

Great to hear!
Thank you so much for the feedback. Feel free to contact me again if you have any other issues or suggestions on improvements. Feedback is always appreciated.
Best regards,
Karl Dahlgren


Rewrite documentation for new v2 external check pattern

With the new Kuberhealthy 2 external check model, we need to entirely refactor our documentation.  We also need to move all checks to run externally as we do so.
Any options that were tunable for specific checks in the existing docs will now be configurable directly on the khcheck resources for the various external checks.

Initial refactor work on this today: https://github.com/Comcast/kuberhealthy/blob/2.0.0/README.md
Still needs the Helm chart instructions refreshed and the default checks that come with described.

Added information about creating your own checks to main readme

Closing this for now.  We can include extra documentation beyond what has been done in the helm creation issue.


feat: remove special char in namespace

Description
closes #511

Linked Issues
Additional context

src/core/utils.ts

I think a new issue is introduced in src/core/utils.ts line 42.
- should be allowed in the regexp, so the following test cases should be passed
const inComponentFilePath = '/src/components/a-b/c.vue'
expect(getNameFromFilePath(inComponentFilePath, options as ResolvedOptions)).toBe('a-b-c')

thanks!
@azaleta


sunburst: ordering of groupby not preserved on dashboard

I have a couple of slices with these groupby clauses, they both render fine as invidual slices but once in a dashboard the rendered hierarchy is sorted [''disciplina", "scuola", "tipologia_utente"]
    "groupby": [
        "tipologia_utente",
        "scuola",
        "disciplina"
    ]

    "groupby": [
        "scuola",
        "tipologia_utente",
        "disciplina"
    ],

This is with 0.9.1

Should be fixed in 0.10.0, can you confirm?

Cannot test, all sunburst are broken for me with newer caravel versions, see #673

Works fine for me on 0.10.0 plus the sunburst fix backported. Thanks!


feature/data-grid

A data grid which displays all of the high priority fields in one table. Should have actions column for view, update and delete. Delete will be implemented via #9 .
Requirements:

data page
update page
view page: The page should display the entire record of the participant (includes non high priority fields)
need high priority filter when getting fields back from firestore.

Can only be started when #10 has been merged in.

Yongle will be dev along with the #9

Data grid component is already up so it is just a matter of switching the actions toggle to true and pass through the delete action for the button. New nav bar item will be introduced called "data"


Implemented Bread First Search & Depth First Search in C

🛠 Issue (#186 )

Issue no #186
👨💻 Changes proposed
Implemented & uploaded bfs and dfs file to Searching folder .

✔ Check List (Check all the applicable boxes)

[✔] My code follows the code style of this project.
[✔] This PR does not contain plagiarized content.
[✔] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers
This program can implement both DFS & BFS

📷 Screenshots
The graph I considered is given below

OUPUT
Here ,
A --> 0
B --> 1
C --> 2
D --> 3
E --> 4
F --> 5
G --> 6

All SSoC'23 PRs will be accepted after 1st June 2023


Added epicgames.com

Hi @thefenriswolf  , I also made a PR request, but it seems this repo isn't maintained anymore. Luckily an active fork can be found here: https://github.com/jdm-contrib/jdm


Gke deploy

This is the initial pull request to deploy my GKE cluster.

The adjusted cost is much more real, the estimated using n2d machines was $1111.. Which is wrong.


feat(quorum): add prometheus exporter

Commit to be reviewed

feat(quorum): prometheus exporter metrics integration
Primary Change
--------------

1. The quorum ledger connector plugin now includes the prometheus metrics exporter integration
2. OpenAPI spec now has api endpoint for the getting the prometheus metrics

Refactorings that were also necessary to accomodate 1) and 2)
------------------------------------------------------------

3. GetPrometheusMetricsV1 class is created to handle the corresponding api endpoint
4. IPluginLedgerConnectorQuorumOptions interface in PluginLedgerConnectorQuorum class now has a prometheusExporter optional field
5. The PluginLedgerConnectorQuorum class has relevant functions and codes to incorporate prometheus exporter
6. Added Readme.md on the prometheus exporter usage

Fixes #534

Signed-off-by: Jagpreet Singh Sasan<EMAIL_ADDRESS>

@jagpreetsinghsasan I recommend rebasing this to the PR that improves the GHA flakiness (and then also making sure to mark this as dependent on that)
This is the one: #713

@jagpreetsinghsasan After rebasing to main the CI will hopefully pass and then this is ready to go


support swift 4.2

support swift 4.2

support swift 4.2

same as 4.2
pod 'PopupController', :git => 'https://github.com/jprothwell/PopupController.git'


Service Request by Katherine Roberts about MONITORING SMART Strategies

IPA SERVICE REQUEST SUMMARY

CONTACT INFORMATION:

Katherine  Roberts
Email<EMAIL_ADDRESS>Phone:<PHONE_NUMBER>

COUNTY

Putnam

WHICH FEATURE(S):

MONITORING: Creating, updated or deleting information about an implemented SMART Strategy

BRIEF PROBLEM DESCRIPTION:

I am unable to enter data in D1, under OEND. I click on "Show all measures" and D1 does not appear.

URGENCY:

50

ANYTHING ELSE TO SHARE:

[x] Qualtrics Service Request Form was received from User
[x] e-mail acknowledging that User's Qualtrics Service Request Form was sent
[ ] Problem NOT RESOLVED
[ ] Problem PARTIALLY RESOLVED
[ ] Problem FULLY RESOLVED and Issue is Closed
[ ] Qualtrics Post-Service Request Survey was sent to User

Use comments feature (below) to document:

A clear and concise description of the solution.

A clear and concise description of any alternative solutions or features you've considered.

Any additional context, such as screenshots about the problem.

Hi Donrie:
Can you check this out for Putnam??
Thank you!
DL

From: Donrie Purcell<EMAIL_ADDRESS>Date: Tuesday, December 14, 2021 at 10:35 AM
To: Campbell, Aimee C<EMAIL_ADDRESS>Cc<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Erin Kim<EMAIL_ADDRESS>Nicholas Bove<EMAIL_ADDRESS>David Lounsbury<EMAIL_ADDRESS>Subject: D1 IPA monitoring data fix
Good morning everyone
I do hope that I have included all the relevant parties. I wanted to let you know that you can now see and edit strategy D1 (OEND) in the Data Monitoring section of the IPA tracker.
I have included a pic for your review.
Regards
Donrie Purcell, PhD, MPH
Every generation has the obligation to free men's minds for a look at new worlds,....to look out from a higher plateau than the last generation.
Ellison S. Onizuka
CONFIDENTIALITY: This email (including any attachments) may contain confidential, proprietary and/or privileged information. Any duplication, copying, distribution, dissemination, transmission, disclosure or use in any manner of this email (including any attachments) without the authorization of the sender is strictly prohibited. If you receive this email (including any attachments) in error, please notify the sender and delete this email (including any attachments) from your system. Thank you.


Code Contracts Editor Extensions - Tooltip missing code contracts

from the releases page, I can see that the code contracts editor extensions package is still under active development.
https://visualstudiogallery.msdn.microsoft.com/02de7066-b6ca-42b3-8b3c-2562c7fa024f
In VS2015 using the v1.9.10714.2 release, I can't see the nice tooltip as in the pictures (see link above).
Are there some options to activate/configure that feature?

@tongbong Thanks for the bug report.
@sharwell Is there any way to debug/diagnose this extension? Turn on logs or something...?

I'm having the same issue. Plus, there's a popup about the Code Contracts Editor Extension throwing an exception. And then, after some time, Visual Studio 2015 crashes. :(  Can't say code contracts is the ultimate culprit for the crash, as I do have other extensions installed; but, I can verify that I do not see the tooltip as @tongbong mentions and that the extension does throw exceptions within the text editor.


Serializing VecNormalize

Describe the bug
Using VecNormalize can speed up convergence of RL algorithms and reduce the need for hyperparameter tuning. The resulting policy will require normalized observations, making it essential to use VecNormalize as a wrapper when deploying the policy and to reload the statistics used for normalization.
Right now I have two pain points:

Rather than just calling model.save(), I have to save the model and call venv.save_running_average(), and then when restoring create the environment and call load_running_average(). It'd be nice if there was a way to define model + transformations and save & restore them both in one line.
{save,load}_running_average only save/restore the RMS statistics. In particular, they don't save {norm,clip}_{obs,ret}. Sometimes I don't want to normalize observations, just the returns. I have to save these parameters separately.

I don't have a good solution for (1). Plausibly VecNormalize should be a policy wrapper not an environment wrapper. This would also solve #200 I think, as the unnormalized observations would be placed in the replay buffer. I'm a little concerned this would make the transformations too opaque -- it's really useful to be able to visualize the observations that are actually going into your policy.
I think (2) can be addressed relatively simply by making VecNormalize picklable. We could then deprecate {save,load}_running_average which are just writing two pickle files anyway. The only thing that isn't serializable in VecNormalize is the underlying venv: we can simply omit that field, and add a set_env method.
I'd appreciate feedback on these ideas. If people are in favour I'm happy to make a PR to add pickle support to VecNormalize to fix (2).

I mocked up an implementation of (2) in #525.

Hello,
For the point 1), I understand the motivation but this changes the current logic where the environment is decoupled from the agent. It gets even more complicated if you don't have only one wrapper.
We could do like DDPG does, and this would also solves #200 , so the normalization would be part of the tensorflow graph, but this complexify the code.

it's really useful to be able to visualize the observations that are actually going into your policy.

I also agree on that point.

I think (2) can be addressed relatively simply by making VecNormalize picklable

Good point for 2) ;)


Increase max number of connections per route for ZMS and ZTS client

This should improve performance in situations where a client instance is shared among several threads.
FYI @tokle

Thanks :)


Fix subconverter stubbing

@rly Please give this a try and let me know

On the File Metadata page, when I click Next to generate the stub file, I get:
JSONSchemaForm.js:498 Uncaught (in promise) Error: 2 JSON Schema errors detected.
    at JSONSchemaForm.throw (JSONSchemaForm.js:498:15)
    at JSONSchemaForm.validate (JSONSchemaForm.js:602:28)
    at async JSONSchemaForm.validate (JSONSchemaForm.js:565:17)
    at async GuidedFooter.onNext [as __onNext] (GuidedMetadata.js:189:46)

Is there an easy way to show what those errors are?

Oh wait. Never mind. I didn't specify subject sex or species.

They showed up locally as flagged by errors and in red, right?

They showed up locally as flagged by errors and in red, right?

Yes. I suggest we improve the error reporting to the user. The red popup just says "Error: 2 JSON Schema errors detected." But that's a separate issue and PR.
The fix here did not work. I looked into why. It looks like when this line executes:
https://github.com/NeurodataWithoutBorders/nwb-guide/blob/main/src/pyflask/manageNeuroconv/manage_neuroconv.py#L923
converter is a CustomNWBConverter, and the available_options value is:
{'required': [], 'properties': {'SpikeGLX Converter': {}}, 'type': 'object', 'additionalProperties': False, '$schema': 'http://json-schema.org/draft-07/schema#', '$id': 'conversion_options.schema.json', 'title': 'Conversion options schema', 'description': 'Schema for the conversion options', 'version': '0.1.0'}

I think available_options.get("properties").get("SpikeGLX Converter") should be a non-empty dictionary of conversion options for each of its subinterfaces (the AP recording interface, LF recording interface, and NIDQ recording interface). I think that would make this new code work. Is that right?

@rly Fix on NeuroConv was merged: https://github.com/catalystneuro/neuroconv/pull/922

ping @rly

The preview is still converting the whole dataset. I will poke around and see what I can figure out.

Huh, thought you said it was working with the NeuroConv dev branch?

That's so strange. I just tried again with the commit from https://github.com/catalystneuro/neuroconv/pull/922 right before I commented, and it converted the whole dataset. I must not have checked thoroughly or done something odd when testing that neuroconv PR. Sorry about that.
CustomNWBConverter contains a SpikeGLXConverter which contains two SpikeGLXRecordingInterface and a SpikeGLXNIDQInterface. With the latest change, SpikeGLXConverter has "properties" so the new if statement on line 931 is not entered (code below). When I try to address that by checking whether the converter is a NWBConverter instead, I get an error add_to_nwbfile() got an unexpected keyword argument 'imec0.lf'.
I think https://github.com/catalystneuro/neuroconv/blob/main/src/neuroconv/nwbconverter.py#L158 is not set up to work with an NWBConverter that contains a NWBConverter because it expects an argument named "conversion_options" and when the call is made recursively, there is no argument named "conversion_options" being passed. If I try to package the options within a "conversion_options", I get a jsonschema.exceptions.ValidationError: Additional properties are not allowed ('conversion_options' was unexpected).
After going down this rabbit hole, I am not sure what the best approach is. What do you think? Does this need to be addressed on the neuroconv side or here?
        def update_conversion_options(converter_local, available_options_local, options_local):
            if isinstance(converter_local, neuroconv.NWBConverter):
                print(f"NWBConverter {converter_local} entered")
                for name, subconverter in converter_local.data_interface_objects.items():
                    options_local[name] = {"conversion_options": {}}
                    print(f"{name} interface entered")
                    print(f"available_options_local: {available_options_local}")
                    print(f"options_local: {options_local}")
                    update_conversion_options(
                        subconverter,
                        available_options_local.get("properties").get(name),
                        options_local[name]["conversion_options"]
                    )
            else:
                print(f"{converter_local} interface entered")
                available_opts = available_options_local.get("properties", {})

                if run_stub_test and "stub_test" in available_opts:
                    options_local["stub_test"] = True
                    print(f"{converter_local} has been stubbed")

                # if "iterator_opts" in available_opts:
                #     options_local["iterator_opts"] = dict(
                #         display_progress=True,
                #         progress_bar_class=TQDMProgressSubscriber,
                #         progress_bar_options=progress_bar_options,
                #     )

        # Assume all interfaces have the same conversion options for now
        available_options = converter.get_conversion_options_schema()
        options = {interface: {} for interface in info["source_data"]}

        update_conversion_options(converter, available_options, options)

I'll take another look next week, busy the next couple of days

This works with https://github.com/catalystneuro/neuroconv/pull/979 now
I will ping you again on this after NeuroConv PR is merged @rly


Feature: Add a cmake switch to disable colpack

Linking against colpack currently fails on Mac OS. There was no convenient way to turn it off.

Thanks!
Whats the fail? Maybe open another issue if you have a minute


Support localized functional component and JSX

In some context, it is necessary for us to localize not only strings but also components/JSX
let Strings = new LocalizedStrings({
 en: {
    "pay": (
       <Paypal />
    ),
    "link": (
       ({ name }) => (
         {name}
       )
    )
 },
 cn: {
    "pay": (
       <Alipay />
    ),
    "link": (
       ({ name }) => (

       )
    )
 },
});

To use them:
return (

    {Strings.pay}
    <Strings.link name={"114514"} />

);

Basically we might want to localize any type
It seems it is currently supported, but not listed in the documentation


Created plugindev.txt. PluginDev is making programming courses.

PluginDev is making programming courses for free.

@rettlsteiner Your website says that it is under development. From your description it seems that your organization is neither a university not a college. Could you please tell us a bit more about your organization, and provide us with a link to an URL of a page on the official website where an IT-related long-term (>1 year) course is offered by your school?


Swift 2.3 compatibility

Setsthe targets Swift version to 2.3
Convert to Swift 2.3 syntax
Update the CI image to use Xcode 8

The CI build failed because Travis sucks at building Xcode projects. If you want to trigger the tests again they should work. Or you can check the build from my fork, which passes: https://travis-ci.org/macecchi/Kingfisher/builds/146659059

:] Thanks for the great work!


[Bug]: UTF-8 Encoding Issue: Umlauts and Special Characters Not Displayed Correctly

What happened?
There is an issue with the way special characters like umlauts (e.g., “ä”, “ö”, “ü”) and other UTF-8 characters are handled in the GetHeadings class. When parsing HTML content that contains such characters, they are not rendered correctly (e.g., “Verschlüsselung” becomes “VerschlÃ¼sselung”). This happens because the default encoding used by DOMDocument::loadHTML is ISO-8859-1, and UTF-8 is not properly recognized unless explicitly set.
How to reproduce the bug
1.	Create a Markdown article with headings that include special characters (e.g., umlauts such as “ä”, “ö”, “ü”).
2.	Render the page and check the “On this page” section, where the headings are listed.
3.	Observe that special characters in the headings are not displayed correctly.

Package Version
0.11.0
PHP Version
8.3.8
Laravel Version
11.22.0
Which operating systems does with happen with?
macOS
Notes
Here is the proposed code change in the GetHeadings::handle() method:
`
public static function handle(string $html): array
{
// Ensure UTF-8 encoding is set
$html = '<?xml encoding="UTF-8">' . $html;
$dom = new DOMDocument;
@$dom->loadHTML($html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);

return self::extractHeadings($dom);

}
`

I also noticed an issue with the way Str::slug handles umlauts (e.g., “ä”, “ö”, “ü”). The current implementation removes these characters from the slug, but I would prefer to keep them in the URL (e.g., “ä” should remain “ä”).
From what I understand, modern browsers and web standards fully support umlauts and other non-ASCII characters in URLs, so I don’t believe it should cause any issues to include them. It would be great if the package could handle this by either modifying or bypassing Str::slug to allow umlauts in URLs.

Thanks for the report and especially for including the code changes. They seemed to do the trick. Regarding Str::slug I noticed that by passing null to the language parameter it seems to preserve those characters. So I made that update as well.

Thanks for the quick fix. I didn’t know about the language parameter either. Cool!


Input (get_vector, get_axis) returns wrong value when input changes rapidly

Godot version
v4.2.rc1.official [ad72de508]
System information
Godot v4.2.rc1 - Windows 10.0.22621 - Vulkan (Mobile) - dedicated NVIDIA GeForce RTX 3090 Ti (NVIDIA; <IP_ADDRESS>6) - AMD Ryzen 9 5950X 16-Core Processor (32 Threads)
Issue description
NOTE: I also had this in 4.1
When you rapidly change the value sent to Input.action_press, sometimes the value spontaneously becomes wrong by a wide margin, and it maintains this wrong-offset until the action is released.
Steps to reproduce
In this video, look out for two logs:
TRANSFER! :: (action name) :: (value) is the raw value that is being sent to Input.action_press
STICK DIRECTION RECEIVED is the value output directly from
var stick_vector = Input.get_vector("stick_left", "stick_right", "stick_up", "stick_down")

Notice at 20 seconds into the video (also briefly at 13 seconds), the value in "TRANSFER" is the expected value, but the "STICK DIRECTION RECEIVED" is suddenly completely wrong.
https://github.com/godotengine/godot/assets/13342266/99e8726b-c5ca-439a-a48b-ede9a420008b
Minimal reproduction project
https://github.com/warent/godot-input-vector-bug
InputVectorIssue.zip

I'm not sure if this is related, or a secondary issue, but at the very end of the video after releasing the stick,even though it seems to be working again, notice that the floating point precision is lost in the action press (they're different by about 0.05)

cc @aaronfranke @YeldhamDev

This isn't a problem for me to solve. Input.get_vector() does not know about past inputs. So it's a problem with the underlying input system passing incorrect values to this function.
@warent Can you reproduce this with Input.get_action_strength()?


⚠ ClamAV has degraded performance

In 3f2cdb8, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 100 ms

Resolved: ClamAV performance has improved in 75cdc5b after 5 minutes.


Pomodoro Timer

Hey @urvashi-code1255 @Vishal-raj-1,
I would like to add a Pomodoro timer as a project to the website.
I am a GSSOC'21 participant and I would like to contribute to the project. Please assign me this project.

@HelenEH0  Any Updates?

I'm having semester exams now which was again postponed, can I work on this after that?

Sure No Problem

Can i work on this @ridsuteri  @991rajat @Vishal-raj-1 @urvashi-code1255 ?

@HelenEH0 Any Updates? If not respond in 2days will be transfered to @Ankita297

can i work on this @991rajat  ?

yes you can go ahead with it @Ankita297 :)


TabBar index listener issue

hi

when to addListener to track index change we must add this condition to check if realy index is changed (behavior not necessary because addListener goal is tracked any change in index)

if (tabController.indexIsChanging)
  ......

with TabView and when swipe its work fine (not necessary to add previews block to check indexIsChanging every time), however when tap on any tab the change event is fired twice

i using flutter 1.22.4 & dart 2.10.4

Hi @halimpuckjava
Can you please provide your flutter doctor -v and a minimal complete reproducible code sample?
Thank you

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


fix: Fix cases where objects that don't have a Weave type are passed to ops.

The prime example of an object which doesn't have a Weave type is openai.Client
We will still print warnings in these cases for now.

Fixed case where object with unknown type is passed as argument to op with undeclared type
Fixed case where object with unknown type is passed as argument to op with declared type
Fixed where object with unknown type is captured by op closure.

Merging, to be reviewed.


GW-73: In TAF editing, typing in the front of a field, cursor should not move to the end.

The issue appeared when editing a TAF and positioning the cursor at the begin of the word (i.g. ^CAVOK, with ^ cursor position), typing the cursor was automatically moved to end of word (i.g. CAVOK^, with ^ cursor position).
This behavior is due to the use of "toUpperCase()" that re-render every-time the input.
To solve the problem, it has been removed this function from the .jsx code and the display in capital has been resolved using css style.

Good solution :thumbsup:


Error while updating Supervisor

Every time I update Supervisor, I'm getting this error. it's about config.json I guess.
2024-10-13 20:48:39.921 ERROR (SyncWorker_2) [supervisor.utils.json] Can't read json from /data/addons/git/2effc9b9/livebook/config.json: Input is a zero-length, empty document: line 1 column 1 (char 0)
2024-10-13 20:48:39.921 WARNING (SyncWorker_2) [supervisor.store.data] Can't read /data/addons/git/2effc9b9/livebook/config.json from repository 2effc9b9
2024-10-13 20:48:39.923 ERROR (SyncWorker_2) [supervisor.utils.json] Can't read json from /data/addons/git/2effc9b9/convertx/config.json: Input is a zero-length, empty document: line 1 column 1 (char 0)
2024-10-13 20:48:39.923 WARNING (SyncWorker_2) [supervisor.store.data] Can't read /data/addons/git/2effc9b9/convertx/config.json from repository 2effc9b9
2024-10-13 20:48:39.924 ERROR (SyncWorker_2) [supervisor.utils.json] Can't read json from /data/addons/git/2effc9b9/linkding/config.json: Input is a zero-length, empty document: line 1 column 1 (char 0)
2024-10-13 20:48:39.924 WARNING (SyncWorker_2) [supervisor.store.data] Can't read /data/addons/git/2effc9b9/linkding/config.json from repository 2effc9b9
2024-10-13 20:48:39.928 ERROR (SyncWorker_2) [supervisor.utils.json] Can't read json from /data/addons/git/2effc9b9/stirling-pdf/config.json: Input is a zero-length, empty document: line 1 column 1 (char 0)
2024-10-13 20:48:39.928 WARNING (SyncWorker_2) [supervisor.store.data] Can't read /data/addons/git/2effc9b9/stirling-pdf/config.json from repository 2effc9b9
2024-10-13 20:48:39.931 ERROR (SyncWorker_2) [supervisor.utils.json] Can't read json from /data/addons/git/2effc9b9/wikijs/config.json: Input is a zero-length, empty document: line 1 column 1 (char 0)
2024-10-13 20:48:39.931 WARNING (SyncWorker_2) [supervisor.store.data] Can't read /data/addons/git/2effc9b9/wikijs/config.json from repository 2effc9b9

The auto updated script sometimes makes an extra file. It shouldn't affect anything. I deleted it, but it will probably come back


Problem after clean install

Hello,
thanks for your awesome tool!
Since steam requires the token, i setup a new v-server and started an installation from scratch.
I get the following errors:

[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
[S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.so.
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Could not establish connection to Steam servers.

Do you have any idea, what i can do?
log.txt

https://github.com/dgibbs64/linuxgsm/wiki/FAQ#s_api-fail-steamapi_init-failed-steamapi_issteamrunning-failed

Ill get the following error, when i try to connect.
http://imgur.com/UBRWDaO

sv_lan 0 ?

is set.
I think the last line of the log file is relevant.
L 12/16/2015 - 09:51:54: server_cvar: "sv_alltalk" "1"
Stopping 0 worker threads
Starting 1 worker threads
1 threads. 745,269 ticks
exec: couldn't exec gamemode_casual_server.cfg
Commentary: Could not find commentary data file 'maps/de_dust2_commentary.txt'.
Initializing Steam libraries for secure Internet server
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
Setting breakpad minidump AppID = 730
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Setting breakpad minidump AppID = 740
Logging into Steam gameserver account with logon token '6D42FABExxxxxxxxxxxxxxxxxxxxxxxx'
FillInMachineIDInfo took a total of 3 milliseconds
Could not establish connection to Steam servers.

I'd be more worried about this :
"./srcds_run: 1: ./srcds_run: gdb: not found
WARNING: Please install gdb first."
Is gdb installed ?
Also, any firewall to configure ?
Ignore the "[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed" as long as it's not pointing out a missing .so file. This error is "normal" (in a valve's perspective...).

I installed gdb, thank you.
I started again with a fresh os and counter the same error.
The port is opened to external access, as you can see here:
http://imgur.com/GdeQoEv
Here is a new log file.
http://pastebin.com/M2jvXgAf

Not using Debian 8 ? Affraid ? ^^
It's perfectly stable for me (and i got many many stuff onto it).
What about the other ports ?
I assume port 27015 should be enough for server query and connexion with steam, but who knows...
port="27015"
sourcetvport="27020"
clientport="27005"
Also, this line could be the problem :
[S_API FAIL] SteamAPI_Init() failed; unable to locate a running instance of Steam, or a local steamclient.so.
Maybe you're gonna have to find it and copy it to the right location.
I wanted a few CS GO servers BTW, i got some time this morning, let me a moment to make a coffe, eat something, and i'll test a fresh server too on my Debian 8 and see what happens !

Well, after a correction of my IP that i mistyped (L-O-L), it seems to work.
Yep, i confirm it works by connecting to it and killing some bots...
I'm not sure why it wouldn't work for you.
Did you create a new user for this server, and make the installation at the root of the home directory of that user ?

For your information, here is where i find steamclient.so
csgotrain@lrob:~$ find -name steamclient.so
./.steam/sdk32/steamclient.so
./serverfiles/bin/steamclient.so
./steamcmd/linux32/steamclient.so

Hi UltimateByte,
thanks for your effort and support. :)
I am using Debian 7 Wheezy. But it worked before the login-token update.
PRETTY_NAME="Debian GNU/Linux 7 (wheezy)"
NAME="Debian GNU/Linux"
VERSION_ID="7"
VERSION="7 (wheezy)"
ID=debian
ANSI_COLOR="1;31"
HOME_URL="http://www.debian.org/"
SUPPORT_URL="http://www.debian.org/support/"
BUG_REPORT_URL="http://bugs.debian.org/"

My search is finding exactly your files.
csgoserver@lvps91-250-##-##:~$ find -name steamclient.so
./steamcmd/linux32/steamclient.so
./.steam/sdk32/steamclient.so
./serverfiles/bin/steamclient.so

Here are my iptable rules:
-A INPUT -j SteamServers
-A INPUT -p udp -m udp --dport 27015 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 27015 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 27020 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 27005 -j ACCEPT

You're welcome, we're all in the same boat of game server admins :p
Yeah, i just discovered this token crap... Is your GSLT status fine ?
Because your config seems perfectly fine.

i solved the problem...
When generating the GSLT-Token (here: https://steamcommunity.com/dev/managegameservers) i used 740 as app-id, instead of 730. I though i had to use the 740, since it is the new id.
http://imgur.com/TpfJ0AO
I think i lack the experience of the server mechanics.
Nevertheless, it works fow now. :)
Thank you so much for your support.
Your hint with the gslt status led me to try the other app-id

Nice ! No worries, server mechanics will come, and there's always new issues to solve anyways... :p
I actually didn't remember the CS GO ID, so i used the one suggested on the GSLT registration page that was 730 ! I guess i've been lucky on this one... ^^

the thing is, when you install csgo, it installs the app-id 740...

Do I need to change the csgo appid?

Am i right in saying that the GSLT required you select 730 (https://steamdb.info/app/730/) instead of 740 (https://steamdb.info/app/740/)?
If so it may be worth me adding some documentation about this

Yes, the install appid is 740 but the GSLT appid is 730. Valve...

https://github.com/dgibbs64/linuxgsm/wiki/Game-Server-Login-Token#generate-a-token the wiki now advised to use appid 740 for CSGO. CLosing this


Add version = 2

This is a follow up to #606 that actually provides a way to remove the deprecated fields and opt in to the new behavior until the fields are removed and the new behavior becomes the only behavior.
Basically, version = 2 can be added to the [advisories] and [licenses], which opts in to the new behavior, and means any of the deprecated keys no longer impact the results of the checks.
The new behavior is as follows:
[advisories]

vulnerability - deny
unmaintained - deny, old default = warn
unsound - deny, old default = warn
notice - deny, old default = warn
severity-threshold - CVSS severity no longer considered

Resolves: #449
[licenses]
unlicensed
New default of deny, old default was warn.
If a crate is unlicensed, a clarification can be used to assign a license based on one or more source files in the package
allow-osi-fsf-free
Old default was both, the new default is neither, ie, it doesn't matter if the license is osi and/or fsf free, only if it is in the allow (or exception) list.
copyleft
Old default was warn, the new default is deny, it only matters if the license is allowed in the allow or exception list.
Resolves: #602
Resolves: #354
default
Provided the default for a license not otherwise listed, now all licenses are deny unless explicitly in the allow or exception list.
deny
This list served no purpose, if the license is not in the allow or exception list, it is denied.

I don't like that to fix bugs, features are being removed.
Maybe this could help someone:
To check if a license is osi or fsf-free, check the SPDX License List: https://spdx.org/licenses/
To check if a license is copyleft you can search for the "same license" column here: https://choosealicense.com/appendix/

unmaintained - deny, old default = warn

Cargo deny warns me that the configuration field will be removed. If I understand correctly that it will have no option to only warn when encountering unmaintained crates, it seems a bit aggresive, to me.
For context, I am collaborating on a project that depends on librespot, which while in development, has not seen a release in 2 years and thus depends on several unmaintained crates.

https://embarkstudios.github.io/cargo-deny/checks/advisories/cfg.html#the-ignore-field-optional

@Jake-Shadle what if throwing an error when version = 2? Eat deprecated keys doesn't sound a good idea. When users (like me) wants to migrate to version = 2, I'd prefer to ensure that all my setup is correct and no redundant.

I am running into errors that refer to this for migration instructions, but am unclear on the migration path from the licenses keys. What should these be replaced with?

All licenses are implicitly denied unless added to accept or exceptions

This change effectively blocks contributors to my project if an advisory has been issued since the last CI build. I'm fine with this for vulnerabilities as it gives me a heads up to fix it myself, but I don't really care if something has become unmaintained - I had previously set it to warn (as a nudge when I run CI checks locally).
Looks like I need to skip the advisory checks in CI now and have a separate checking script for local flow...which is a bit disappointing.

Could cargo deny do the migration automatically? (preserving old meaning wherever possible)
I have hundreds of internal crates to update, and I'd rather not do that in a manual error-prone way.

(I hate to say this, but this sounds like a perfect task to automate with an LLM. Show it an example before-after, and it should be able to rewrite the rest accordingly. Yes, still error-prone of course, but it's easier to jusz check than to do by hand. I think.)


Directory or file does not exist

🐛 Bug Report
Latest version when using npx always yields [directory or file] does not exist.
The same thing happens with all potential flags -d , --native, it looks like a core issue.
The directories and files DO indeed exist.
To Reproduce
someones-air-3:someFolderWithSVG someone$ ls
alignCenterIcon.svg             cyclicalArrowsIcon.svg          magnifyingGlass.svg             userSettingsIcon.svg

someones-air-3:someFolderWithSVG someone$ npx @svgr/cli --native alignCenterIcon.svg
npx: installed 144 in 6.187s
alignCenterIcon.svg does not exist <-------

Expected behavior
Using version @5.3.0 works so it must be some regression.

yes this node version through me off too. working in a project that required node v10. svgr cli started working again after switching to node v11. perhaps that should be on the readme?


Dependancies update

@valeryan in my attempt to run the extension in debug mode to see why this is happening, I discovered that the dependencies were out of date, triggering this error.
Updating the dependencies required a few TypeScript fixes, which I have also implemented in this PR.
However, I would suggest merging this PR into a develop branch, while I continue to debug the original issue.
Could I ask you to create that branch, change the base of this PR and merge it there?

Bah, some of these changes are incorrect, probably bad copy-pasting. I'm going to recreate this PR.


Preview video very 'jerky

The preview video looks very jerky and recorded videos play back at probably double speed!
Also the web page buttons take ages to respond i.e before they change colour.
This didn't happen when I first installed - I was impressed with the smoothness of the preview video and the recorded one.
I have Raspberry Pi Zero W and the official Raspberry camera. Captured images are transferred to a WD Hard drive with USB to Windows 10 PC.
I play back with VLC Media player.
Any help appreciated.

The main thing that will affect preview smoothness is the speed and reliability of the network connection between the raspberry pi and the client. The processing power of the Pi Zero is quite sufficient.
If you are using a wifi connection then (pi Zero W) then the wifi link needs to provide a fast smooth connection.
One can adjust the bandwidth used by the preview by adjusting the preview settings. The three items control the size of the preview, the quality and the frame rate. You can normally afford to lower the quality factor a bit which compresses the images more, The frame rate can be dropped a bit by changing the divider. E.g changing to 2 will halve the bandwidth while still being pretty responsive.
A good technique for checking on the preview performance is to turn on debug in the browser (F12). If you then use default streaming (under system settings) then you will see individual frame requests and how they are being handled by the network. Using the MJPEG streaming is good to turn off when not debugging as individual requests are not used and the preview arrives just as a stream.
Playback of recordings at a different speed is normally caused by having the recording and boxing video fps set to different frame rates.
Note that if you are recording direct to a network drive then you should use the boxing_path facility to avoid recording problems caused by not being able to stream high resolution video data straight over your network.

Thank you for the reply Robert - I have changed the divider to 2 and the quality to 5. The size is still set at 512.
I assumed these settings would  have no affect until I reboot.
However these setting are not stored when I reboot and they revert to 10 and 1.
Both recording and boxing are set at 25 fps.
I am not sure how to access debug? If i press F12 I get no response- where is this setting?
Also not sure what to do with box_path facility. I can get into etc/raspimjpeg but not sure what I should do then?
At the moment boxing_path is set as:-
'media_path /var/www/html/media'
The preview screen freezes at times and then jumps around a bit.
With these settings everything is very slow - If I click on any button it takes ages to react and change colour.
Are any of these problems due to the fact that I am saving images on the USB hard drive (Attached to the PC not the Raspberry)
I am pleased how far I have got with getting it to save to the hard drive instead of the SD card but not sure this might not be affecting things.  Bit of a nooby here so your input welcome.

Out of interest the preview seems to stop/start in line with the time - every millisecond the frame view changes...??
Not sure if this helps

Changes to preview settings take immediate effect and should persist.
The log (under schedule settings) should show the changes being made and these changes are stored in uconfig under /var/web/html.
Are you sure you have made the link in your external drive to the media folder and not to /var/www/html ?
That top level folder should remain on the SD card to make sure it can be accessed quickly

Are you sure you have made the link in your external drive to the media folder and not to /var/www/html ?
That top level folder should remain on the SD card to make sure it can be accessed quickly
Hello Robert - how do I check that the above is done?

These are the last few lines form the log :-
{2020/06/06 08:47:24} h264 buffers set to recommended 1
{2020/06/06 08:47:24} Set up internal detect width=82 height=61
{2020/06/06 08:54:56} Finished boxing /var/www/html/media/vi_0000_20200606_061237.mp4 from Box Queue at pos 13
{2020/06/06 08:54:56} Start boxing /var/www/html/media/vi_0001_20200606_064253.h264 to /var/www/html/media/vi_0001_20200606_064253.mp4 Queue pos 14
{2020/06/06 08:54:56} Removed item from Box Queue
Is that of help?

Ref your comment re making the link to the media folder the following is from raspimjpeg:-
base_path /var/www/html
preview_path /dev/shm/mjpeg/cam.jpg
image_path /var/www/html/media/im_%i_%Y%M%D_%h%m%s.jpg
lapse_path /var/www/html/media/tl_%i_%t_%Y%M%D_%h%m%s.jpg
video_path /var/www/html/media/vi_%v_%Y%M%D_%h%m%s.mp4
status_file /dev/shm/mjpeg/status_mjpeg.txt
control_file /var/www/html/FIFO
media_path /var/www/html/media
macros_path /var/www/html/macros
user_annotate /dev/shm/mjpeg/user_annotate.txt
boxing_path
subdir_char @
count_format %04d
The media path shows both html and media and that is how it is shown in fstab:-
//192.168.1.***/h/picamera /var/www/html/media cifs defaults,rw,credentials=/home/pi/.smbcredentials,vers=3,uid=www-data,gid=www-data,iocharset=utf8 0 0
Apologies for bombarding you with 'stuff' ..!

Link looks like it is just to media folder which is good.
For jerkiness have you tried changing preview settings to see the effect of lowering network usage.
If the settings don't take effect or don't persist then check the log and also look for the uconfig file in /var/www/html which should have any settings that have been changed.


Xorg libinput configuration is ignored

Describe the bug
At least some options set for services.xserver.libinput are ignored. I have the following in /etc/nixos/configuration.nix:
  services.xserver.libinput = {
    enable = true;
    touchpad = {
      clickMethod = "clickfinger";
      naturalScrolling = true;
    };
  };

but neither of these options appear in /etc/X11/xorg.conf.d/40-libinput.conf (egrep -i 'click|natural' /etc/X11/xorg.conf.d/40-libinput.conf
returns nothing).
man configuration.nix says that services.xserver.libinput.touchpad.clickMethod and services.xserver.libinput.touchpad.naturalScrolling are valid options (with the later being a boolean, and the type of the former being 'null or one of "none", "buttonareas", "clickfinger"')
My whole /etc/X11/xorg.conf.d/40-libinput.conf file is here: http://ix.io/1TMa
Several people reported the same issue here: https://discourse.nixos.org/t/xorg-libinput-configuration-seems-to-be-ignored/15504 , someone saying it started when upgrading from 21.11 to 22.05
Steps To Reproduce
Steps to reproduce the behavior:

Add configuration for services.xserver.libinput.touchpad to /etc/nixos/configuration.nix
Run nixos-rebuild switch

Expected behavior
The configured options should appear in /etc/X11/xorg.conf.d/40-libinput.conf.
Additional context
Everything in https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/x11/hardware/libinput.nix looks okay to me.
Notify maintainers
There's no meta.maintainers in https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/x11/hardware/libinput.nix but @thiagokokada and @dsg22 have touched this recently-ish. Sorry if you're the wrong people to @
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.15.60, NixOS, 22.05 (Quokka), 22.05.2609.52527082ea2`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.8.1`
 - channels(root): `"nixos-22.05"`
 - channels(djm): `"home-manager-22.05.tar.gz, nixos-22.05"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

It definitively works for me. And we also have tests that should prove it (assuming the tests for NixOS are being run): https://github.com/NixOS/nixpkgs/blob/master/nixos/tests/libinput.nix
As can be seen in the tests, you shouldn't look at the /etc/X11/xorg.conf.d/40-libinput.conf, but in the logs to see if the configs are being loaded. And it definitively is being loaded in my config.
Now, how this works actually I also have no idea.

Now, how this works actually I also have no idea.

Actually, I just remembered. It is this part: https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/x11/hardware/libinput.nix#L276-L279
That writes in the /etc/X11/xorg.conf instead.

Thank you for the pointer.
In my case:
ls: cannot access '/etc/X11/xorg.conf': No such file or directory

egrep -ir 'click|natural' /etc/X11/* returns nothing (and looking in /etc/* they don't appear anywhere except my configuration.nix).
I have no /var/log/Xorg.0.log, so I guess it only goes to the systemd journal. I don't see those options appearing in the journalctl output, which I assume it would be.
It's hard to tell if the options are somehow present somewhere anyway, as I'm using gdm+gnome until I can get the touchpad properly configured without it, and gnome has it's own settings for these iirc.

Thank you for the pointer.
In my case:
ls: cannot access '/etc/X11/xorg.conf': No such file or directory

egrep -ir 'click|natural' /etc/X11/* returns nothing (and looking in /etc/* they don't appear anywhere except my configuration.nix).
I have no /var/log/Xorg.0.log, so I guess it only goes to the systemd journal. I don't see those options appearing in the journalctl output, which I assume it would be.
It's hard to tell if the options are somehow present somewhere anyway, as I'm using gdm+gnome until I can get the touchpad properly configured without it, and gnome has it's own settings for these iirc.

I think that is the issue then, because I definitively have a /etc/X11/xorg.conf file.
Maybe the issue is your display manager? I don't use one.

https://github.com/NixOS/nixpkgs/blob/50f9b3107a09ed35bbf3f9ab36ad2683619debd2/nixos/modules/services/x11/xserver.nix#L637-L642
This seems to be the culprit of your issue. It is defined here:
https://github.com/NixOS/nixpkgs/blame/50f9b3107a09ed35bbf3f9ab36ad2683619debd2/nixos/modules/services/x11/xserver.nix#L188-L195
So setting services.xserver.exportConfiguration = true; should solve the issue.
The strange thing is that this is not set on mine config and it still works. It is probably set indirect in some other place, and GDM itself doesn't 🤔 ?

Thank you, services.xserver.exportConfiguration = true; got me an Xorg.conf file.
I made an error earlier: apparently a recent gnome upgrade meant I'm now using wayland. Telling gdm to use xorg I see:
Aug 23 17:53:07 egalmoth /nix/store/f1pskczpshwwqx5pj88nq0i6lzcy2w1l-gdm-42.0/libexec/gdm-x-session[6923]: (**) Option "NaturalScrolling" "off"
Aug 23 17:53:07 egalmoth /nix/store/f1pskczpshwwqx5pj88nq0i6lzcy2w1l-gdm-42.0/libexec/gdm-x-session[6923]: (**) Option "NaturalScrolling" "on"
Aug 23 17:53:07 egalmoth /nix/store/f1pskczpshwwqx5pj88nq0i6lzcy2w1l-gdm-42.0/libexec/gdm-x-session[6923]: (**) Option "ClickMethod" "clickfinger"
Aug 23 17:53:07 egalmoth /nix/store/f1pskczpshwwqx5pj88nq0i6lzcy2w1l-gdm-42.0/libexec/gdm-x-session[6923]: (**) Option "NaturalScrolling" "off"

So it seems to work once I have the configuration, and once I'm actually using xorg again!
I'm still a little confused, as my touchpad doesn't work properly in gdm, (i.e. before logging into gnome), which I thought meant that xorg wasn't configured properly, (but then gnome's own magic takes over and makes it work). But I'd like to be free from gdm anyway, and everything in the config looks okay now, so I'll just close this.

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/xorg-libinput-configuration-seems-to-be-ignored/15504/7


Multiple fragments

I understand that a large message needs to be fragmented for sending over a network and its header consists of (B)egin and  (E)nd flags. But if there are multiple fragments, how will only B and E flags help? what flags will be contained in between fragments?
as per my understanding One Publication Image  is one complete message. guide me if I am incorrect.
e.g Messge1 -> M1F1, M1F2, M1F3
Message2 -> M2F1, M2F2, M2F3, M2F4
Data arrived is M1F1 M2F2 M1F3 M1F2 i.e. in an unordered way.
as per code it will keep on buffering based on stream ID and session ID in fragment assembler. so how does it know then that where to put respective fragment.
Eager to hear soon.

If a message is not fragmented then the Begin and End flags will both be set. All fragments have a term offset and length so we can determine exact position in a stream and thus can be reassembled in order.
For fragments between the begin and end then these flags are not set. The offset within the term is all that is required. Streams are reassembled purely on position via offset. The begin and end flags allow for demarking messages within the reassembled streams.

Thank you for reply.
then one Publication Image is one complete message am I correct?
or can one Publication Image contain multiple messages??
Kindly explain me with example if possible(about message not fragmentation).

One PublicationImage is a rebult image of a NetworkPublication containing many messages as a stream of rotating term buffers.
The best way to understand is to read the code for full detail.

Thank you very much


[Candidate 1v1 Hanamura Temple ZH v1] Tech Buildings have custom rotations that make their flags difficult to see

Observed behavior
Tech Buildings have custom rotations that make their flags difficult to see.
Expected behavior
Tech buildings have default rotations or custom rotations that make their flags very visible.
Screenshots

xezon me and tanso have talked about this why is this a blocker again ?

Because some Tech Building flags are hidden. Flags need to be visible.

okay but artillery platforms change color as well and u can also see it who owns then if u move ur cursor

Yes, but maps need to be Player and Observer friendly. When flags are not as visible, then ownership becomes more difficult to see, which decreases map readability.
This does not just affect players, but also viewers on live streams.

Btw I recommend to not upload PNG pictures.  Better use JPG instead.

viewes can also see the radar which it makes them easier and i dont think i need to say that artillery will attack to others when its captured

if i make flag visible this time artillery platform will look bad also it will have to turn back and gets delayed

Agree with TimberOwl, Artillery Platform is always visible even without the flag, since the model changes colour.
And also, regarding the natural state of it, can't have them both facing one way if they are on different ends as they rotate like other defences. So would be unfair.

Agree with TimberOwl, Artillery Platform is always visible even without the flag, since the model changes colour.

Yes, but the flag more than doubles the surface area of the house color. When you look at house color quickly as a player or on a small screen when watching a livestream, it should be preferably to see the house color as large as possible.

And also, regarding the natural state of it, can't have them both facing one way if they are on different ends as they rotate like other defences. So would be unfair.

Are you sure about this? The turret rotation radius is 360 degrees. It idle rotates to all directions and on average should spend a similar amount of time in all directions. If I am not mistaken it practically is irrelevant how it is rotated and I think EA explicitly designed it this way.

yes but its is better of when it lookin at one direction
cuz then usually turn back to original location

All flags are now visible. But rotations are without system. One Artillery Platform is rotated one way and another one in another way. Would be good if there was a system. For example all platforms in the north rotated one way, and all in the south the opposite way.
At the top I recommend to rotate all of them like this:

And at the bottom like this:

Then the flags perfectly catch the sun light.

fixed

I do not see change. Rotations of 4 Artillery platforms at the right side are different from left side, top and bottom.

ive completely change them but dunno ill check again then sry


Update Wikipedia

Was https://code.google.com/p/darwincore/issues/detail?id=179
Look at Wikipedia and make sure the documentation there is up-to-date and that the references go both directions, making clean articles with no warnings.

Made a preliminary pass, but this will have to be done when the website redesign has been accepted.

Made a thorough update to https://en.wikipedia.org/wiki/Darwin_Core. Closing.


Prevent rounding

This enables us to specify a data-decimal-places attribute when building a chart. It will assist in correctly displaying ratios.
If not specified, it defaults to 0.
@longhotsummer

Nice - much simpler.
@longhotsummer

Nice. My inner OCD really enjoys the whitespace cleanup :)


add compile infix function

SOMEBODY GIVE ME T/C HAHAHAHA

land or lor are also compiled with eq??


build failed from source on windows 10

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
Windows 10

TensorFlow version:
1.14

Python version:
3.5.4

Bazel version (if compiling from source):
0.24.1

GCC/Compiler version (if compiling from source):

CUDA/cuDNN version:
CUDA10.0 & cuDNN7

GPU model and memory:
GeForce GTX1050Ti
CPU:
i7-7700HQ

Command
I've tried

bazel build --config=opt //tensorflow/tools/pip_package:build_pip_package

and
bazel build --config=opt --config=cuda --define=no_tensorflow_py_deps=true //tensorflow/tools/pip_package:build_pip_package

none of them works.
Describe the problem
I just follow the instructions of https://www.tensorflow.org/install/source_windows, but it doesn't work.

FAILED: Build did NOT complete successfully

@YujieLu
Can you please attach a complete log of ./configure . Thanks!

python configure.py
WARNING: --batch mode is deprecated. Please instead explicitly shut down your Bazel server using the command "bazel shutdown".
You have bazel 0.24.1 installed.
Please specify the location of python. [Default is C:\Users\donke\AppData\Local\Programs\Python\Python35\python.exe]:

Found possible Python library paths:
  C:\Users\donke\AppData\Local\Programs\Python\Python35\lib\site-packages
Please input the desired Python library path to use.  Default is [C:\Users\donke\AppData\Local\Programs\Python\Python35\lib\site-packages]

Do you wish to build TensorFlow with XLA JIT support? [y/N]:
No XLA JIT support will be enabled for TensorFlow.

Do you wish to build TensorFlow with ROCm support? [y/N]:
No ROCm support will be enabled for TensorFlow.

Do you wish to build TensorFlow with CUDA support? [y/N]: y
CUDA support will be enabled for TensorFlow.

Found CUDA 10.0 in:
    C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/lib/x64
    C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/include
Found cuDNN 7 in:
    C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/lib/x64
    C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v10.0/include

Please specify a list of comma-separated CUDA compute capabilities you want to build with.
You can find the compute capability of your device at: https://developer.nvidia.com/cuda-gpus.
Please note that each additional compute capability significantly increases your build time and binary size, and that TensorFlow only supports compute capabilities >= 3.5 [Default is: 3.5,7.0]:

Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is /arch:AVX]:

Would you like to override eigen strong inline for some C++ compilation to reduce the compilation time? [Y/n]:
Eigen strong inline overridden.

Preconfigured Bazel build configs. You can use any of the below by adding "--config=<>" to your build command. See .bazelrc for more details.
        --config=mkl            # Build with MKL support.
        --config=monolithic     # Config for mostly static monolithic build.
        --config=gdr            # Build with GDR support.
        --config=verbs          # Build with libverbs support.
        --config=ngraph         # Build with Intel nGraph support.
        --config=numa           # Build with NUMA support.
        --config=dynamic_kernels        # (Experimental) Build kernels into separate shared objects.
Preconfigured Bazel build configs to DISABLE default on features:
        --config=noaws          # Disable AWS S3 filesystem support.
        --config=nogcp          # Disable GCP support.
        --config=nohdfs         # Disable HDFS support.
        --config=noignite       # Disable Apache Ignite support.
        --config=nokafka        # Disable Apache Kafka support.
        --config=nonccl         # Disable NVIDIA NCCL support.

@YujieLu This issue page might help: https://github.com/tensorflow/tensorflow/issues/21362

Got a similar issue, stuck on it for a whole week. have you solved it now? @YujieLu

Hi There,
We are checking to see if you still need help on this, as you are using an older version of tensorflow which is officially considered end of life . We recommend that you upgrade to the latest 2.x version and let us know if the issue still persists in newer versions. Please open a new issue for any help you need against 2.x, and we will get you the right help.
This issue will be closed automatically 7 days from now. If you still need help with this issue, please provide us with more information.


Super chat messages are skipped during live stream

My command:
python chat_replay_downloader.py https://www.youtube.com/watch?v=* -message_type all -output *.csv
Used parameter -message_type all, but paid super chat messages are skipped during live stream. They are missing in the file and in the console output. Several of regular messages following the super chat are missing too.
Super chat from completed streams are saved correctly. But no need to write colors and duration of pinned messages, as useful information is only sum of donation. it would be great if it was possible to customize output.

Could you please provide the ID of the YouTube video for which this happened? Also, which messages were missed? Can you provide a time stamp for a message which should have been shown, but was not? The tool should retrieve all messages which are visible on YouTube.
Additionally, I have been working on a custom formatting system which will be included in an upcoming update.

Also, please ensure you are using the latest version of the software. YouTube made some changes recently, which caused some similar issues to this - which should have been fixed in the latest release.

It happens sometimes and suddenly get disappeared. Currently there is no problem. It is wired, and I think YouTube has changed its API just few days ago.

@xenova sorry can not provide ID, as the video was removed.  You can check any other ongoing streams on Youtube.  Noticed this behavior more than once on different channels.
Version downloaded 9th, Dec. Will try update.

Okay yes, the latest release (v1.0.1) should fix it then 👍

thanks, I will give feedback if I find any bugs


Add build timestamp to version data

This was the final missing part of the version. This makes it trivial to be absolutely sure you're working with, say the latest nightly.
Example output:
$ ./influxd version
InfluxDB v0.9.5 (git: master 356871a1b1c2eb2bb682501984b7ef37307c81e7, built 2015-09-25T06:32:21+0000)

> SHOW DIAGNOSTICS FOR 'build'
name: build
-----------
Branch  Build Time                      Commit                                          Version
master  2015-09-25T06:32:21+0000        356871a1b1c2eb2bb682501984b7ef37307c81e7        0.9.5

@corylanou

+1


add new commands

sent email to project maintainer.

Thank you for contributing to stackforge/pyghmi!
stackforge/pyghmi uses Gerrit for code review.
Please visit http://wiki.openstack.org/GerritWorkflow and follow the
instructions there to upload your change to Gerrit.

ignore this pull request...
im using the openstack workflow.
https://review.openstack.org/#/c/148036/


OpenSSL 3.x and EVP_CIPHER_CTX_FLAG_WRAP_ALLOW

I noticed a slight behavior change between OpenSSL 1.1.1 and OpenSSL 3.x.
In OpenSSL 1.1.1, when using EVP_CipherInit_ex() with EVP_aes_256_wrap_pad() as cipher, and the context does not have flag EVP_CIPHER_CTX_FLAG_WRAP_ALLOW set, it fails with EVP_R_WRAP_MODE_NOT_ALLOWED.
In OpenSSL 3.x it does not seem to care if the flag is set or not, at least for provided PKEYs. I still find the code that checks that flag in evp_cipher_init_internal(), but only for legacy PKEYs.
Is this intended?
Certainly, it does not hurt if the flag is set in OpenSSL 3.0, so therefore it is backward compatible.
I noticed this difference, because I tried to make a program that works on OpenSSL 3.0 to also work on OpenSSL 1.1.1, and it failed because I did not set that flag. Not a real problem, just wondering if that flag was used for a good reason, and now it is missing the check ?

Yeah, we now do not require the flag to be set anymore. It was more like I know what I am doing kind of flag so ignoring it and not requiring it anymore does not seem to be a problem to me. Perhaps some documentation could be improved?

Agreed, it's a documentation problem.

The only 2 places where flag EVP_CIPHER_CTX_FLAG_WRAP_ALLOW  is mentioned in the docs is
https://www.openssl.org/docs/man3.1/man3/EVP_CIPHER_CTX_set_flags.html
FLAGS
...
EVP_CIPHER_CTX_FLAG_WRAP_ALLOW
Used for Legacy purposes only. This flag needed to be set to indicate the cipher handled wrapping.
and
NOTES
...
There are some differences between functions EVP_CipherInit() and EVP_CipherInit_ex(), significant in some circumstances. EVP_CipherInit() fills the passed context object with zeros. As a consequence, EVP_CipherInit() does not allow step-by-step initialization of the ctx when the key and iv are passed in separate calls. It also means that the flags set for the CTX are removed, and it is especially important for the EVP_CIPHER_CTX_FLAG_WRAP_ALLOW flag treated specially in EVP_CipherInit_ex().
The first one mentions Legacy purposes which could be understood as 'only used for legacy PKEYs'. But I guess we could clarify this a bit more.
The second one mentions it in regards of EVP_CipherInit_ex() vs EVP_CipherInit(). And yes, the code still treats this flag special in EVP_CipherInit_ex() and retains that flag when a new cipher is set for the context, but also only for legacy PKEYs. For provided PKEYs it does reset the flags, but also does not care about that flag later on.


Try to fix MacOS CI tests

Let see if MacOS build pass now. If yes it could be caused by:
https://github.com/bazelbuild/bazel/issues/5572

your commit c58cda5 on MacOS?

This commit fixed the CI at the time.
There are some constraints with this flag and the host environment (what kind of JDK is available I think). Where do you see the failure?

Just to add some references
https://github.com/bazelbuild/bazel/issues/13241
https://github.com/tensorflow/toolchains/pull/23
https://github.com/tensorflow/toolchains/pull/25
/cc @comius @av8ramit

This is no longer needed, I think. We've fixed the macos issue.


Made the project instantly testable for anyone wanting to try this method

Hi,
I've just upgraded dependency versions and provided a basic config and README for people to be able to actually see Newrelic in action with your method.
Deployment is still an issue, it'd be nice to be able to reference a newrelic.yml within the application jar but I'm not sure it's possible.
Cheers

approved


fix programmatically setting the label background

Previously when programmatically setting the label background color via setTitleBackgroundColor the background of the content TextView was changed instead the CardView's background. This caused some glitches on dark background colors when corner radius was set.
Setting the background color via xml attribute was already working correctly (it uses the CardView's background).
fixes #16

Thank you so much for the contribution.
Can you please post some screenshots? 😊

Merging. Thanks a lot for the help 🤗😊


Document how to specify the path of the oc client

As ocdev relies on the openshift oc client [1] for standard commands (oc new-project, ....), then we should document how set the path to let ocdev to use it
[1] https://goo.gl/48zDBc

Done since last commit - https://github.com/redhat-developer/ocdev#pre-requisites


Creating example kontainer engine driver

This is an example kontainer engine driver. It is basically just a copy of the
existing google kuberentes engine driver, but serves as an example of how to
create a driver and package it for use with Rancher.
Issue:
https://github.com/rancher/rancher/issues/12698

@nathan-jenan-rancher is your kontainer-engine actually provisioning real cluster or just provide fake call(like create schema)?

If it is just providing the call to create schema i would rather delete all other code is not used by tests to make it a little bit clean. But it depends on you.

LGTM

Thanks for the example. So we can follow this example to add new Kubernetes cloud provider.  Is there any more detailed guide for user to follow which other rancher repo we need to  contribute if we want to add one new Kubernetes  cloud provider for Rancher? Thanks a lot


Do not restrict input length, but make sure some pattern will be applied

Is it possible to not restrict mask length. I am looking for some kind of pattern only.
@Component({
  selector: 'app',
  template: `
    <input [textMask]="onlyAlphabeticText" [(ngModel)]="myModel" type="text"/>
  `
})
export class AppComponent {
  public myRegex = [a-zA-Z ]
  // don't worry the length, just make sure it has regex validation
  public onlyAlphabeticText = myRegex
}

Using Angular 4.0 (angular-cli)

The input will always be restricted by the length of the mask..
You can use a function to return a variable length mask.  See #521 for more details


Permitted require option for basemodel edit, destroy

no-issue
With the new framework it is hard to handle 404 errors outside of the
serialization layer, this is because we cannot force deestroy or edit
to error if the model is missing. This lets us do that.

Yo @kirrg001 I assigned you to this because i'm not 100% this isn't gonna have bad repercussions for the v0.1 api?

@allouis Could you share why it's hard? And what the use case is? :)

// in a controller object for new api
query(data, options) {
  return SomeModel.destroy(Object.assign({id: data.id}, options}))
}

If you DELETE with a non existent id and this runs, you will encounter an error here (Cannot read property destroy of undefined) : https://github.com/TryGhost/Ghost/blob/master/core/server/models/base/index.js#L828
So we look at how posts does it, posts sets the required property to true https://github.com/TryGhost/Ghost/blob/master/core/server/api/v0.1/posts.js#L247
So we change query to:
// in a controller object for new api
query(data, options) {
  return SomeModel.destroy(Object.assign({id: data.id, require: true}, options}))
}

But still doesn't work because it's not a permitted option. We could just add it in the ApiKey model - but it doesn't not seem correct behaviour, it seems to me that destroy should never give an error like cannot read property of undefined

Other options instead of this:

Add check to destroy method, if (object) { object.destroy()
Add permitted option just to ApiKey model
others...

Can't we just force options.require=true in the model layer?
There are a couple of examples in the model layer already. (Search for require=true)

Yeah I can do that :+1:

@kirrg001 reopened this as discussed on https://github.com/TryGhost/Ghost/pull/9954 :tada:

I've added support for findOne as well :+1:

:small_orange_diamond:


feat: add neos 8 compatibility

@rolandschuetz can we merge this? :)
I need it in various projects.
BTW, thanks for this package. <3

Sorry for the delay, I was super overwhelmed by work lately. Just merged it, thanks for the PR!


[Bazaar] Alignment on UX features highlight and recently added

There is some discrepancy with the desired UX for the Bazaar and the IPFS backends capability. Namely, we have things like:

Highlight, Recently Added. RecentlyAdded can be automatically inferred by the app. However, Highlight should not be part of the UX in my opinion - who has the power to decide what to highlight? - and this also complicates things because IPFS can only host static data. If that data is mutated, the IPFS-hash changes, which means that we need to change the registered IPFS hash on the chain.

The same applies to counting the number of likes, if we do this, we need an additional backend.
So remember: the current design is not meant for mutating businesses and offerings in the backend, as this incurs quite some overhead.

Decided that we will use GitHub pages for adding this Metadata to the businesses #1371


Added CSM attribute to model importer, material asset and material widget

Tested model importer and it does grab number of shadow cascades specified in the .mat file


On the screens, make the most of the layout, if there is nothing beside or below, extend to the edge. (eg Vulnerabilities and repositories table)

FEEDBACK MATHEUS

[ ] (Front) Changing CSS for layout
[ ] Check with the UX team if visual alteration is possible

Validating with the UX team


fix for https://github.com/sckott/analogsea/issues/193

This is a proposed fix for https://github.com/sckott/analogsea/issues/193
Description
It seems that ssh::scp_download() expects a directory to download files into, while droplet_execute() passes a temporary file. I made some changes so .RData is downloaded to a temporary directory and loaded from there.
Related Issue
https://github.com/sckott/analogsea/issues/193

thanks @pieterprovoost looks good to me


Remove preceding space character(s) when excluding parentheticals

When excluding parenthetical elements, i.e. (...) and [...], remove also the preceding space character(s), so that the insertion of a plural -s will occur in the correct place. An example with the removable spaces marked with an underscore:
grayling, acrctic grayling_[Lt. Thymallus arcticus]; speckled brook trout_[Lt. Salvelinus fontinalis]

@dwhieb @andrewdotn I think this becomes moot with the rerepresentation of the definition field into the various components?

@aarppe Yes this is handled as part of the notes extraction early in the database aggregation process, so this can be closed now.