New-SSHSession : Exception has been thrown by the target of an invocation

Hi,
I am trying to connect to a RHEL 7.1 server with a private key which has been confirmed working using a putty and a .ppk version of the key. I have converted the same key to an OpenSSH key using PuttyGen with no passphrase. The key is SSH-2RSA - 2048.
When i try to connect with powershell using Posh-SSH i am presented with the following error  "Exception has been thrown by the target of an invocation"
The following command was used
New-SSHSession -Computername $Computername -Acceptkey -KeyFile $keyfilePath -Port $Port -Credential $creds
The powershell host is Windows Server 2012 R2, powershell v4.0
Any help is greatly appreciated.
Regards,

Tried to replicate doing a clean install of CentOS 7 and created a key
login as: carlos
<EMAIL_ADDRESS>password:
[carlos@localhost ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/carlos/.ssh/id_rsa):
Created directory '/home/carlos/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/carlos/.ssh/id_rsa.
Your public key has been saved in /home/carlos/.ssh/id_rsa.pub.
The key fingerprint is:
b3:3f:47:8d:35:66:83:2f:aa:fc:fc:d3:ee:a4:cb:0c<EMAIL_ADDRESS>The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|             .   |
|            . *  |
|        S    B o |
|         o  + o  |
|        . Eo o.  |
|       . oo+oo.  |
|        oo++*=o  |
+-----------------+
[carlos@localhost ~]$ ssh-copy-id carlos@localhost
The authenticity of host 'localhost (::1)' can't be established.
ECDSA key fingerprint is 22:7a:5b:88:92:0c:9f:4c:bc:72:6c:23:21:e9:2d:20.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
carlos@localhost's password:
Permission denied, please try again.
carlos@localhost's password:

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'carlos@localhost'"
and check to make sure that only the key(s) you wanted were added.

[carlos@localhost ~]$

Then I copied the key to system with PS 4.0 and created a session where in credentials I did not gave a password since the key does not have a passphrase (/me cringes at the idea)
PS C:\> New-SSHSession -ComputerName <IP_ADDRESS> -Credential carlos -KeyFile "C:\Users\carlos\priv.key" -Verbose
VERBOSE: Using SSH Key authentication for connection.
VERBOSE: Fingerprint for <IP_ADDRESS>: 0:95:35:dc:72:d0:2:cd:74:f4:fb:ce:ce:9d:99:55
VERBOSE: Fingerprint matched trusted fingerprint for host <IP_ADDRESS>

SessionId  Host                                                                                Connected
---------  ----                                                                                ---------
    0      <IP_ADDRESS>                                                                                True

PS C:\>

I was able to create the session.

Still trying to replicate the issue.

Carlos, I think the issue maybe related to FIPS mode being activated on my windows server. Are you able to reproduce this by any chance ?
Regards
Craig

That will nuke most ciphers and algorithms in .Net if enabled on Windows. Makes the server less secure than secure
Sent from my iPhone

On Feb 24, 2017, at 3:56 AM, craigboey007<EMAIL_ADDRESS>wrote:
Carlos, I think the issue maybe related to FIPS mode being activated on my windows server. Are you able to reproduce this by any chance ?
Regards
Craig
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

https://blogs.technet.microsoft.com/secguide/2014/04/07/why-were-not-recommending-fips-mode-anymore/
Sent from my iPhone

On Feb 24, 2017, at 3:56 AM, craigboey007<EMAIL_ADDRESS>wrote:
Carlos, I think the issue maybe related to FIPS mode being activated on my windows server. Are you able to reproduce this by any chance ?
Regards
Craig
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

any update on this?

Hello,
Thank you for your SSH project!
I confirm, I do have the same issue if FIPS is enabled.
Is there any way to work around the problem without disabling FIPS?
For now I just execute the following before starting a new Powershell session:
reg add "HKLM\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy" /v Enabled /t REG_DWORD /d 0 /f
And once done I just set the Reg value back to "1" enabling FIPS.
I assume this can suffice as a workaround for now...
Some Orgs have IT Policies that require FIPS to be enabled and I am sure they won't like users or local admins to meddle in their affairs, so any other non-invasive workaround would be welcome  :)
Thank you once more for all your work!

The problem with FIPS mode is an underlying .NET problem. I doubt there's anything @darkoperator can do about it per the link he posted.

Nothing I cam do. FIPS degrades the crypto security of a windows box by disabling the ciphers used.
Sent from my iPhone

On May 4, 2017, at 4:31 PM, Ryan Bolger<EMAIL_ADDRESS>wrote:
The problem with FIPS mode is an underlying .NET problem. I doubt there's anything @darkoperator can do about it per the link he posted.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.


Provide cross platform app

Reason/Context
Many backend devs are not using Node.Js and are forced to install Node.js to beeing able to use the app locally.
Description
Would be great if one could simply use a Tauri or Electron based app.

@fkromer wouldn't it be easier just to provide a docker image for it?

@derberg Right, a docker image on DockerHub would address this issue as well.

This issue is connected to the https://github.com/asyncapi/studio/issues/30 Maybe in the future we will think about electron app, but not at the moment, we are focusing on delivery plugins, spec builder (by forms), better visualiser, better linter etc.

I will mark that issue as long-term enhancement, but atm we can use studio from docker image:
docker run -it -p 8000:80 asyncapi/studio

Thanks @fgreinacher! 👏🏼


Specify model module in new_widget for Controller

This is now necessary since we removed the registry.

:+1:


Keyboard focus is moving to non-interactive element “End of chat history” note

Is it an issue related to Adaptive Cards?
No.
What is the PWD impact?
Users who rely on keyboard will be impacted if Keyboard focus is moving to noninteractive element “End of chat history” note.
What browsers and screen readers do this issue affect?
Others
Are there any code-based customization done to Web Chat?
No, I am using Web Chat without any customizations except "styleOptions".
What version of Web Chat are you using?
Latest production
Which area does this issue affect?
Focus management
What is the public URL for the website?
https://airtuserexpdev.azurewebsites.net/Dashboard
How to reproduce the issue?
Step 1: Open the URL: https://airtuserexpdev.azurewebsites.net/Dashboard in Edge Browser.
Step 2: AIRT Dashboard page will appear, Navigate to “Chat with Sage” chat box at the bottom of the page.
Step 3: Using TAB key navigate to bottom of the page.
Step 4: Verify whether keyboard Focus order is logical and moves on to noninteractive element “End of chat history” note or not.
What do you expect?
Focus order should be logical and should not move to noninteractive element “End of chat history” note.
Expected Focus Order: Bot Message -> Text box.
What actually happened?
Focus order is not logical and moves on to noninteractive element “End of chat history” note.
Focus Order: Bot Message -> "End of chat history" note -> Text box.
Do you have any screenshots or recordings to repro the issue?

Did you find any DOM elements that might have caused the issue?
No response
MAS reference
https://microsoft.sharepoint.com/:w:/s/accessibility/EQnwpICBhyNEs80kSOr1v2IBQ1tiKQj6y90QKG1cRcwCEw?e=75BLFO
WCAG reference
Understanding Success Criterion 2.4.3: Focus Order (w3.org)
WAI-ARIA reference
No response
Adaptive Card JSON
No response
Additional context
No response

Bug copied from Accenture team: BUG 11645671

#A11yMAS;#A11ySev3;#MAS1.3.1;#HCL;#Accessibility;#FeatureBotframeworkwebchat-Apr23;

The "end of chat history" is by design and is a technical workaround for browser compatibility.


Continuous integration updates

Removed Jenkins, as the server has been taken offline some time ago. Added polling tools links.

Thank you. Looks good. Merging


Update Harvest's region

This PR updates Harvest's region to Everywhere.

Thanks! Any way you could add a company profile to Harvest? Merging this as-is, however.


docs: add the example of using key vault

What type of PR is this?
/kind documentation
What this PR does / why we need it:
add the example of using key vault
Which issue(s) this PR fixes:

Fixes #69
Special notes for your reviewer:
Release note:
add the example of using key vault

/ping @andyzhangx


Proposal to change the data structure of supported chains and hardwareWalletSupport

I think they should be an array to make it extendable and more data can be provided that way.
For example, instead of:
hardwareWalletSupport: true,

We can have:
hardwareWalletSupport: ['ledger', 'keystone'],

// or

hardwareWalletSupport: [], // if empty then -> FALSE

Same goes for the list of supported chains, we can pull all the latest chains from the chainlist repo and do something like this:
supportedChains: ['ethereum', 'avalanche', ...]

That's a good point, I will try to adjust this in the next release and this will help to also gradually show more information in the frontend. Thanks for the suggestion @kien-ngo !

Guys TY very much... :) beer for all ;)

Hardware wallet support can get complicated beyond that, depending on whether it's USB, QR code, Bluetooth... on mobile you can use USB with Android but iOS can only do Bluetooth / QR codes, so the data model can get very complex :)


saving the message to the database

how can I disable the function of saving the message to the database?

Not possible at the moment, sorry.


Leveraging on Tokenization/Lexers alongside with Regex for certain complex scenarios

Hello,
Thank you for your hard work on this project. The tool is incredibly useful, and I appreciate your dedication.
I'd like to propose having tokenization/lexers for pattern matching along side with regex. This change could improve reliability and consistency in obfuscating sensitive information (specially PII) and enhance error handling and complex structures, It's not as fast as regular expressions but it might be very useful when performance is not a KPI.
Is it feasible to integrate tokenization/lexers into the current codebase?
Would this improve consistency and reliability in obfuscation when dealing with large file processing (over 1TB) in your opinion?

Hi, can you provide an example? Are you talking about providing a custom matcher ? A custom masking to a given input?
Thanks in advance.

something like go-sqllexer as custom matcher for certain scenarios.

You can do lambas in each column to specify a condition and a replacement, are you looking for something more generic?


Stash Navigation zooms in/out on character

When navigating the stash (using CTRL+Scroll) and your cursor is also within the "game area" (i.e. not over your bag or stash itself), it'll zoom in/out (depending on the scroll direction) on your character.
My suggestion would be to block the zoom in/out on the character when the stash nav feature is being used.

another way would be  disabling zoom scrolling in poe itself


Integration test on master fails

@bkueng One of your recent ulog changes seemed to have broken the CI test in some way.
[ROSTEST]-----------------------------------------------------------------------

[px4.rosunit-mission_test_new_1/test_mission][passed]
[px4.rosunit-mission_test_new_2/test_mission][ERROR]----------------------------
right keys must be sorted
 File "/usr/lib/python2.7/unittest/case.py", line 331, in run
   testMethod()
 File "/job/catkin/src/px4/integrationtests/python_src/px4_it/mavros/mission_test.py", line 372, in test_mission
   data = px4tools.ulog.read_ulog(last_log).concat(dt=0.1)
 File "/usr/local/lib/python2.7/dist-packages/px4tools/ulog.py", line 356, in concat
   m = pd.merge_asof(m, df, 'timestamp')
 File "/usr/local/lib/python2.7/dist-packages/pandas/tools/merge.py", line 471, in merge_asof
   return op.get_result()
 File "/usr/local/lib/python2.7/dist-packages/pandas/tools/merge.py", line 968, in get_result
   join_index, left_indexer, right_indexer = self._get_join_info()
 File "/usr/local/lib/python2.7/dist-packages/pandas/tools/merge.py", line 714, in _get_join_info
   right_indexer) = self._get_join_indexers()
 File "/usr/local/lib/python2.7/dist-packages/pandas/tools/merge.py", line 1180, in _get_join_indexers
   raise ValueError('right' + msg)
--------------------------------------------------------------------------------

pandas is using merge_asof, it requires timestamp to be monotonic. The work around is to use this: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.sort_values.html
I can force px4tools to sort on timestamp if you keep having an issue.

It has been flaky for some time so it would be fantastic if you could do the change.

Here is the patch: https://github.com/dronecrew/px4tools/commit/be7fac5cf49e046d3dca61cb9e82a6e4c2928657
I pushed it to pip and released it with tag v0.7.8

@jgoppert It should indeed be monotonic. Which topic is affected?

@bkueng If you can find a log you know it broke on I can tell you by catching the exception and printing the topic name.

I pushed a fix for this: http://sitl01.dronetest.io/job/PX4 Firmware POSIX SITL PRs/3991/console it should be live on pip soon. https://github.com/dronecrew/px4tools/commit/a4d644bb2c042da0c20d53040e817963e82d74d9

Fixed.


bump version numbers in 3.1 release branch

Description of changes
Update Cargo.toml version numbers and CHANGELOGs on the release/3.1.x branch. We need to remember to pull this edit to the main branch once the new version is released.
Disclaimer
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Note: downstream dependency failures are expected since I haven't created release/3.1.x branches in those repositories yet. Will work on this today.


Placeholder images aren't showing as holder.min.js is missing (Label: examples)

The holder.min.js  file is missing from here: https://github.com/twbs/bootstrap/tree/gh-pages/assets/js/vendor
Screenshot:

For this cause the thumbnails aren't generated here: http://getbootstrap.com/examples/carousel/ & few other places.
Screenshot:

Duplicate of #16699. Please search more next time. Thanks!


Update packages and dependencies

Hey @codenameakshay, I would like to work on this issue, Can you assign it to me?

Hey @codenameakshay, I would like to work on this issue, Can you assign it to me?
Hey, it's already assigned to @LiquidatorCoder.


Handle ObjectDoesNotExist in evaluation of object_repr

Closes #549

@hramezani, done.

Thanks @aleh-rymasheuski


CoTweaker should automatically detect current settings

https://github.com/builtbybel/Winpilot/releases/tag/2024.4.7


Deploy new version

Hey. Could you please deploy new version from master to Maven Central repo?

Yes, sure.


Implement RowDefinition cssFunction

Griddle major version
1.*
Changes proposed in this pull request

rowDataSelector is no longer limited to LocalPlugin
rowData and index (on current page) have been added to Row props.
RowDefinition cssFunction is now called if it exists to get a Row's className.

The expected signature of cssFunction was unclear, so I ultimately opted for accepting the Row's props, which seems more flexible than the rowData and index I initially implemented.
Setting the current implementation aside, I wonder about renaming cssFunction as cssClassName (aligned with the ColumnDefinition prop, and not a breaking change since it has never worked) and allowing both to accept either a function (which we would call with the current Row/Cell props) or a plain string.
Why these changes are made
Fixes #643
Are there tests?
No, but there's a story!

...and allowing both to accept either a function (which we would call with the current Row/Cell props) or a plain string.

Seems there is precedence for this kind of thing from the old bodyCssClassName.

Setting the current implementation aside, I wonder about renaming cssFunction as cssClassName and allowing both to accept either a function or a plain string

I really like that idea.

I really like that idea.

Done.

Awesome thanks!

Any change we can get a build pushed for npm?

Just added<EMAIL_ADDRESS>to npm. It's not set as release branch so will have to install it<EMAIL_ADDRESS>👍


Feature/gh 5662 customer coupon

Introduce components, selectors, ngrx and occ-services for customer coupon.
Closed #5662

Personally I would hide pagination (marked as 1), when there is only 1 page available.
Also I would hide the whole bar (marked as 2), when we have only 1 product.
And the bar (marked as 3) should probably appear only for more than 3(?) products.
@developpeurweb can u confirm my thinking?

@maggielin0 please work on e2e tests, because they are unstable currently

Personally I would hide pagination (marked as 1), when there is only 1 page available.
Also I would hide the whole bar (marked as 2), when we have only 1 product.
And the bar (marked as 3) should probably appear only for more than 3(?) products.
@developpeurweb can u confirm my thinking?
Additionally coupon card element isn't really that readable. A lot is going on and I (as a user) am not sure what informations it gives me exactly

@kacperknapik @maggielin0
I agree with all 3 of Kacper's observations, if possible before the release let's do them, but if not, then no problem, it's NOT a show-stopper for the release as we also have the same long standing issue for the Results Page without a solution yet.
The coupon card element closely matches visual mockups, so no worries on that one.

@maggielin0 it seems the implemented dropdown doesn't match visual mockups as per screenshot below

I've discussed this with Bill and created ticket #6023 to improve this UI element for the 2.0 release since it might take a little bit of extra effort on your end and you may still need to analyze and choose a solution to go with.


✨ feat(alert): use kubegems email alert template

Description
As feature alert template supported at https://github.com/prometheus-operator/prometheus-operator/pull/4933.
We should merge this PR after prometheus operator v0.60 released. Then use the helm chart witch support this feature.
Ref: https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack
Type of change
What type of changes does your code introduce to KubeGems? Put an x in the box that apply.

[ ] CHANGE (fix or feature that would cause existing functionality to not work as expected)
[x] FEATURE (non-breaking change which adds functionality)
[ ] BUGFIX (non-breaking change which fixes an issue)
[ ] ENHANCEMENT (non-breaking change which improves existing functionality)
[ ] NONE (if none of the other choices apply. Example, tooling, build system, CI, docs, etc.)

Changelog entry
Please put a one-line changelog entry below. This will be copied to the changelog file during the release process.

Has this feature being merged by prometheus community?


docs: 📚 Create showcase for form field usage in Storybook

Pull Request
📖 Description
This PR adds the first version of a static form element, as seen on the corresponding Figma branch. It is intended to show how to build simple forms. The provided markup will be used for the framework demos to provide a coherent form demo for all supported frameworks.
🎫 Issues
Closes #124.
👩💻 Reviewer Notes
I have created two samples for the form, one is done in mdx and one in storybooks story format. Both have a set of advantages and drawbacks which should be discussed. I would opt for the regular story approach.
MDX:
Advantages:

You write (nearly) plain HTML in a single file, using react syntax.
You can write your JS functionality inline

Disadvantages:

Newlines will automatically insert a <p />, which is unwanted and leads to problems during formatting the code.
There are no screenshots here.
No possibilities to see the code in Storybook.
There will be no screenshots captured currently (this may be configurable, I did not have a look at it).
Code Formatting, AutoComplete and Linting not possible.

CSF:
Advantages:

Code Preview available via Docs.
Formatting is up to you completely, no messy custom tags inserted.
Proper syntax highlighting and type checking.

Disadvantages:

Displays unneeded information (e.g. argTypes in Docs page)
Unable to hide the "default" export from sidebar, which leads to duplicated content (Docs and Default Story)

Also, as this is the recommended base we want others to adhere to, we should double check accessibility and formatting issues (e.g. css adjustments). Would look forward to get some feedback, especially from @mariohamann.
I have currently opted to add the text in a static manner, this should be done via docs tokens (and maybe also exchanged for english when we are at it) later on. This can be done when @LeaLeRose starts working on the Figma template.
📑 Test Plan

Check out the branch
Issue pnpm i -r && pnpm build
Start up Storybook in packages/docs
Inspect the two versions at the new Templates navigation at the bottom.

✅ DoD

[x] I have tested my changes manually.
[ ] I have added automatic tests for my changes (unit- and visual regression tests).
[ ] I have updated the project documentation to reflect my changes (e.g. CHANGELOG, Storybook, ...).
[x] I have made sure to follow the projects coding and contribution guides.
[ ] I have made sure that the bundle size has changed appropriately.
[x] I have validated that there are no accessibility errors.
[x] I have used design tokens instead of fix css values

Nice work! Just a few remarks:

I think we should provide it better in english although the template is in german
Do we need 3 pages with the same contents? (Docs, Default, Forms) ?

Nice work! Just a few remarks:

I think we should provide it better in english although the template is in german

You are right. However, as stated in the PR description, this will have to be done via docs tokens when the Figma implementation gets done. I do not think that this is a thing that we should do twice (e.g. now with static strings in Storybook, then again with exchanging the static strings from the docs tokens). I would like to wait until the docs tokens are ready and implement it in one go. However, I could also translate it for myself and create a follow up ticket. You decide ;)

Do we need 3 pages with the same contents? (Docs, Default, Forms) ? Lets have a discussion about the pros and cons of mdx vs CSF

No, as stated in the description I have shown both ways of creating the story. As I have started with MDX story format and migrated it to a "regular" story, you will have all three of them currently, until we decide which one to use. I think the CSF (a.k.a "regular story) wins here, even when duplicating Docs and the Story. However, I want to have feedbacks from other devs about this before deciding which one we will use.


Correction for raw affiliation INSERM U1242, University of Rennes, Rennes, France

Correction needed for raw affiliation INSERM U1242, University of Rennes, Rennes, France
raw_affiliation_name: INSERM U1242, University of Rennes, Rennes, France
new_rors: 015m7wh34;02vjkv261;00bf6bf92
previous_rors: 015m7wh34;02vjkv261
works_examples: W4380675113
contact: 2e5a54f04d4004779ea819798c82d597:ce5e50d0f6fc7ddcfe1fa98768f84a20 @ univ-rennes.fr

This issue was accepted and ingested by the OpenAlex team on 2024-10-10. The new affiliations should be visible within the next 7 days.


583 action notes from holdings need to be shown in the Details section of the record show page

Current display
Currently, only subfield a is indexed from the 583 fields in https://github.com/pulibrary/bibdata/blob/7824d1bc1acfc97a7ef5dd79314085e9357a7787/marc_to_solr/lib/traject_config.rb#L789
Desired display
This is the initial format of showing 583s that was agreed to by Patty Gaspari-Bridges and Heidi Fisher.
[$3]: [Upcase first letter of $a] [$d] – [concatenate all $f with a space between the subfields] ([$5]) [hyperlink entire field to the value in $u]
Sample field:
583 1# $3 Vol. 1 $a committed to retain $d in perpetuity $f ReCAP$f Italian Language Imprints Collaborative Collection $5 NjP $u http://arks.princeton.edu/ark:/88435/dcxg94j1575 $8<PHONE_NUMBER>0006421
Sample output:
Action note(s): Vol. 1: Committed to retain in perpetuity -- ReCAP Italian Language Imprints Collaborative Collection (NjP)
Implementation notes
see comment https://github.com/pulibrary/bibdata/issues/2077#issuecomment-1443759094

[ ] PUL records; Display 583 if it is a PULFA record
[ ] PUL records; Display the 583 if there is a $8 to identify it as coming from a holding
[ ] For partner records from SCSB display all 583

Acceptance criteria

[ ] All action notes display in the Record Show Page in the Details section above the Statement on Language in Description;
[ ] Partner records from SCSB also have action notes display.
[ ] The display is presented to DSSG for final approval

Notes

To be conservative in rolling this out for PUL records, you could make a filter to only display the 583 if there is a $8 in the field to identify it as coming from a holding. There was some concern before about showing 583 fields in records. Currently, the 583 is only shown if it is a PULFA record.

Sample record is<PHONE_NUMBER>6106421.

I updated the publishing profile DACS Test Record Export in the sandbox to include the 583s from holdings and the item retention info.
The Committed to Retain flag will be in 876$w.
The Retention Reason will be in 876$x.

Right now we record PULFA notes both when the first indicator is null (meaning privacy is not indicated), or if the first indicator is 1 (meaning the the record is public).
If we're expanding the notes we're publishing to all Princeton notes, should we only publish the ones that have been explicitly marked as public?

I think what I would want to do is to look at the PULFA records and see how many of them have blank indicators in 583 fields. Due to all the PULFA records loading every day, I could create a 'normalization rule' that changes the indicator to 1 if it's blank, and that would likely update all the records with blank indicators.
@regineheberlein Would it be appropriate for the PULFA records to have the first indicator of the 583 field to be changed to a 1 if it is blank?
I would think having one rule for the action notes would be better than doing one thing for PULFA records and another for everything else.

This will not affect records produced by the daily aspace2alma process, as aspace2alma explicitly skips those records.
This was requested in https://github.com/pulibrary/aspace_helpers/issues/205 and is implemented on https://github.com/pulibrary/aspace_helpers/blob/main/reports/aspace2alma/get_MARCxml.rb#L204.

@mzelesky Would it be possible to get a couple more examples? I'd especially like an example with a repeated 583 (since I believe it is repeatable), and another example of the somewhat more complex 583 (most of the examples in the sandbox seem to only have subfield a)

@mzelesky Also, do we really want the double dash, or should it be an em dash, since it's not being used as a delimeter?

There are likely not many more examples with the more complex 583 (most of the plans have not yet gone into effect), but I will look. I will also look for multiple 583s. Any other use cases?
As for the em dash, yes, I tried to represent the em dash as two small dashes. Thank you for confirming.

I will not be able to provide examples until tomorrow, most likely, since it requires creating a full dump with the 583 fields from holdings merged into the bibs. But I will run a search once the publishing job finishes.

There are no files with the 583s merged from the holdings that I'm aware of. The Incremental and General Publishing jobs do not currently include them.

@mzelesky  Look on lib-sftp.princeton.edu/alma/sandbox/DACS_test_records_24427547550006421_new.xml.tar.gz - I ran the DACS Test Record Export with the records with 583 set yesterday (as well as that single record) - but maybe it's missing something?

Ah, I didn't see that. But that set (583_test_records) only had 1 record. I'm going to be running over a full dump.

Ah, sorry, yeah, looks like the file I was thinking of was the one from the 24th. But carry on!


NPM error: Could not resolve peer dependency slate.

I'm need to install slate-yjs but keep getting this error

Any help would be greatly appreciated.

I'm need to install slate-yjs but keep getting this error

Any help would be greatly appreciated.

Same here

try adding --force after your npm install slate-yjs

try adding --force after your npm install slate-yjs

Thanks @RBSUS , this helped


bug: There does not seem to be ANY connection between a ApisixRoute object and a ApisixConsumer object

Current Behavior
You can specify authentication type inside a ApisixRoute object, but even though there can be more than one ApisixConsumer for the same authentication type in the same namespace, you cannot specify which ApisixConsumer should be connected with which ApisixRoute.
This effectively means that you can only configure ONE type of authentication for the whole namespace.
So, for example:
Given that you have three microservices running in some namespace:
You can configure:

one to use basic auth
one to use key auth
one to use jwt auth

You can also configure:

all three to use jwt auth with the same key

But you cannot configure:

all three to use jwt auth but with different keys.

Expected Behavior
There needs to be a way to connect ApisixRoute object to ApisixConsumer object, for instance by being able to specify the NAME of the consumer object from inside the ApisixRoute object.
Error Logs
No response
Steps to Reproduce
Follow the tutorial: https://apisix.apache.org/docs/ingress-controller/tutorials/enable-authentication-and-restriction/
and try to configure JWT auth for more than one microservice in the same namespace, so that each microservice uses a different JWT key.
Environment
k8s: AWS EKS v1.24.13
ingress-controller: container image:  apache/apisix-ingress-controller:1.6.0

Thanks Aurelia

Thank you very much for your reply.
Unfortunately, this does not work for me.
If I understand this correctly, then "jack1" is the name of the consumer object and "default" is the name of the namespace.
I have now tried to get this working with a simple example of the standard kubernetes dashboard deployed in "kubernetes-dashboard" namespace:
apiVersion: apisix.apache.org/v2
kind: ApisixRoute
metadata:
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  http:
  - authentication:
      enable: true
      type: basicAuth
    backends:
    - serviceName: kubernetes-dashboard
      servicePort: 443
    match:
      hosts:
      - XXX
      paths:
      - /*
    name: rule
    plugins:
    - name: redirect
      enable: true
      config:
        http_to_https: true
    - name: ip-restriction
      enable: true
      config:
        whitelist:
        - XXX
    - name: consumer-restriction
      enable: true
      config:
        whitelist:
        - kubernetes-dashboard_kubernetes-dashboard-basic-auth
---
apiVersion: apisix.apache.org/v2
kind: ApisixConsumer
metadata:
  name: kubernetes-dashboard-basic-auth
  namespace: kubernetes-dashboard
spec:
  authParameter:
    basicAuth:
      secretRef:
        name: kubernets-dashboard-basic-auth
---
apiVersion: apisix.apache.org/v2
kind: ApisixTls
metadata:
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  hosts:
  - XXX
  secret:
    name: XXX
    namespace: ingress-apisix
---
apiVersion: apisix.apache.org/v2
kind: ApisixUpstream
metadata:
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  scheme: https

Basic Auth works, so if I disable consumer-restriction, everything is fine.
But once I enable consumer-restriction, I get error message
{"message":"The consumer_name is forbidden."}

You got the underscore in the wrong place; but it also doesn't matter, because the controller flattens all dashes to underscores, so your consumer_name becomes kubernetes_dashboard_kubernetes_dashboard_basic_auth.
You can more easily debug this by just asking the APISIX Admin API for the list of consumers:
https://apisix.apache.org/docs/apisix/admin-api/#consumer
(you can port-forward the apisix-admin service and use the viewer key you hopefully set in your chart values)

Thank you very much for your reply.
I can confirm that it works now.
Honestly, this behavior is not exceptionally pretty ;) but I really appreciate the help that I get here - thank you very much, Aurelia :)
Ticket can be closed from my perspective.


No longer appears to work.

Heya, I followed the install instructions but no logs are showing up in /var/log/dokku/ and the process isn't being restarted.
dokku plugins shows the plugin but it doesn't appear to be working. This is with dokku v0.3.19.

If you're still having this issue, try again with the latest version of the plugin and dokku v0.4+.


Bevy WASM app broke with 'metal_types' error after upgrade to macOS 14 Sonoma

Bevy version
0.11.3
[Optional] Relevant system information
AdapterInfo { name: "", vendor: 0, device: 0, device_type: Other, driver: "", driver_info: "", backend: BrowserWebGpu }

What you did
Navigate to https://rgis.app and look at the JS console:
Unable to create library object: <built-in>:1:10: fatal error: cannot open file './metal_types': Operation not permitted
#include "metal_types"
         ^
.
 - While calling [Device].CreateRenderPipeline([RenderPipelineDescriptor]).

Source is here: https://github.com/frewsxcv/rgis

I think this is a chrome bug https://bugs.chromium.org/p/chromium/issues/detail?id=1486993

Examples on the Bevy website seem to work though in Chrome. Is it something with my particular setup?

For anyone who runs into this, you may need to enable the webgl2 feature. I didn't have it enabled and apparently Bevy now defaults to WebGPU which is where this bug comes from.


Suggestion: Force exec in cc

Adding something like a force exec for cc would be nice (ignore perms) so if they type a cc and that cc says {{force “kick” (.User.ID)}} it would force exec it so i dont have to make it add a role to do that

there is now {{execAdmin ...}}


fixed_activity not the same as bound_activity_up plus bound_activity_lo

Dear all, I am currently struggling with setting the fixed_activity for a model. What I want to do is fix the activity of the trade technologies from a global simulation to a national model. What puzzles me is, that this works well if i use bound_activity_up  and bound_activity_lo (see below). It however fails if I use the same values in the fixed_activity parameter.
Definition of the scenarios
# Load Scenarios
global_scenario = message_ix.Scenario(mp, model=global_model_spec.model, scenario=global_model_spec.scenario)
country_scenario = message_ix.Scenario(mp, model=cry_model_spec.model, scenario=cry_model_spec.scenario
new_scenario = country_scenario.clone(model=new_scenario_spec.model, scenario=new_scenario_spec.scenario', keep_solution=False)

# Load Activity Parameter from the Global Model
trade_tecs = country_scenario.set('cat_tec', {'type_tec': ['Import_tecs', 'Export_tecs']})['technology'].to_list()
trade_volumes = global_scenario.var('ACT', {'node_loc': country, 'technology': trade_tecs})
trade_volumes = trade_volumes.assign(value=trade_volumes['lvl'], unit='GWa/a')

Example I - using the fixed_activity parameter (infeasible):
# Add fixed activity
new_scenario.check_out()
new_scenario.add_par('fixed_activity',trade_volumes)
new_scenario.commit(' ')

# Solve model
new_scenario.set_as_default()
new_scenario.solve()

Example II - using the bound_activity parameters (feasible-delivers expected results):
# Sum activity over all vintages
idx_columns = ['node_loc', 'technology', 'year_act', 'mode', 'time', 'unit']
trade_volumes = trade_volumes.groupby(by=idx_columns, as_index=False).sum()

# Add bound activities
new_scenario.check_out()
new_scenario.add_par('bound_activity_up', trade_volumes)
new_scenario.add_par('bound_activity_lo', trade_volumes)
new_scenario.commit(' ')

# Solve model
new_scenario.set_as_default()
new_scenario.solve()

Does someone see what I am missing? Might this be a numerical issue?

Good morning everyone! So by trial and error I found a workaround, that  works so far:
 # Add fixed activity
new_scenario.check_out()
new_scenario.add_par('fixed_activity',trade_volumes[~trade_volumes.technology.isin(['coal_exp'])])
idx_columns = ['node_loc', 'technology', 'year_act', 'mode', 'time', 'unit']
trade_volumes = trade_volumes.groupby(by=idx_columns, as_index=False).sum()
new_scenario.add_par('bound_activity_up', trade_volumes[trade_volumes.technology.isin(['coal_exp'])])
new_scenario.commit(' ')

# Solve model
new_scenario.set_as_default()
new_scenario.solve()

However, I'd be still very much interested in understanding what is happening here. So please let me know if you have any ideas on this.  Thanks!

I didn't write this GAMS code, but here's what a search (https://github.com/iiasa/message_ix/search?q=fixed_activity) shows: https://github.com/iiasa/message_ix/blob/2759faf226e3df6296c7d52d78775afaded74905/message_ix/model/MESSAGE/model_core.gms#L173-L174
You can find the usage of bound_activity_{lo,up} in the same file. My interpretation is that these two operate differently: bound_activity_{lo,up} are inequality constraints in the LP, while fixed_activity instead causes the ACT variable to be fixed (not free) for those indices.
What I don't understand is what value ACT is fixed to. I can't see any code that copies the value of fixed_activity into it—perhaps that's hidden in Java?

@khaeru, your summary is correct and the line you reference is the value that the variable is being fixed to - no need for any other data manipulation...
My hunch is that this is a numerical issue.
@ClaraLuisa, can you check the GDX files if you see strange values in the fixing-parameter? Or if there are other bounds that affect that particular activity, can you try fixing to a slightly higher/lower value?

Hey @khaeru and @danielhuppmann thank you for your response. It really seems to be a numerical issue as (thanks @danielhuppmann for the hint) it works perfectly fine if i set the fixed_activity to slighly lower values:
# Add fixed activity
new_scenario.check_out()
new_scenario.add_par('fixed_activity',trade_volumes.assign(value=trade_volumes['value']*0.9999999)
new_scenario.commit(' ')

# Solve model
new_scenario.set_as_default()
new_scenario.solve()


Extend std

Extend dir std for Linux
Fix cli documentation according to the latest changes

Codecov Report

Merging #92 (4c39b6f) into main (07565e0) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 4c39b6f differs from pull request most recent head 771eafc. Consider uploading reports for the commit 771eafc to get more accurate results

@@    Coverage Diff     @@
##   main   #92   +/-   ##
==========================
==========================

Continue to review full report at Codecov.

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


Useless!

So, how EXACTLY does someone write a monitor filter driver? There is nothing here that provides any information other than that monitor filter drivers are supported

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

ID: ce19b390-c50f-5a79-a483-ff5de162ac91
Version Independent ID: 5d0265b5-9492-ace8-84c9-466ecbc48c9a
Content: Monitor Filter Drivers
Content Source: windows-driver-docs-pr/display/monitor-filter-drivers.md
Product: windows-hardware
GitHub Login: @nabazan-microsoft
Microsoft Alias: windowsdriverdev

This issue is the same request as issue #875. Closing #875 .

Hi @BrianCatlin, I've created a task to improve this topic.


Add working-directory support

Building my project requires a customized ./configure step which creates a new directory where make must be run from inside this subdirectory. As working-directory is currently not supported for "uses:" steps, the cleanest option to address this is in this action itself.
Adding support for providing a 'working-directory' variable allows us to take advantage of using this scan action.
Here is an unsuccessful run when no working-directory is provided: https://github.com/justin-stephenson/sssd/runs/5131314610?check_suite_focus=true
And an example successful run: https://github.com/justin-stephenson/sssd/runs/5131510653?check_suite_focus=true
Thanks in advance.

I just noticed that https://github.com/google/breakpad/blob/main/.github/workflows/coverity.yml is using make -C to accomplish something similar, I will test if this works for my project but I still see some validity in specifying this working-directory in this action.

merged in f478683bcac8, thanks!

i didn't have anything in mind, but i guess there's no reason not to.  tagged a v1.2.0 and respun the v1 tag to match.


Builder: Make work with no parameters

Specifically, no Brunel parameters.
Maybe default to
  data('sample:US States.csv') bubble label(abbr) size(population) color(dem_rep)

Fixed.  This link works & uses the provided brunel as default:  http://brunel.mybluemix.net/gallery_app/renderer


netmaster cli refactor

Refactor netmaster cli to use "github.com/urfave/cli", it brings
benefit like setting forwarding mode, infra type and network mode,
allows setting multi etcd/consul endpoints and using SSL, enabling
syslog,json log and multi log levels.
Signed-off-by: Wei Tie<EMAIL_ADDRESS>

build PR

TODO: update container entrypoint scripts

build PR

build pr

build PR

@tiewei How do you feel about raising an error if etcd and consul endpoints are set?  Right now it says "consul endpoints are ignored if etcd endpoints are set"... if both of them are set, we can't really determine what the user intent was IMO.  I think we should just explode in that case.

@chrisplo  mentioned that as well in last commit ... i'll error it out then

build PR

build PR

build PR

build PR

build PR

build PR

build PR

build PR

build PR

build PR

build PR

build PR

build PR

build PR

build PR

build PR

build PR

What release is this meant to be included in? It'd be nice to deprecate the old flags instead of removing them. This should make it easier if we make a 1.2 release which is still backwards compatible and some users upgrade an existing setup. What do you think?

Most old flag was kept except --cluster-store due to the schema of url change, yes 1.2 would be ideal for this type of changes

Build PR

overall substance looks good, just some style nits


No more maintained ?

2 years of inactivity, 16 PR and 86 issues that's sad...

Yes, that is sad, I think someone has to take initiative to maintain parallel fork to test and  merge pull requests.
I am not expert developer otherwise I would have done that.

You may add Maintainers for midi.js.
Or create and organisation, move this project into and add people who wants to help :)
You have to many stars on this one.
It would be sad to leave it ^^
I'd like to help btw ;)

sry @shivrajsa  I thought you're were @mudcube
But yeah as I said if @mudcube is too busy, an organisation can be created to allow some peoples to help & check PR's

Yes, but someone, who has rights, has to take that initial step

The author seems pretty active on github, we'll see if he will come here. :)

@mudcube ? :)

Hey folks here! I work with @mudcube and we are working on continuing to maintain MIDI.js. We now have a couple more contributors and will begin pushing updates and responding to pull requests in the coming weeks. Stay tuned and I want you to know that MIDI.js is still alive! 😄

Yeaaah many thanks :D !

@ryanreece I am wondering when will this library come under active development ?

I am wondering when will this library come under active development ?

My guess: As soon as someone needs it. For my project, it looked promising at first, but then I found it's easier to use just parts of the feature set via smaller, more specialized packages.

Hey there,
as this seems not to be maintained anymore and I needed different/more features I have created my own version of this. Mine is only for reading midi files and listening to events, but not playing sounds (useful for visualization).
If you want, you can contribute there, or we can also fork the complete midi.js and maintain it, I'd love to see both happen :)
You can view and contribute to my project here

but not playing sounds

In that case, the name MidiPlayer is a bit confusing. I'd rather call it MidiReader or something. If someone needs audio output, they could combine it with sample-player; I've set out to research possibilities for shrinking the sound font files, but haven't found enough time yet.

@mk-pmb Yeah, I also considered that name, but I feel like MidiPlayer plays a midi so one can listen to the events (listen in the coding way,  not audio^^) and MidiReader just parses it to an object without functions like play, pause, setSpeed, etc.
And thanks for mentioning the sample-player, seems useful :)

listen to the events

That I'd call "subscribe to". Maybe MidiBurner because it "fires" events? Or just generic MidiEmitter.

@mk-pmb Yeah, I will definitely consider these options (MidiBurner sounds nice), but I think we shouldn't discuss it here. You can create an issue on the projects site if you want to add something to this topic.

All pinned projects from Mudcube are 3+ years old and no more and dead... He seems to work only on private projects now. Sad...
Please make a maintainer team.
I close this issue...

@ryanreece  You had promised to keep this alive. We are waiting for merger of all PRs.

My apologies on the late reply. 🙇🏾♂
Who here would actively maintain a fork?  I'd be happy to open 1 up per https://github.com/rejuvenate/rejuvenate/issues/5.  Also, if anyone already maintains a more-active fork (but doesn't want sole-maintainer responsibilities), I'd consider candidates to fork from.

I have created an ES6-modern standards version of MIDI.js at https://github.com/mscuthbert/midicube and happy to take PRs there.  Also happy to make major contributors to this Repo admin on the midicube repo to prevent this from happening again.


Makes Character Animations more accurate (24 FPS not 10 or 20)

Basically I made the character animations at 24 fps (and sometimes on twos if that's what it was originally) because it was bothering me that the character animations looked off.
I also removed the little pixel lines off some of the strum note animations.

It's like midnight in my time wait til I wake up tomorrow then I'll review the pull request
Thank you for contributing it really helps!


Timezone fixes

fixes #212, #230
There was a general confusion with TIMEZONE setting. To rectify that, we've added another setting, TO_TIMEZONE to make settings self explanatory. It's a major change and is not backward compatible.
Now, dateparser consider timezone to be system's default unless specified. e.g.
In [2]: parse('10:04 am EST')
Out[2]: datetime.datetime(2016, 9, 26, 10, 4)  # date isn't converted to UTC.

No conversion takes place, and specified timezone is attached to the resultant date
In [5]: parse('10:04 am', settings={'RETURN_AS_TIMEZONE_AWARE': True, 'TIMEZONE': 'EST'})
Out[5]: datetime.datetime(2016, 9, 26, 10, 4, tzinfo=<StaticTzInfo 'EST'>)

Conversion is explicit now and must be done using TO_TIMEZONE setting.
In [7]: parse('10:04 am', settings={'TIMEZONE': 'EST', 'TO_TIMEZONE': 'Utc'})
Out[7]: datetime.datetime(2016, 9, 26, 15, 4)

Current coverage is 93.82% (diff: 64.10%)

Merging #235 into master will decrease coverage by 0.55%

@@             master       #235   diff @@
==========================================
  Files            32         32
  Lines          2736       2751    +15
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           2582       2581     -1
- Misses          154        170    +16
  Partials          0          0

Powered by Codecov. Last update 73ba31c...80d1c7d

Now, dateparser consider timezone to be system's default unless specified. e.g.

Hm, what's the reason for this change? Server timezone has nothing to do with a timezone of a site you're scraping. Using server timezone can produce hard-to-notice bugs - you can e.g. develop code locally, get it working, then deploy it to a server, and if a server happens to have a different timezone, you've got a wrong result in production. With UTC default there was no such a problem.

@kmike @waqasshabbir I honestly don't understand why, from a design perspective, you're adding in this needless complexity to begin with. It seems to me that the right way to do it is to return time zone aware datetimes if the string you parsed has a time zone in it, and otherwise return a naive time zone.  One option like, IGNORE_TIME_ZONE or something would allow people to specify that you want a naive object with time zone ignored, and then all other time zone logic is handled by the end user. Allowing user-specified lists of string <-> zone mappings is also probably a good idea.
If you do something where you are handling all time zone applications as part of the parsing step, people will be confused as to how the time zones are being treated, and you'll end up with a bunch of complicated options for how to deal with different cases using different zones - all of which can easily be handled by the user just manipulating the results using python's (superior) datetime functions.

@pganssle there is one problem which can't be solved at post-processing: handling of relative dates like '2 hours ago'. On forums it is common to have relative and absolute dates mixed - older dates are absolute, recent posts/comments have relative dates. Because dateparser returns absolute dates, there must be a way to tell dateparser "this website uses this timezone" in order to parse such relative dates correctly. If you parse these dates as relative to server time or to UTC then you need to convert absolute dates to server time or UTC (otherwise returned dates will be incompatible) - and you need server timezone information for that.
I agree that all other timezone processing is less critical because it can be handled by an end user as a post-processing step.

Probably a better design would be the following:

return absolute dates with time zone written in them as time-zone aware;
return absolute dates without time zone as naive datetime objects;
return relative dates as time-zone aware datetime objects, either in UTC or in server timezone;
provide a function to normalize all dates to a single timezone; it should have 'default_timezone' argument with timezone for zone-less dates, and 'result_timezone' with a timezone date should be converted to.

@kmike reason for this change is conversion to UTC in either relative dates or incomplete dates like 2 pm was implicit and caused confusions for many users. For example, the site you are parsing dates from is in Eastern timezone, you get correct result normalized to UTC when you parse 2 hrs ago. But when you parse today at 2 pm, no conversion happens because dateparser by default assumed all dates to be in UTC, thus, a wrong recording.
You can also rephrase below as

Now, dateparser consider timezone to be system's default unless specified. e.g.

dateparser no longer make implicit conversion to a default timezone.
Having to specify settings will help user be more aware of timezone conversions and implications. When you specify TO_TIMEZONE you know, you're converting from your environment's timezone to the specified one.
re better design, not really sure, how useful is the idea of mixing naive and tzaware objects when you can do general post-processing/normalizing using settings to either return all tzaware objects or naive objects converted to a desired timezone.
@pgnassle dateparser offers all of its primary functionality through one entry point dateparser.parse. That's why we introduced settings to allow customization of factors to tailor the end result. For example, while parsing incomplete date like Friday, we can specify PREFER_DATES_FROM to either get Friday's date from the last week or next. If day is missing from a date string like September 2016, there's a setting to specify use either first of the month or last day to populate the missing day. Timezone conversion settings share the same idea and that's why are consistent with library's design.
For timezones with similar abbreviations, some work was done early on to adopt only the most commonly used ones and avoid duplicates. See here

@kmike I see how that is, but wouldn't it make more sense for relative dates to return timedelta objects, which completely obviates the need for this time zone thing?
@waqasshabbir The problem I have is that you are doing manipulations to the datetime that have no place in a parsing function. I think it's very reasonable to specify a default value for the time zone, which is replaced if a time zone is specified in the string. I also think it's very reasonable to say "even if a time zone is specified in the string, ignore it", but what you are doing is providing some facility for doing timezone math within the parsing function, which does not make sense, conceptually.
All of this makes the whole function quite confusing, because I would expect parse('2014-04-21 12:00:00 PST', settings={'TIMEZONE': 'US/Eastern'}) to return datetime(2014, 4, 21, 12, 0, tzinfo=PST), or, at a stretch, datetime(2014, 4, 21, 16, 0, tzinfo=EST), but definitely not datetime(2014, 4, 21, 16, 0). What setting do I use if I want to return something that's naive if the string is naive and tzaware if the string it tzaware? What settings would I use if I want to say, "If it's naive assume the timezone is EST, otherwise use whatever time zone setting is specified in the string?" Those would be the expected behavior of a parser, because they are actually settings about how a string is interpreted.


Automator: update proxy@master in istio/istio@master

Generated by Automator - 2020-10-26T19:32:16+00:00

@istio-testing: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-telemetry-k8s-tests_istio
d5db4cc0da3e26e56bcbeb9cf589c179249e1367
link
/test integ-telemetry-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@istio-testing: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

integ-telemetry-k8s-tests_istio
d5db4cc0da3e26e56bcbeb9cf589c179249e1367
link
/test integ-telemetry-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest


Mendeley add-on folders

When I try to select a folder to use from Mendeley, only some of the folders it contains appear as options. I see this: (https://cloud.githubusercontent.com/assets/12090449/9070172/e1d53e30-3ae5-11e5-85b2-dfeda50e1cec.png)
Instead of this: (https://cloud.githubusercontent.com/assets/12090449/9070202/0cc25740-3ae6-11e5-9036-a3c45727bc42.png)

Based on the information provided, this looks like it will be fixed with the release of the following PR:
https://github.com/CenterForOpenScience/osf.io/pull/3900
I will follow up with you after it releases this week to see if you are still experiencing the issue.


ODataController controllers missing from swagger UI

I am working on a POC with OData on AspNetCore
Microsoft.AspNetCore.OData
I am trying to add Swagger UI to document The API
I am working with this versions :
Swashbuckle.AspNetCore.Swagger 1.1
Swashbuckle.AspNetCore.SwaggerGen 1.1
Swashbuckle.AspNetCore.SwaggerGenUI 1.1
My problem is the ODataController is missing from the Swagger UI.
I have found some forum thread and the workaround was to add Annotations to the ODataController
[ApiExplorerSettings(IgnoreApi = false )]
If I do that the Api is not working since the routes are not defined .
has ApiExplorer enabled, but is using conventional routing. Only actions which use attribute routing support ApiExplorer.
so the only solution I have found to see the ODataController is to also add :
[Route("v1/api/[controller]")]
But if I do that I lose the Odata.context informations (in the json results) that are vital to give the total number of results without paging
<EMAIL_ADDRESS>"http://localhost:29860/v1/api/$metadata#Products",
<EMAIL_ADDRESS>4,
What can I do to make swagger work with OdataController without loosing all Odata annotations on the results ?
Thank you by advance for your attention

+1

Maybe it makes sense to somehow utilize the work done over at Swashbuckle.OData

I think I have found some workaround on this^
.UseRouter(builder =>
{
    builder.DefaultHandler = x.ApplicationServices.GetRequiredService<MvcRouteHandler>();
    builder.MapODataServiceRoute(...);
})
.UseMvc()

This configuration places IRouter from OData before IRouter from Mvc.
Also I have TWO controllers - one that made all the job (derived from ODataController, invisible to swagger by default, routing through ODataRouteAttribute) and documentation-only controller (have same methods, throw NotImplementedException on all methods, annotated with attributes that made swagger generate proper documentation like RouteAttribute).
Because of routing configuration ODataController always will hit before documentation-only controller, so you have working OData and working documentation.

Thank you for your response.
I am really sorry but I have been fired by my client for budget reasons. I don't have the time to be able to test if your solution is working on my previous  project.

This solution does´t work for me in AspNetCore Odata. Somebody go it?

I just hit the same issue myself and gave a cursory glance into how to get around it.  I've got a minimal knowledge of how Swashbuckle does its thing, but it looks like it ultimately uses Microsoft's Microsoft.AspNetCore.Mvc.ApiExplorer.ApiDescriptionGroupCollectionProvider to gather the API endpoints (in Generator/SwaggerGenerator.cs, around line 38).
If that's the case, might the issue be that ApiDescriptionGroupCollectionProvider isn't properly gathering information related to OData endpoints?
I attempted to apply the workaround above but it had no effect in my project.

When I go to swagger I get this message "No operations defined in spec!" and when I added API Controller I get "Error Fetch" I need to use the swagger for my odata controllers, do you guys have any idea how can I solve this?

Same issue here. My regular Controllers show up in Swagger but not my OData controllers.

Same error !

+1

+1

+1

This is basically a duplication of #807. Since folks on this issue may not be following it, I'll repost my response. Hopefully, it will help one or more of you out.

The issue is that there is no API Explorer for OData - on Web API or ASP.NET Core. On both platforms, the default OData controller base class opts out of the API Explorer. It's possible to work around this, but it doesn't help because the default API Explorer implementations do not understand how to discover OData routes.
I see the crux of this issue being that OData simply does not have an API Explorer. That is independent of, and should be external to, Swashbuckle or any other Swagger generator. If the OData team or anyone else (like API Versioning) provided API Explorer extensions, the consumer libraries like Swashbuckle just work. The idea that a Swagger library such as Swashbuckle should provide this support is the wrong approach IMHO. There have been previous attempts to do this in the past. Swashbuckle already does everything required, regardless of whether you're using OData, as long as it's provided in the API Explorer.
If you don't need or want versioning, but you still want Swagger support, then the next best option might be to use the ODataSwaggerConverter provided by the OData team.  At a minimum, it might provide an initial implementation to work from. There are also libraries and other tools that transform the EDM (a la XML) to Swagger (in JSON). This may be a workable solution as well.
As long as you generate compliant Swagger documents in a manner addressable by the Swashbuckle Swagger UI, things should work end-to-end.
I hope that helps.

This might help some people?
https://github.com/Microsoft/aspnet-api-versioning/tree/master/samples/aspnetcore/SwaggerODataSample

Actually it is worse - OData does not play nicely with routing in dotnetcore. If they EVER get around doing any work on dotnetcore 3.0 compatibility with the endpoint routing, they hopefully manage to work out their coding issues. Not that any work seems to happen there (last checkin: about a MONTH (!) ago at this moment, last pull request... closed 29 days ago.

+1

I keep waiting for a possible solution of this error, please @domaindrivendev can you tell me when we will have this solution ?

Swashbuckle is built on top of ApiExplorer, the metadata layer that ships with ASP.NET Core. As that DOES NOT support ODataControllers, Swashbuckle would have to generate the descriptions independently of ApiExplorer. This would take a long time and would add significant complexity to the codebase. It’s also pretty far down on the list of priorities.
To be frank, you’d be better off taking a stab at it yourself. You know ... we are talking about “free” open source software here!
If you’re interested, I would suggest a new project called Swashbuckle.AspNetCore.OData. In it you could create an implementation of ISwaggerProvider - this way you could still plug into the Swashbuckle ecosystem.

@domaindrivendev is correct; this isn't a Swashbuckle or even a Swagger problem - it's an OData problem. Solutions should be directed to the OData team on their repo.
Depending on your needs, there are at least 4 solutions out there:

The ODataSwaggerConverter provided by the OData team

There isn't much to the implementation so you should be able  to customize it as needed
This can be combined with a custom ISwaggerProvider

Use an EDMX-to-OpenAPI transformer (like this one)

This is just one example, but there are others out there if you search around
This can be combined with a custom ISwaggerProvider

Use Swashbuckle.AspNetCore.OData, which works well for basic scenarios

I do not recommend this project if you're using versioning; they impose their own semantics
This library is not compatible with API Versioning

If you need/want versioning with OData, API Versioning provides an API Explorer that Swagger generators like Swashbuckle are capable of consuming

@xuzhg can you help with this ?

@domaindrivendev is correct; this isn't a Swashbuckle or even a Swagger problem - it's an OData problem. Solutions should be directed to the OData team on their repo.
Depending on your needs, there are at least 4 solutions out there:

The ODataSwaggerConverter provided by the OData team

There isn't much to the implementation so you should be able  to customize it as needed
This can be combined with a custom ISwaggerProvider

Can you provide how and where to use the ODataSwaggerConverter? Didn't find anything yet.

@guispre, I would start by simply reviewing the tests in ODataSwaggerConverterTest.cs.

Does anyone found a workaround for this yet?

Hi Guys, I had similar question, I am able to produce the ODataControllers in the SwaggerUI just fine after applying the solutions here, :)  but when I try to produce the same swagger.json file through
 dotnet swagger tofile --output $path_to_swagger_json --serializeasv2 $PATH_TO_ASSEMBLY $version_name
I don't see the ODataController paths here.
Any idea on how to tell the command-line swagger to generate the same swagger like generated by Startup.cs?

@manisha201301  can you please share with us your solution to show OdataControllers in SwwaggerUI?

I managed to make Swagger compatible with ODataController by following the code in this repository. I had only to change SetOutputFormatters in Startup.cs in this way:
      private static void SetOutputFormatters(IServiceCollection services)
       {
           services.AddMvcCore(options =>
           {
               IEnumerable<ODataOutputFormatter> outputFormatters =
                   options.OutputFormatters.OfType<ODataOutputFormatter>()
                       .Where(formatter => formatter.SupportedMediaTypes.Count == 0);

               IEnumerable<ODataInputFormatter> inputFormatters =
                   options.InputFormatters.OfType<ODataInputFormatter>()
                       .Where(formatter => formatter.SupportedMediaTypes.Count == 0);

               foreach (var outputFormatter in outputFormatters)
               {
                   outputFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/odata"));
                   outputFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));
               }

               foreach (var inputFormatter in inputFormatters)
               {
                   inputFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/odata"));
                   inputFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("application/json"));

               }

           });
       }

@hassanhabib @xuzhg this should be resolved now with AspNetCore/OData 7.4.1 right?

https://github.com/KishorNaik/Sol_OData_Swagger_Support/issues/2#issuecomment-742276338

Swashbuckle is built on top of ApiExplorer, an API metadata provider that's part of ASP.NET Core. Unfortuntely the out-of-the-box implementation of ApiExplorer does not support OData controllers, hence why they're not documentend by Swashbuckle.
However, I believe the Microsoft.AspNetCore.Mvc.Versioning provides an implementation of ApiExplorer that does support OData controllers and that is the recommended approach at this point in time. Here's the quickstart from that repo for ASP.NET Core with OData:
https://github.com/microsoft/aspnet-api-versioning/wiki/API-Documentation#aspnet-core-with-odata

Swashbuckle is built on top of ApiExplorer, an API metadata provider that's part of ASP.NET Core. Unfortuntely the out-of-the-box implementation of ApiExplorer does not support OData controllers, hence why they're not documentend by Swashbuckle.
However, I believe the Microsoft.AspNetCore.Mvc.Versioning provides an implementation of ApiExplorer that does support OData controllers and that is the recommended approach at this point in time. Here's the quickstart from that repo for ASP.NET Core with OData:
https://github.com/microsoft/aspnet-api-versioning/wiki/API-Documentation#aspnet-core-with-odata


Provision on Ethernet

From @telphan on July 1, 2016 14:46
@agherzan commented on Fri Jul 01 2016
Description
Provision the device using the Ethernet port.
Steps to reproduce issue
Download Device OS
Network Connection: Ethernet
Download OS file
Expected result
Device should appear in the application's dashboard
Other information
Reported by: Theodor Gherzan
Test configuration: TS7700
Test case number: TC01
Test run: https://resinio.testlodge.com/projects/16238/runs/216494?tab=2&run_section_id=220109&executed_case_id=10168350#executed_case_10168350
Copied from original issue: resin-os/resin-ts#26

No further development is planned for this board.


WiFi' was not declared in this scope

Hello dear team,
I have been trying for hours to flash my ESP32 via Arduino ID exactly according to the instructions.
Unfortunately, I always get an error message when checking in Arduino. Unfortunately I don't know what to do.
I hope someone can help me.
Thanks in advance.
c:\Users\Patrick\Documents\Arduino\libraries\EspMQTTClient\src\EspMQTTClient.cpp: In member function 'bool EspMQTTClient::handleWiFi()':
c:\Users\Patrick\Documents\Arduino\libraries\EspMQTTClient\src\EspMQTTClient.cpp:187:5: error: 'WiFi' was not declared in this scope
187 |     WiFi.disconnect(true);
|     ^~~~
c:\Users\Patrick\Documents\Arduino\libraries\EspMQTTClient\src\EspMQTTClient.cpp:194:27: error: 'WiFi' was not declared in this scope
194 |   bool isWifiConnected = (WiFi.status() == WL_CONNECTED);
|                           ^~~~
c:\Users\Patrick\Documents\Arduino\libraries\EspMQTTClient\src\EspMQTTClient.cpp:194:44: error: 'WL_CONNECTED' was not declared in this scope; did you mean 'MQTT_CONNECTED'?
194 |   bool isWifiConnected = (WiFi.status() == WL_CONNECTED);
|                                            ^~~~~~~~~~~~
|                                            MQTT_CONNECTED
c:\Users\Patrick\Documents\Arduino\libraries\EspMQTTClient\src\EspMQTTClient.cpp:215:27: error: 'WL_CONNECT_FAILED' was not declared in this scope; did you mean 'MQTT_CONNECT_FAILED'?
215 |       if(WiFi.status() == WL_CONNECT_FAILED || millis() - _lastWifiConnectiomAttemptMillis >= _wifiReconnectionAttemptDelay)
|                           ^~~~~~~~~~~~~~~~~
|                           MQTT_CONNECT_FAILED
c:\Users\Patrick\Documents\Arduino\libraries\EspMQTTClient\src\EspMQTTClient.cpp: In member function 'bool EspMQTTClient::handleMQTT()':
c:\Users\Patrick\Documents\Arduino\libraries\EspMQTTClient\src\EspMQTTClient.cpp:325:9: error: 'WiFi' was not declared in this scope
325 |         WiFi.disconnect(true);
|         ^~~~
c:\Users\Patrick\Documents\Arduino\libraries\EspMQTTClient\src\EspMQTTClient.cpp: In member function 'void EspMQTTClient::onWiFiConnectionEstablished()':
c:\Users\Patrick\Documents\Arduino\libraries\EspMQTTClient\src\EspMQTTClient.cpp:362:75: error: 'WiFi' was not declared in this scope
362 |       Serial.printf("WiFi: Connected (%fs), ip : %s \n", millis()/1000.0, WiFi.localIP().toString().c_str());
|                                                                           ^~~~
c:\Users\Patrick\Documents\Arduino\libraries\EspMQTTClient\src\EspMQTTClient.cpp: In member function 'void EspMQTTClient::onWiFiConnectionLost()':
c:\Users\Patrick\Documents\Arduino\libraries\EspMQTTClient\src\EspMQTTClient.cpp:388:5: error: 'WiFi' was not declared in this scope
388 |     WiFi.disconnect(true);
|     ^~~~
c:\Users\Patrick\Documents\Arduino\libraries\EspMQTTClient\src\EspMQTTClient.cpp: In member function 'void EspMQTTClient::connectToWifi()':
c:\Users\Patrick\Documents\Arduino\libraries\EspMQTTClient\src\EspMQTTClient.cpp:555:3: error: 'WiFi' was not declared in this scope
555 |   WiFi.mode(WIFI_STA);
|   ^~~~
c:\Users\Patrick\Documents\Arduino\libraries\EspMQTTClient\src\EspMQTTClient.cpp:555:13: error: 'WIFI_STA' was not declared in this scope; did you mean 'WIFI_IF_STA'?
555 |   WiFi.mode(WIFI_STA);
|             ^~~~~~~~
|             WIFI_IF_STA
exit status 1
Compilation error: exit status 1

Hi the issue is with the ESP32MQTT library. See here for the fix...
https://forum.arduino.cc/t/broken-dependencies/1266624


quick title screen help

Describe your problem here.
i just wanna remove gfDanceTitle and make the fnf logo be directly in the middle of the screen on the title screen. I'm making a mo that does have any original fnf characters in it and it doesn't make much sense for her to be there. i don't think its a hard fix but I've tried doing it in titlestate.hx but I'm being really cautious as to not break anything so I probably haven't done it right.
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
yes but only the things that wouldn't mess with the title screen.

in titlestate.hx, go to the lines that handle adding the logo, and add the screenCenter line u see in the code:
logoBl = new FlxSprite(titleJSON.titlex, titleJSON.titley);
logoBl.frames = Paths.getSparrowAtlas('logoBumpin');
logoBl.antialiasing = ClientPrefs.data.antialiasing;
logoBl.screenCenter();
logoBl.animation.addByPrefix('bump', 'logo bumpin', 24, false);
logoBl.animation.play('bump');
logoBl.updateHitbox();

for removing the gfdance, go to the line that adds the gfdance and cancel it out like this:
// add(gfDance);

in titlestate.hx, go to the lines that handle adding the logo, and add the screenCenter line u see in the code:
logoBl = new FlxSprite(titleJSON.titlex, titleJSON.titley);
logoBl.frames = Paths.getSparrowAtlas('logoBumpin');
logoBl.antialiasing = ClientPrefs.data.antialiasing;
logoBl.screenCenter();
logoBl.animation.addByPrefix('bump', 'logo bumpin', 24, false);
logoBl.animation.play('bump');
logoBl.updateHitbox();

for removing the gfdance, go to the line that adds the gfdance and cancel it out like this:
// add(gfDance);

thank you very much. i was using ctrl + f and going through keywords so I didn't see that.

in titlestate.hx, go to the lines that handle adding the logo, and add the screenCenter line u see in the code:
logoBl = new FlxSprite(titleJSON.titlex, titleJSON.titley);
logoBl.frames = Paths.getSparrowAtlas('logoBumpin');
logoBl.antialiasing = ClientPrefs.data.antialiasing;
logoBl.screenCenter();
logoBl.animation.addByPrefix('bump', 'logo bumpin', 24, false);
logoBl.animation.play('bump');
logoBl.updateHitbox();

for removing the gfdance, go to the line that adds the gfdance and cancel it out like this:
// add(gfDance);

thank you very much. i was using ctrl + f and going through keywords so I didn't see that.

np


An entry is highlighted even if patter selection is empty

Reproducible as follows:

write a patter that no history entry matches i.e. selection is empty
use UP/DOWN keys (repeatedly)
although there is empty selection, hh unexpectedly shows a highlighted entry

I'm seeing a crash with prompt-bottom. To reproduce: export HH_CONFIG=prompt-bottom, run hh, search for something that doesn't exist, press down then up. For me this segfaults. It seems hstr->selection[text] is out of range in highlight_selection. Maybe return from the function if hstr->selectionSize is zero.

Just hitting enter or editing the command on an empty selection seems to still return a result.

Reproducible as follows:

write a patter that no history entry matches i.e. selection is empty
use UP/DOWN keys (repeatedly)
although there is empty selection, hh unexpectedly shows a highlighted entry

Also, if the history is short (say, 5-10 entries), hstr segfaults after you press Up/Down several times.


[ENH] design - dealing with incomplete distributions such as predictive survival function estimates

Design and discussion issue how to deal with the following:
Some algorithms and packages produce distributional predictions that are incomplete, in the sense that they specify a full predictive distribution almost but not entirely.
This is in tension with the predict_proba interface which states that it returns a full distribution (full as in, fully specified).
Examples of such returns are Kaplan-Meier or conditional survival function (= one minus cdf) estimates, where function evaluates are available only at some points of the prediction range, rather than over the entire range.
A conrete example output - given by both scikit-survival and lifeline packages - is a 2D numpy array, with one index corresponding to instances on the test/inference set, and the other index corresponding to time points at which the survival function is evaluated. Entries are the predicted survival for the given instance.
Even if we make the approximative assumption that the predicted distribution is supported only at the time points observed in the training data (i.e., sum of weighted delta), there are boundary effects which prevent a bijective mapping onto fully specified probability distributions.
For instance, consider the predictions where survival is estimated as constant zero, or constant one - here, the survival model makes a reasonable prediction that the instances dies before, or survives until afer the first or last point in the training data.
Similar boundary effects occur when attempting to mapping onto an empirical distribution.
These are not severe, if the first and last probability are close to one and zero, respectively, but are the more impactful the more this does not hold.
There are multiple questions in this:

if we return Empirical distibutions, what is the best choice?
or are there better choices of returned distributions?
taking even more steps back, should there be a separate interface point or separat object type even, for incomplete distributions? Or, improper distributions?

@VascoSch92, this may be of interest to you because of:

relation to defining mathematical objects and mappings between them (full distribution to almost fully specified distribution, not bijective)
relation to the set/domain specification, in either design step
general questions related to mapping mathematical objects on classes and interfaces which we are also encountering in sequentium


Add Whoogle Search icon

Oops! Forgot to add the link to the Whoogle Search repo:
https://github.com/benbusby/whoogle-search

I was actually looking for this! Thanks!

Happy to help! I'll have a few more PRs to bug you with :)


Fix gl_FragData transformation

When reading legacy GLSL and writing legacy GLSL
gl_FragData[0] was transformed to gl_FragData[0][0].
This pull request feels like a hack on top of a hack and
there might be edge cases where it fails so I'd be happy
to find a better solution. It fixes an assumably very
common situation though.

Ye, this solution is kinda hacky. I added a PR which should be cleaner. It solves the problem on my end at least.
https://github.com/KhronosGroup/SPIRV-Cross/pull/42
I'll merge that instead if it solves the issue on your end.

Confirmed, works here as well, let's go ahead with your fix.


Help Wanted: Getting Multiple Blank Messages while there's no message on the Queue

Hi, so I've been playing around with rabbitmq, trying to reconnect it if it receives a notify error and read message. After leaving the consumer running for a few hours, I receive infinite number of messages even though there's no message on the Queue. I'm not sure if I did something wrong or is there an issue in this library.
   for {
	conn, err := amqp.Dial("amqp://guest:guest@<IP_ADDRESS>:5672/")
	failOnError(err, "Failed to connect to RabbitMQ")
	notify := conn.NotifyClose(make(chan *amqp.Error)) //error channel

	ch, err := conn.Channel()
	failOnError(err, "Failed to open a channel")

	err = ch.Qos(
		1,     // prefetch count
		0,     // prefetch size
		false, // global
	)
	failOnError(err, "Failed to set QoS")

	q, err := ch.QueueDeclare(
		"Queue", // name
		false,    // durable
		false,    // delete when usused
		false,    // exclusive
		false,    // no-wait
		nil,      // arguments
	)
	failOnError(err, "Failed to declare a queue")

	msgs, err := ch.Consume(
		q.Name, // queue
		"",     // consumer
		false,  // auto-ack
		false,  // exclusive
		false,  // no-local
		false,  // no-wait
		nil,    // args
	)
	failOnError(err, "Failed to register a consumer")

	for {
		select { //check connection
		case err = <-notify:
			break //reconnect
		case d := <-msgs:
			fmt.Printl("Got Message:", string(d.Body))
			d.Ack(false)
		}
	}
}

looks like i did something wrong with my select case.


Renamed Feature area folders

No classes were renamed or changed.
Fixes #1032
See #1007
UI -> UX

We should keep Spatial Sound the same to match MS definition of audio on MR


Validate proof with verkle

Description
As an [Actor], I want [feature] so that [why].
Acceptance Criteria

[Criteria 1]

Steps to Reproduce (Bug)

[Step 1]
[Step 2]
[Step ...]

Expected behavior: [What you expect to happen]
Actual behavior: [What actually happens]
Frequency: [What percentage of the time does it occur?]
Logs (if a bug)
Please post relevant logs from Besu (and the consensus client, if running proof of stake) from before and after the issue.
Versions (Add all that apply)

Software version: [besu --version]
Java version: [java -version]
OS Name & Version: [cat /etc/*release]
Kernel Version: [uname -a]
Virtual Machine software & version: [vmware -v]
Docker Version: [docker version]
Cloud VM, type, size: [Amazon Web Services I3-large]
Consensus Client & Version if using Proof of Stake: [e.g. Teku, Lighthouse, Prysm, Nimbus, Lodestar]

Smart contract information (If you're reporting an issue arising from deploying or calling a smart contract, please supply related information)

Solidity version [solc --version]
Repo with minimal set of deployable/reproducible contract code - please provide a link
Please include specifics on how you are deploying/calling the contract
Have you reproduced the issue on other eth clients

Additional Information (Add any of the following or anything else that may be relevant)

Besu setup info - genesis file, config options
System info - memory, CPU

link to the PRs
https://github.com/hyperledger/besu-native/pull/169
https://github.com/hyperledger/besu-verkle-trie/pull/61

can I link this ticket to you ? @thomas-quadratic

Definitely thanks, will look at it next week


Go To Symbol in workspace folder

It's currently possible to navigate to a symbol in the whole workspace, but when the same symbol part is used multiple times in a sub-folder/project of a workspace, it's not easy to find it

Make possible to search for symbols only for a given workspace project, as it happens for building tasks, the project where to search should be used to filter the results.

Duplicate of #17022


Good work !

I can't wait to see it on the mmdetection toolbox :)

When will the first version be released?

@EtienneDavid @qiansi The first version has been released.


Single quote in a csv field has different behaviour from clojure.data.csv and python

  (csv/read-csv "a,3\"\nb,4\"\nc,5")
  ;; => (["a" "3\""] ["b" "4\""] ["c" "5"])

  (charred/read-csv "a,3\"\nb,4\"\nc,5")
  ;; => (["a" "3\nb,4"] ["c" "5"])

I find it hard to say which is "right". I encountered this in a dataset that uses quotes as a unit for inches. In this case both data.csv and pythons csv library does the correct thing while charred collapses one row. So for compatibility I would prefer charred to to the same.
The example input used:
a,3"
b,4"
c,5

Without the last row, I get an exception with charred.

It looks to me like the quotes are escaped which should be totally fine.  Agreed charred does the wrong thing here.

Fixed in release 1.012.

Thanks for the issue, btw.  Your analysis was spot on.
It was actually something I found when reading the data.csv source code was uncertain about wanted to check what more csv parsers did before implementing it as it is kind of a narrowing definition.


State: add caching layer

The Store currently only retrieves payloads directly from the index. This is not viable as a strategy once the Badger database grows beyond a certain point. We also need to keep track of a certain number of parameters, like the last indexed height and state commitment. Every auxiliary data that is read often should also be cached.
The following tasks are needed to create a good index:

add support for marking registers as dirty when they are written, and otherwise assuming the register value has not changed and thus simply extending the last range in cache when present;
find a way to eject only the least recently used ranges from the cache, which should provide a sufficiently effective strategy to limit cache size; and
build a wrapper around the core storage that implements the same API as the core storage, but adds the caching layer around it (allowing us to turn the cache off if desired).

When running the Rosetta CLI, we are serving several hundred DPS API requests per second for the Rosetta API, without any issues. As this crawls the entire chain, it won't even really hit the caching layer of the underlying Badger DB, and the performance is still excellent.
I'll close this as I don't think this will become a bottle neck. If we ever run into performance issues, we can revisit.


acra-migrate-keys tool

Create a tool for migrating keys between key store formats. Currently it supports only v1 ⟹ v2 migration.
With default settings it is enough to simply run acra-migrate-keys to migrate keys from .acrakeys (v1) into .acrakeys.migrated (v2). After successful migration the administrator has to manually reconfigure Acra services to use the new key store. It is possible to explicitly specify migration details via --src... and --dst...  options if necessary.
There is a --dry_run option which performs migration in memory, without writing results to disk. You can use it to test that everything is in place, the keys can be read and understood.
By default the migration tool will refuse to write output into already existing key store. This is because the migration process is not transactional and idempotent. Migrating the same key store twice will result in duplicate keys, and failure to migrate some keys will still migrate other successful keys. This behavior can be overridden with --force option, allowing the migration to proceed.
 You will need to set all variables for successful migration:

ACRA_MASTER_KEY
ACRA_MASTER_ENCRYPTION_KEY
ACRA_MASTER_SIGNATURE_KEY

More implementation details are in commit messages. The code is structured in a way that should easy its reuse in Acra EE with its extended key store support (both v1 and v2).

The dependencies have been merged, but the build has been broken. I guess I'll fix it up first (should require only a few tweaks, I hope), and then rebase and retarget this PR onto the correct branch before undrafting it.

Rebased and retargeted. Changes since draft:

Updated log lines to start with an uppercase letter to conform with the style.
Slightly renamed the src/dst options to be consistent with other tools.
Slightly improved handling of command-line options to avoid dereferences everywhere.
Added utilities for exporting both encrypted and plaintext symmetric keys (useful for EE).
Unbroken the build ;)

lgtm

Hm... Filesystem key store tests just failed on this push, there was a problem in locking tests (should not be affected by these changes at all). I’ve restarted the build to see if it persists.
I’ll keep it mind, it might be possible that the locking implementation is broken in a subtle way.


Link not found

associated with Object replication
results "404 Page Not Found"

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

ID: 240744fe-c026-ef83-da10-8a536a31d5a2
Version Independent ID: c92a9fb5-3470-a394-2afa-c178405c8625
Content: Overview of Azure Blobs backup - Azure Backup
Content Source: articles/backup/blob-backup-overview.md
Service: backup
GitHub Login: @jyothisuri
Microsoft Alias: jsuri

Thanks for the feedback! We are currently investigating and will update you shortly.


ReconnectToConversationAsync with client withsecret key returns conversation token without "user" claim

Github issues should be used for bugs and feature requests. Use Stack Overflow for general "how-to" questions.
Version
Microsoft.Bot.Connector.DirectLine 3.0.2
Describe the bug
ReconnectToConversationAsync with client withsecret key returns conversation token without "user" claim, even when the conversation is started by GenerateTokenForNewConversationAsync with ChannelAccount data
To Reproduce
using (DirectLineClient client = new DirectLineClient(secretKey))
{
var conversation = await client.Tokens.GenerateTokenForNewConversationAsync(new TokenParameters { User = new ChannelAccount { Id = authorizationDto.UserId } });
using (DirectLineClient clientViaConvToken = new DirectLineClient(conversation.Token))
{
conversation = await clientViaConvToken.Conversations.StartConversationAsync();
}
conversation = await client.Conversations.ReconnectToConversationAsync(channel.ConversationId);

}
Expected behavior
GenerateTokenForNewConversationAsync token payload:
{
"bot": "dev-demo2-bot1onabp5nx893-bot",
"site": "tBVqTE8j4Xs",
"conv": "79OGvUz4Cr93eqhDFqM5FV-h",
"user": "anonymous",
"nbf":<PHONE_NUMBER>,
"exp":<PHONE_NUMBER>,
"iss": "https://directline.botframework.com/",
"aud": "https://directline.botframework.com/"
}
ReconnectToConversationAsync  token payload:
{
"bot": "dev-demo2-bot1onabp5nx893-bot",
"site": "tBVqTE8j4Xs",
"conv": "79OGvUz4Cr93eqhDFqM5FV-h",
"nbf":<PHONE_NUMBER>,
"exp":<PHONE_NUMBER>,
"iss": "https://directline.botframework.com/",
"aud": "https://directline.botframework.com/"
}
Screenshots
Additional context
[bug]

Hi @dradoaica, could you reconnect to the conversation with clientViaConvToken? This should have the right token state with user claim.
Here is test I tried and it contains the user claim in the reconnected conversation:
        Conversation conversation;
        using (DirectLineClient tokenClient = new DirectLineClient(secretKey))
        {
            var tp = new TokenParameters
            {
                User = new ChannelAccount { Id = "user12345" }
            };

            conversation = await tokenClient.Tokens.GenerateTokenForNewConversationAsync(tp);
        }

        using (DirectLineClient clientViaConvToken = new DirectLineClient(conversation.Token))
        {
            conversation = await clientViaConvToken.Conversations.StartConversationAsync();
            .....
            conversation = await clientViaConvToken.Conversations.ReconnectToConversationAsync(conversation.ConversationId);
        }

Hi @p-lekkala, we do not store the client token resulted from GenerateTokenForNewConversationAsync. We have another authetication in our app, so by using the secret key we reconnect the user authenticated in our app to his conversation (even though his client token from BotFramework had expired). Maybe an option to generate a client token for an existing conversation and with that token cu call the ReconnectToConversationAsync or the option to pass the ChannelAccount  to ReconnectToConversationAsync (and the token returned to contain the "user" claim)

Hi @dradoaica, extending ReconnectToConversationAsync to support token parameters is a good suggestion. This would be a new feature in Directline and we will start evaluating the feature request.
Meanwhile, the recommended method for getting user claims in the token is to implement a token cache and save the latest unexpired token for use in the call to ReconnectToConversationAsync.

Adding @Jeffders to track feature request.


⚠ ClamAV has degraded performance

In 63933d2, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 263 ms

Resolved: ClamAV performance has improved in 11c97d3.


Duplicate injections when injecting value of parameters into a Kotlin data class object

Suppose we define an annotated service method and data class like
    @Get("/example")
    fun getId(queries: ExampleQueries): String {
        return "example"
    }

data class ExampleQueries(
    @Param
    val name: String,

    @Param @Default
    val limit: Int?
)

A warning is printed when running the server
Ignoring a duplicate injection target '@Param("name")' at 'public final foo.model.ExampleQueries foo.model.ExampleQueries.copy(java.lang.String,int)'
However, the internal doc shows duplicated fields like:

I think this is not a bug but Armeria is incompatible with Kotlin data class.
(Version 1.3.0)

Thanks for reporting. We should fix this.

This issue can still be reproduced with Armeria 1.21.
With the following classes:
data class Request(
    @Param
    val application: String,
    @Param
    val topic: String,
    @Param
    val group: String,
)

@Get("/data")
fun getData(request: Request): String {
    return "Hello"
}

The errors are as follows:
c.l.a.i.s.a.AnnotatedBeanFactoryRegistry:
Ignoring a duplicate injection target '@Param("topic")'
at 'public final com.foo.Request com.foo.Request.copy(java.lang.String,java.lang.String,java.lang.String)'

c.l.a.i.s.a.AnnotatedBeanFactoryRegistry:
Ignoring a duplicate injection target '@Param("group")'
at 'public final com.foo.Request com.foo.Request.copy(java.lang.String,java.lang.String,java.lang.String)'

I figured out a bug in checking uniqueness using TreeSet.
https://github.com/line/armeria/blob/6b7b1b0b638f3d780f5910a133daf24902af8d93/core/src/main/java/com/linecorp/armeria/internal/server/annotation/AnnotatedBeanFactoryRegistry.java#L116-L126
uniqueResolverSet() can't guarantee uniqueness because it always returns -1 regardless of the input values. It should return a consistent value to make TreeSet compare the value with walking through the internal binary tree.
@Test
void uniqueTest() {
    final TreeSet<Foo> uniques = new TreeSet<>((l, r) -> {
        final int result = l.name.compareTo(r.name);
        if (result == 0 && l.annotationType == r.annotationType) {
            return 0;
        } else {
            return -1;
        }
    });

    Foo fooA = new Foo("1", "A", Param.class);
    Foo fooB = new Foo("2", "B", Param.class);
    Foo fooC = new Foo("3", "C", Param.class);
    Foo fooA2 = new Foo("4", "A", Param.class);

    uniques.add(fooA);
    assertThat(uniques).hasSize(1);
    uniques.add(fooB);
    uniques.add(fooC);
    assertThat(uniques).hasSize(3);
    uniques.add(fooA2);
    // Fail to assert. The size of `uniques` is 4
    assertThat(uniques).hasSize(3);
}

static class Foo {
    private final String id;
    private final String name;
    private final Class<? extends Annotation> annotationType;

    Foo(String id, String name, Class<? extends Annotation> annotationType) {
        this.id = id;
        this.name = name;
        this.annotationType = annotationType;
    }
}

To fix the problem, we need to fix the compareTo function to:
final TreeSet<Foo> uniques = new TreeSet<>((l, r) -> {
    final int result = l.name.compareTo(r.name);
    if (result == 0 && l.annotationType == r.annotationType) {
        return 0;
    } else {
        // return a different value depending of the inputs
        return result;
    }
});

Additionally, we may defer warning duplicated resolvers until checking all and log only when redundant != resolvers.size()
https://github.com/line/armeria/blob/6b7b1b0b638f3d780f5910a133daf24902af8d93/core/src/main/java/com/linecorp/armeria/internal/server/annotation/AnnotatedBeanFactoryRegistry.java#L255-L265


Usage of unneeded JSX pragma

The JSX pragma is no longer required in React 0.12 and should be removed, since they serve no purpose. Looks like you guys have "React" required everywhere necessary, so the removal should be clean.

Thanks we'll clean that up soon!


Component design for fields supporting both auto-populated and manually-updated data

Describe the task
Fields such as Milestone Payment Amount are auto-populated with calculation handled within the system. The CIF team want to be able to manually update such fields. To resolve issues including data overriding, a common component design is needed for such fields.
The current way to handle it is to have a pair of fields (one is read-only and auto-populated, the other is an input which can be updated) wherever needed. But this might not be ideal user experience.
Acceptance Criteria

[ ] Review and identify applicable fields in the existing designs
[ ] Draft lo-fi wireframes / prototypes
[ ] Review with the team

Additional context

Add any other context about the task here.

Definition of Ready
Note: If any of the points are not applicable: delete or mark N/A

[ ] Discovery work or findings are linked.
[ ] Design is Ready.

Definition of Done
Note: If any of the points are not applicable: delete or mark N/A

[ ] Proposed user stories validated by the users.
[ ] Proposed user stories validated by internal team.
[ ] Validated user stories addressed visually in the wireframe.
[ ] Follow-up tickets created if necessary.
[ ] Wireframe is created.
[ ] Design (link to wireframe/prototype) handed off to dev in associated tickets.

This ticket is created as raised from the Emissions Intensity Report wireframe discussion. Thanks @suhafa, feel free to refine or include more details.

Thanks @LindsayMacfarlane - Not yet. This is the design ticket for the component. Once done, we would need a ticket for developers to implement.

@nanyangpro @LindsayMacfarlane Is this ticket still relevant? I see a dev ticket with the work already done & in 'pending dev review'. #768

Good question @dleard - We currently have a compromised solution in the design (which I believe is addressed in #768? Correct me if I'm wrong), but not ideal UX practice. This design ticket was created for UX enhancement.
I would need to see the behaviour of the widget in #768 first, let's keep this ticket now if you don't mind.

Thanks for confirming, @LindsayMacfarlane. This ticket hasn't been addressed yet, but is definitely a low-priority one at this stage.

Thank you. I'll move to the icebox for now and we can revisit in the future.