replaced setup.py and -.cfg with pyproject.toml

Since setuptools>=64 is is possible to fully replace setup.py and .cfg with pyproject.toml. It even works with editable installs, i.e. pip install -e .. This PR removes the former two files and replaces them with pyproject.toml. The translation is straightforward, except a few things:

console_scripts is now project.scripts and markdown.extensions is project.entry-points."markdown.extensions" see here
getting the version in setup.py was a bit convoluted, it is now a lot simpler using tool.setuptools.dynamic which gets the value dynamically from markdowon.__meta__.__version__
the development status is now hard-coded, I believe you won't regress from production/stable?
since setup.py does not exist anymore we now build using python -m build -- i cannot test the build-win target, since i don't have windows.

I compared the resulting, .whl and .tar.gz with the old ones, generated by setup.py, and they look identical to me.

It is worth noting that support for configuration in pyproject.toml is still in beta stage and might change in future releases:
https://setuptools.pypa.io/en/latest/userguide/pyproject_config.html#setuptools-specific-configuration
I like it, but I would prefer to wait until it becomes stable.

Interesting. What is the value of doing this? Specifically, what we already had works just fine, so what do we gain by making this change? We are already familiar with the current system and are comfortable maintaining it. Why should we learn a new system when the old still works fine? To be clear, I am not opposed to adopting new stuff, but I just need to see a clear advantage to doing so. So, what is that advantage here?

getting the version in setup.py was a bit convoluted, it is now a lot simpler using tool.setuptools.dynamic which gets the value dynamically from markdowon.__meta__.__version__

The 'convoluted' method of getting the version was to avoid needing to import the entire markdown package (we only import __meta__ module). I don't recall why we needed to avoid that off-hand, but is that avoided by tool.setuptools.dynamic? If not, we may encounter that same issue. A search of our old bug reports should reveal the concern we were addressing with the current arrangement. And that would inform us of what to test for with the new approach.

the development status is now hard-coded, I believe you won't regress from production/stable?

I expect you are correct. Since I set that up, we have never used it for anything except production/stable.
I also share @mitya57's concern. That said, the only [tool.setuptools] keys we are using appear to be packages and version, both of which I expect are very unlikely to change. Regardless, we do want to approach with caution. This is why we need to see a clear advantage to adopting the change. Without a clear advantage, then we are taking on unnecessary risk.

No need to merge immediately. Feel free to get comfortable with the toml file first. I assumed you want to go into that direction, as I found the pyproject.toml already but it didn't do much yet.
I assume in the long run, pyproject.toml will become the standard and replace setup.py. At least there have been a few PEPs in the last years that standardize on the build-system and the metadata in pyproject.toml.
Also, and probably a stronger indicator than my opinion: recently, the official packaging guidelines switched away from setup.py to pyproject.toml. This was the result of a lengthily discussion within the PyPA group when (not if) they can update the docs to recommend pyproject.toml instead of setup.py.
Anyways feel free to leave this open and update in the future if stuff changes in setuptools. I imagine if you want to move in that direction, this can be a good starting point.

The 'convoluted' method of getting the version was to avoid needing to import the entire markdown package (we only import meta module). I don't recall why we needed to avoid that off-hand, but is that avoided by tool.setuptools.dynamic? If not, we may encounter that same issue. A search of our old bug reports should reveal the concern we were addressing with the current arrangement. And that would inform us of what to test for with the new approach.

https://github.com/Python-Markdown/markdown/pull/1289/files#diff-50c86b7ed8ac2cf95bd48334961bf0530cdc77b5a56f852c5c61b89d735fd711R83-R84
These two lines do exactly that: they just import that file and read out the version. You can test it by just running python -m build -- if the package has the correct version, it  worked. Also, if it wouldn't find the version, it would fail the whole build process.

Thanks for addressing the concerns. That is helpful. Especially the following. I was not aware that that change had been made already.

Also, and probably a stronger indicator than my opinion: recently, the official packaging guidelines switched away from setup.py to pyproject.toml. This was the result of a lengthily discussion within the PyPA group when (not if) they can update the docs to recommend pyproject.toml instead of setup.py.

Also, I appreciate you doing this work. I was not looking forward to working through all of the various things in the setup.py script and figuring out how to reimplement them in pyproject.toml. You did that work us. If/when we make the change, we will use your work.


⚠ Bofrost.de has degraded performance

In c35a8b2, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1771 ms

Resolved: Bofrost.de performance has improved in dcf889b after 7 minutes.


One browser instance per test suite

💬 Questions and Help
Hey!
We are doing visual regression testing using puppeteer in our stack. Currently we are using a custom built solution using puppeteer, but are considering to switch to jest-puppeteer. At the moment we face performance issues on our way there. I'll try to explain:
jest-environment-puppeteer launches one chromium instance for all tests and creates a page per test suite. If we run this with multiple workers (one per cpu, which means we would have running 1 chrome instance with 6 open tabs if we run it on a machine with 6 cpus) we get a lot of timeouts we did not get before. And it's random (on every run, another test suite times out).
In our current custom solution we run a chromium instance per test suite (which means we have 6 chromium instances running with each 1 tab, on a machine with 6 cpus). Here we experience almost no timeouts. So somehow this seems to run much more performant.
So a question which arises in my mind is: could we add a config option to jest-environment-puppeteer, to either run it

With 1 chromium instance over all and 1 tab/page per test suite
With 1 chromium instance per test suite (with each only 1 tab/page open)

Or maybe you do have other ideas?
Thanks for your perspectives in advance!

With 1 chromium instance over all and 1 tab/page per test suite

I don't know if this is possible. I may be wrong but I think since jest is multi-threaded it requires different environments for each test suite.

With 1 chromium instance per test suite (with each only 1 tab/page open)

I'm pretty sure this is already how it works. unless you call jestPuppeteer.resetPage() or jestPuppeteer.resetBrowser() all tests in one suite will be run in the same page.
You can look at example 2 in the readme on how to connect to an already running instance of chrome.

I'm pretty sure this is already how it works. unless you call jestPuppeteer.resetPage() or jestPuppeteer.resetBrowser() all tests in one suite will be run in the same page.

Hmmm, actually no, not really. I've tested this again right now to be really sure. How it works at the moment with using jest and jest-puppeteer is: Jest is using one chromium instance over all test suites and opens up one tab/page per test suite in order to run the tests in.

You can look at example 2 in the readme on how to connect to an already running instance of chrome.

What i am looking for is a way to use a separate chromium instance per test suite/worker.
Thanks anyways so far for your replies :)

It looks like we would have to find a way to run setup and teardown from https://github.com/smooth-code/jest-puppeteer/blob/master/packages/jest-environment-puppeteer/src/global.js for each test suite. If you would like to create a PR for a setting that does this I would be ok with it.


helm: Package and save chart in a GitHub release.

What type of PR is this?
/kind cleanup
What this PR does / why we need it:
This adds a GitHub Actions workflow that runs "helm package"
on the helm chart and saves it as a workflow artifact. If the
workflow was triggered by a GitHub release being published,
it automatically adds the package to the release that triggered
the workflow.
Note: The package is only attached to a release when it is
published. A draft release will not trigger the workflow.
Refer to the GitHub documentation for more information:
https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#release
The reason for running "helm package" on both pull requests
and release-publishings is to ensure a change introduced in
a PR does not break the workflow automation (it would be very
unfortunate to discover that the workflow broke when we create
a GitHub release).
Which issue(s) this PR fixes:
None
Does this PR have test?
The workflow tests that "helm package" creates a file and that
the file exists. The GitHub "upload-artifact" action is configured
to fail if it cannot find a file to upload (sadly, like GitLab, this is not
the default behavior).
Special notes for your reviewer:
I spoke with @saschagrunert and @JAORMX about the automation
working this way (that is: packaging the chart and attaching it to
an existing release).
Does this PR introduce a user-facing change?
NONE

/ok-to-test

/test pull-security-profiles-operator-test-e2e


Tests fail and error on 3.1.0rc5 and higher

I've checked out inherited_resources locally and ran the test suite. It works on 3.1.0rc4 (after running bundle update to compensate for yanked gems), but it fails on 3.1.0rc5 and higher.
The failing tests:
test/nested_model_with_shallow_test.rb:63
test/nested_model_with_shallow_test.rb:70
Tests that error:
test/url_helpers_test.rb:522
test/url_helpers_test.rb:578
test/url_helpers_test.rb:675
test/url_helpers_test.rb:414
test/url_helpers_test.rb:468
test/url_helpers_test.rb:630
The tests stop erroring if I revert this commit on Rails 3.1
9395e89b7235779b1f5c84503442c1ebb7cf0b28
I haven't been able to figure out what causes the failing tests yet.

It's actually this commit that Arie is referencing


Release notes for 1.22.0

Release time
2022-08-12
Components involved

ClickHouse
MySQL
PostgreSQL
Apache Druid
ElasticSearch
Hologres

Check list
General

[x] Rebuild the table configuration layout
[x] Fix the query result is not displayed in the column data under certain circumstances
[x] Optimize the display type icon of the data source list

Editor

[x] Support the new editor to delete the data table shortcut menu (new editor)
[x] Display and query additional information (new editor)

ClickHouse

[x] Support MySQL table engine
[x] Support Hive table engine
[x] Support PostgreSQL database engine
[x] Support https protocol issues-247

MySQL

[x] Support metadata management, build a database, specify character sets & collation issues-180
[x] Fix only_full_group_by could not obtain metadata issues-180

PostgreSQL

[x] Fix the exception of the metadata management build table
[x] Support rename database
[x] Fix failure to query when database is empty

Apache Druid

[x] Support quick query

ElasticSearch

[x] Support ElasticSearch (query and data source management)

Hologres

[x] Support Hologres (query and data source management)

Released


remove disputed deprecation

see say https://community.openstreetmap.org/t/list-of-deprecated-tags-linked-to-the-new/96737/5?u=mateusz_konieczny
fixes part of #373 that is actively claiming that already mapped data is wrong and should be "upgraded"

FYI: I just noticed that we had modified the wrong file for this fix (dist files should not be manually be changed, as they are overwritten by the build scripts). see https://github.com/openstreetmap/id-tagging-schema/issues/1177#issuecomment-2040103619 and 915ed76ac030533c058b8cc84f36ff99616c646f for a follow-up on this


Get screenshot of a particular element

Hi,
I see that chrome dev tools has an option in commands menu to take screenshot of a specific element. I didn't find this in any of the APIs provided by dev tools protocol. I tried using the Page.captureScreenshot with the required viewport that I want, but its not working when the element is outside of view-port and requires scroll. Requesting your help on, to take screenshots of elements outside of viewport (which are visible after desired scrolling).

I see that your examples only have full screenshot example. Can u please provide an example of taking snapshot for a particular element?


Update changelog

Issue # #240
Description of changes:
Updates changelog to correct AMI version numbers for latest release. Updates version number of CNI plugins (which are already built-into the latest AMI)
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Note that we also pushed a tag for 2019-03-27. You'll also need to push a new tag.
@hiroki Could help with this, as he has write access to repo.


Private apps - hide private apps from different ORG users

Private apps will allow applications to be private to the organization the application belongs to. i.e., a private application submitted by ORG A will not be visible to users from ORG B.
Private applications should be hidden from all users that are not part of the application's organization.

Use Case
Creation
User enters create edit, upon creation they are presented with a toggle that allows them to privatize the app.
After Creation
After creation, should the user then be able to make a public app private, and a private app public? If so, we should outline this below

Simple Test,

Signed in as syme and verify airmail, airmail1, airmail2 exist in browser 1
Make airmail, airmail1, airmail2 private apps in browser 2 as bigbrother,
Signed in as syme and verify airmail, airmail1, airmail2 does not exist in browser 1
Make airmail, airmail1, airmail2 public apps in browser 2 as bigbrother,
Signed in as syme and verify airmail, airmail1, airmail2 exist in browser 1

Steps used to test Private apps:
Prereq- Bookmark app for each user below. Set Bread Basket( owned by org steward julia-minitrue org) to private.
Verify in HUD and Center Homepage.
bigbrother(Admin)- minipax ------->>>>> Can view the app
bigbrother2(Admin)- minitrue ------->>>>> Can view the app
julia (org steward) - minitrue and miniluv ------->>>>> Can view the app
obrien (org steward) - minipax, miniplenty------->>>>> Can NOT view the app
aaronson (user) - miniluv------->>>>> Can NOT view the app
jones (user) - minitrue ------->>>>> Can view the app
hodor (2PI user) ------->>>>> Can NOT view the app

Steps used to test Private apps:
Prereq- Set Bread Basket( owned by org steward julia-minitrue org) to private.
bigbrother(Admin)- minipax ------->>>>> Can view the app PASSED
bigbrother2(Admin)- minitrue ------->>>>> Can view the app PASSED
julia (org steward) - minitrue and miniluv ------->>>>> Can view the app PASSED
obrien (org steward) - minipax, miniplenty------->>>>> Can NOT view the app PASSED
aaronson (user) - miniluv------->>>>> Can NOT view the app PASSED
jones (user) - minitrue ------->>>>> Can view the app PASSED
hodor (2PI user) ------->>>>> Can NOT view the app PASSED

when i tested this the scenarios held true.

This is broken in HUD but fixed in Center.
After BreadBasket is set to Private, I can still view the app in HUD screen for obrien, aaronson and hodor. I can no longer see it in Center though.

@akonsowski - please provide update. - thank you,


check docs for resolved issues

We have a number of links to GHI in the docs, some are now closed. We should check each one before 1.0 docs.

https://docs.influxdata.com/influxdb/v0.13/concepts/insights_tradeoffs/ and https://docs.influxdata.com/influxdb/v0.13/concepts/crosswalk/ both link to https://influxdata.com/blog/influxdb-clustering-design-neither-strictly-cp-or-ap/ which I think Paul might want to downplay these days. It's pretty out of date.
Similarly, https://docs.influxdata.com/influxdb/v0.13/concepts/storage_engine/ needs updating to remain relevant.
On https://docs.influxdata.com/influxdb/v0.13/troubleshooting/frequently_encountered_issues/, the following issues are closed. We should review the mentions of them. Some might still be relevant but we should mention they are currently closed.
https://github.com/influxdata/influxdb/issues/3369
https://github.com/influxdata/influxdb/issues/3130
https://github.com/influxdata/influxdb/issues/3337
https://github.com/influxdata/influxdb/issues/3242
https://github.com/influxdata/influxdb/issues/2977
On https://docs.influxdata.com/influxdb/v0.13/query_language/data_exploration/ the https://github.com/influxdata/influxdb/issues/4232 issue is closed and should be reviewed.

@pauldix should we remove references to https://influxdata.com/blog/influxdb-clustering-design-neither-strictly-cp-or-ap/ from the 0.13+ docs?

yeah, should remove

Created https://github.com/influxdata/docs.influxdata.com/issues/479 for the storage engine page.

All issues have been addressed in the PR except the storage engine.


Race in  PeerConnection.newRTCTranceiver()

It appears that there's a race in PeerConnection.newRTCTranceiver().
Used master at rev 3426d
=== RUN   TestPeerConnection_Media_Sample
==================
WARNING: DATA RACE
Write at 0x00c0004d2248 by goroutine 67:
  github.com/pions/webrtc.(*PeerConnection).newRTPTransceiver()
      /Users/ytakeda/Projects/pions/webrtc/peerconnection.go:1496 +0x20c
  github.com/pions/webrtc.(*PeerConnection).openSRTP.func1()
      /Users/ytakeda/Projects/pions/webrtc/peerconnection.go:943 +0x2b3

Previous read at 0x00c0004d2248 by goroutine 85:
  github.com/pions/webrtc.(*PeerConnection).SetRemoteDescription.func2()
      /Users/ytakeda/Projects/pions/webrtc/peerconnection.go:853 +0x346

Goroutine 67 (running) created at:
  github.com/pions/webrtc.(*PeerConnection).openSRTP()
      /Users/ytakeda/Projects/pions/webrtc/peerconnection.go:928 +0x579
  github.com/pions/webrtc.(*PeerConnection).SetRemoteDescription.func2()
      /Users/ytakeda/Projects/pions/webrtc/peerconnection.go:851 +0x32e

Goroutine 85 (running) created at:
  github.com/pions/webrtc.(*PeerConnection).SetRemoteDescription()
      /Users/ytakeda/Projects/pions/webrtc/peerconnection.go:815 +0x1358
  github.com/pions/webrtc.signalPair()
      /Users/ytakeda/Projects/pions/webrtc/peerconnection_test.go:45 +0xf4
  github.com/pions/webrtc.TestPeerConnection_Media_Sample()
      /Users/ytakeda/Projects/pions/webrtc/peerconnection_media_test.go:128 +0x63e
  testing.tRunner()
      /Users/ytakeda/go/current/src/testing/testing.go:827 +0x162
==================

func (pc *PeerConnection) newRTPTransceiver(
	receiver *RTPReceiver,
	sender *RTPSender,
	direction RTPTransceiverDirection,
) *RTPTransceiver {

	t := &RTPTransceiver{
		Receiver:  receiver,
		Sender:    sender,
		Direction: direction,
	}
	pc.mu.Lock()
	defer pc.mu.Unlock()
	pc.rtpTransceivers = append(pc.rtpTransceivers, t) // <------- reace
	return t
}

Was a duplicate with #431 (still occurs with the latest rev 08a93)


problem when an index range is 1:1

This can happen programatically if something like x[i, 1:n] is used and n is a constant equal to 1, and we end up with x[i, 1:1].  This leads to a compilation error.

I believe this is fixed.


Recent updates

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/app-bar-and-bounding-box.md
:white_check_mark:Succeeded
View

mixed-reality-docs/progress.md
:white_check_mark:Succeeded
View

mixed-reality-docs/qr-code-tracking.md
:white_check_mark:Succeeded
View

mixed-reality-docs/release-notes-october-2018.md
:white_check_mark:Succeeded
View

mixed-reality-docs/spatial-mapping-in-directx.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Partial fills not enabled

Failure cases for PartialFillsNotEnabledForOrder

Codecov Report
Patch and project coverage have no change.

Comparison is base (db92ffb) 100.00% compared to head (09054d1) 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##               1.5     #1178    +/-   ##
==========================================
  Coverage   100.00%   100.00%
==========================================
  Files           46        46
  Lines         2652      2414   -238
  Branches       396       354    -42
==========================================
- Hits          2652      2414   -238

Flag
Coverage Δ

foundry
?

production
100.00% <ø> (ø)

reference
100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 29 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Need help converting Tewi font

The font in question lives here: https://github.com/lucy/tewi-font
I've installed the latest JDK and put bdf2tft-1.1.3.jar in my Tewi folder. However, when I run java -cp bdf2tft-1.1.3.jar tewi-normal-11.bdf, I get Error: Could not find or load main class tewi-normal-11.bdf. Is something wrong with the font itself, or am I doing something wrong?

Surely the command line should be java -jar bdf2tft-1.1.3.jar args... Using your command line it's reading the twi-normal-11.bdf as the class file name containing the main method and hence the error message.
However note that the argument is NOT a bdf font file, but rather should be a definition file which describes the font conversion parameters (items such as character set mapping, additional overrides on mapping process, extracting of accents from glyphs, encoding target font characters as either single glyphs, multiple glyphs to be merged on the fly in the display manager and some other items).
The target font format is a custom format (actually a .c file) which I defined for use in small TFT display for use in small IOT type projects (mine was for a raspberry pi).  I am not sure what format you are looking to create in the conversion, but I am not sure this application would meet your requirements.  If you do want to continue, you may  also need to look at tftserial which is an Arduino project which is the replacement displaymanager which needs to be built with the output of the font conversion process, and then load the resulting firmware into the TFT display.
The documentation of these projects is rather lousy at the moment, and would require additional work in order to make these tools useful to anyone without my support.  At present my time is limited and currently neither of these project rank high on my priorities (as they have been stable for a few years now and my need to use of them over that period has been almost non existent!). If you still think the project could still be useful to you, please let me know and I will try and find some time in the near future to start the process of improving the documentation.

Ah, that command line argument I typed was based on the documentation. I'm in no rush to get this figured out now, I just wanted to use it for a personal project. Still, whenever you have downtime, I'd love to see updated instructions for macOS!


Currently Only MIUI devices capture Package Information in screenshot name, and some Samsung devices. Handle screenshot organizing in other apps too

This Commit  fixes it


Fix DocC and remove warnings

Fix DocC errors that prevented the docs to compile
Fix typos and update code snippets in README and DocC
Remove warning in Package.swift

Thanks so much!

 I don't have the permissions to merge it though

Merged!


[BUG] - Player.createPlayer() issues

Description
Similar to admin, in the db, the player document number should be set to the unique identification number provided by the google auth module.
when we create a player (and playerGameController), we want to pass a (name, userId, room code).
That is, Player.createRoom() needs userid in signature.
Also, createPlayer currently passes a playerDoc reference to the constructor, not a string.
Also, when making a doc ref, no converter is added to the ref, a FirebaseError is thrown.
Steps to Reproduce
Steps to reproduce the bug:

[ ] attempt to use Player.createRoom(...);
[ ] Uncaught TypeError

Expected Behavior
We expect playerId sent into the room constructor.
We expect all subsequent calls to createPlayer to have updated interface.
We expect to get a player object from the call.
Additional Context
dependencies for id uniqueness would be handled within the google auth system, and thus should guarantee uniqueness within the player schema.
Relevant screenshots

Fixed and committed the linked branch


Whether to support thanos-ruler

1、Does the current project support modifying rules for Thanos Ruler via API calls?
2、If it does not support currently, are there any plans to do so in the future?

Hello @fit2cloud-lijunzhang , thanks for the issue!
Currently, the project does not support rule management for Thanos Ruler through the API, as it does with Prometheus. I will look into possible integration with Thanos.


ACER performance on Breakout

Although ACER seems to give good performance on most atari games,
it still fails on Breakout.
Code: https://github.com/araffin/rl-baselines-zoo
python train.py --algo acer --env BreakoutNoFrameskip-v4

We should double check the implementation.

@Migdalin Could you try again with the fix from #388 ?
Anyway, I would recommend you to use PPO2 (that have additional tricks compared to PPO1).

Now merged with master


add linux support

paired with https://github.com/TheCherno/Walnut/pull/22,  wip until that is merged and we can bump the walnut commit
based off of the wonderful work done by @bernhardkaindl

@jamesthomasgriffin @TheCherno Please merge to let Linux users join the fun!
(The draft status is likely only to reflect that   https://github.com/TheCherno/Walnut/pull/22 should be merged first)

I'm very happy and excited for this merge request!


Dubbo GSoC 2023 - Pure Dubbo RPC API

At present, Dubbo provides RPC capabilities and a large number of service governance capabilities. This has led to the fact that Dubbo cannot be used well if some of Dubbo's own components only need to use RPC capabilities or some users who need extreme lightweight.
Goal: To provide a Dubbo RPC kernel, users can directly program for service calls and focus on RPC.
https://issues.apache.org/jira/browse/DUBBO-118

I'm working on it.

I am very interested in this task, and I will submit a proposal for this task in the future.


Implement edit and delete buttons in profile selection screen

Currently, the edit button doesn't do anything, and the delete button needs to warn the user something among the lines of "this action is irreversible do you really want to do this?". Also, this should probably moved into a menu that comes up when you long press the item, instead of how it is implemented now.

Completed via 079e356b78372701be1f40f89fc9557d021edbde and 67de3395516e3137f070ad29036a9115157e5c17


Start time of progress sometimes reset

Apparently, the start time of this quiz was reset because it was definitely not quizzed 11 times in 49 seconds.
{
    "nice:fi:nl:kiva:read": {
        "start": "2023-12-30T22:48:00",
        "end": "2023-12-30T22:48:49",
        "skip_until": "2023-12-30T22:52:55",
        "count": 11
    }
}

Actually, I had answered this quiz incorrectly so that's why it was reset.


THUDNERX2T99: Fix clang compilation

It seems to fix it. We can build it and it passes all of the tests in the OPB Makefile at least.

Committing then, thanks both of you.


DEVSOL-1400: use HTTP_PROXY & HTTPS_PROXY from env

Refactored setting of request options out of request->send() and into HTTP client constructor. This should make future alterations of these sorts of options much easier.
Now, if HTTPS_PROXY (preferred) or HTTP_PROXY are defined in the environment, they are used to set the proxy value. Note that this should be a URI with a scheme of http://, https://, tcp:// or ssl://. I don't believe Guzzle 3 supports different proxies for HTTP and HTTPS, but later versions do. (We are tied to Guzzle 3 due to higher versions requiring PHP > 5.3.x.)
Public properties user, pass, and auth were removed from OrgConfig class, since they were only used internally and the implementation has changed — they are now part of the http_options array property. The "tags" property was removed because it is entirely unused (it was part of an abortive refactoring attempt of mine from several months ago).

Depending upon the server and PHP configuration, I suppose other URI schemes might also be supported if they have a registered wrapper, such as socks://.


Updated code_utils.py (powrshell to pwsh)

Updated the 'powershell' command to 'pwsh' for a ps1 executable file

Why are these changes needed?
I was trying to use autogen to execute terminal commands (eg: git status, ls) but it was throwing an error. So these changes are required if terminal commands are to be executed in the new 7.x version of PowerShell. To execute terminal commands in powershell, autogen first makes a ps1 shell script with those commands written in it and then executes that ps1 shell script. In order for that shell script execution to work, these changes are required.

In March 2020, microsoft released a new version of powershell (7.0) in which the powershell.exe file was renamed to pwsh.exe

https://learn.microsoft.com/en-us/powershell/scripting/whats-new/differences-from-windows-powershell?view=powershell-7.4
In your code, if the user is working in a powershell window and a '.ps1' script is to be executed, your code uses the 'powershell' command to execute it which has now been replaced with 'pwsh' in the new Microsoft PowerShell version 7.0

So in your code I replaced the command 'powershell' with 'pwsh' when a ps1 script has to be executed

Checks

[x] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[x] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[x] I've made sure all auto checks have passed.

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (c603ca4) 35.02% compared to head (6a66ca9) 47.55%.
Report is 50 commits behind head on main.

Files
Patch %
Lines

autogen/code_utils.py
0.00%
1 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1710       +/-   ##
===========================================
+ Coverage   35.02%   47.55%   +12.52%
===========================================
  Files          43       57       +14
  Lines        5207     6006      +799
  Branches     1211     1456      +245
===========================================
+ Hits         1824     2856     +1032
+ Misses       3231     2922      -309
- Partials      152      228       +76

Flag
Coverage Δ

unittests
47.48% <0.00%> (+12.45%)
:arrow_up:

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@microsoft-github-policy-service agree

@ekzhu @abhaymathur21 have you tested it in windows? When I run pwsh in windows, it can't find the command. powershell is available. I think this change will break for existing users. We'd better check whether pwsh is available in the current system environment.

@ekzhu @abhaymathur21 have you tested it in windows? When I run pwsh in windows, it can't find the command. powershell is available. I think this change will break for existing users. We'd better check whether pwsh is available in the current system environment.

I have tested it in windows yes. I was getting an error that's why I did some research and found out that since mine is a relatively new laptop, it came with the 7.0 PowerShell installed so the command that works for me is 'pwsh'. But for users that still operate 5.0 PowerShell the command is 'powershell'. So is there any way we can customize this command for the user in our code based on the version of powershell they are using maybe?

I asked on Discord. I prefer detecting the availability or making it configurable.

I asked on Discord. I prefer detecting the availability or making it configurable.

I added a function to detect the command (powershell or pwsh) which works in the user's system and then use that command only

Is this okay? I tested it, it works with autogen on my PC

That works. Could you add a unit test to cover the new function?

That works. Could you add a unit test to cover the new function?

Sure, I wrote this unit test and added it to your test_code_utils.py (which was incorrectly named as test_code.py initially but I corrected it to test_code_utils.py using my own discretion):
class TestGetPowerShellCommand(unittest.TestCase):
@patch('subprocess.run')
def test_get_powershell_command_powershell(self, mock_subprocess_run):
    # Set up the mock to return a successful result for 'powershell'
    mock_subprocess_run.return_value.returncode = 0
    mock_subprocess_run.return_value.stdout = StringIO("5")

    self.assertEqual(get_powershell_command(), "powershell")

@patch('subprocess.run')
def test_get_powershell_command_pwsh(self, mock_subprocess_run):
    # Set up the mock to return a successful result for 'pwsh'
    mock_subprocess_run.side_effect = [FileNotFoundError, mock_subprocess_run.return_value]
    mock_subprocess_run.return_value.returncode = 0
    mock_subprocess_run.return_value.stdout = StringIO("7")

    self.assertEqual(get_powershell_command(), "pwsh")

@patch('subprocess.run')
def test_get_powershell_command_no_shell(self, mock_subprocess_run):
    # Set up the mock to simulate 'powershell' and 'pwsh' not found
    mock_subprocess_run.side_effect = [FileNotFoundError, FileNotFoundError]

    with patch('sys.stdout', new=StringIO()) as fake_out:
        get_powershell_command()
        self.assertEqual(fake_out.getvalue().strip(), "Neither powershell nor pwsh is installed.")

@patch('subprocess.run')
def test_get_powershell_command_no_shell_no_output(self, mock_subprocess_run):
    # Set up the mock to simulate 'powershell' and 'pwsh' not found without printing error message
    mock_subprocess_run.side_effect = [FileNotFoundError, FileNotFoundError]

    self.assertIsNone(get_powershell_command())

if name == 'main':
unittest.main()

Thanks. That works. The conflict needs to be resolved though before merging.

Thanks. That works. The conflict needs to be resolved though before merging.

Done!


Strange libstd rebuilds

After doing ./miri install, alternating between the following commands rebuilds libstd each time:
./miri run tests/run-pass/hello.rs
cargo miri setup

That is rather strange, I do not know why it thinks the build cache is outdated.
In particular this happens on CI, where we first run ./miri test, and then later when we get to the cargo miri tests we run cargo miri setup, causing an unnecessary rebuild.

You may be able to find the reason cargo thinks it has to rebuild libstd by using CARGO_LOG=trace.


Bug: room id attribute claims to return int but returns string

Fixed in https://github.com/isaackogan/TikTokLive/commit/b49cf777f8fee101e10d78c8fbfb266c1e9b96f8


Expose constructor index of parent pojo to TypeManufacturer

I'm working on building a set of scala friendly type manufacturers and so far things work great. However, scala has crazy stuff which allow (through a bunch of weird indirection) primitives as the generic parameter of a container.  For example:
Option[Int]
There are ways to determine the inner argument type by parsing the scala bytecode (this is what finatra jackson does), and thats fine. However, I can only find this information from the parent classes constructor arguments.  This means that whenever I'm constructing my type, I need to inspect the containers arguments.  But, since I don't have the currently constructing index I don't know which constructor parameter to look at.
For example:
case class OptionHolder(option1: Option[Long], option2: Option[Int])

I can determine both Long and Int if I know that the constructor parameter being constructed is the first or second. I can see see in getParameterValuesForConstructor that we do have the index. Is it possible to expose this on the attributeMetadata class?

Yes, this has been a problem for a long time, but unfortunately Java doesn't allow to find a constructor index. But I think Podam can be passing constructor definition with an index of a parameter.

A snapshot is available here.

Awesome, thanks!
On Fri, Nov 4, 2016 at 4:58 PM, Daniil Ivanov<EMAIL_ADDRESS>wrote:

A snapshot is available here
https://oss.sonatype.org/content/repositories/snapshots/uk/co/jemos/podam/podam/7.0.2-SNAPSHOT/podam-7.0.2-20161104.235644-2.jar
.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/devopsfolks/podam/issues/221#issuecomment-258575304,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABt0srG-4L_Q9XihHUjAyd1QPzJNKBeeks5q68a5gaJpZM4Kmv3s
.

So what's your opinion about the change?


Add keyup event for model changed ( for non ascii )

it's enough use only ng-change directive  if alpha or number characters is input,
but Non-English speaking country character need to check keyup event for last character input changing
reference : https://code.angularjs.org/1.2.27/docs/api/ng/type/ngModel.NgModelController
check this out :  Listen for change events element.on('blur keyup change', function() { ...
so I want to merge it below pr
https://github.com/mbenford/ngTagsInput/pull/302

I was able to reproduce your problem, but I'm not sure how to correctly fix it. Angular itself won't bind the input to the model at every keystroke - that's due to the fact that the browser does not trigger the input event at every keystroke as well.
I'll try to find out how this problem is addressed by the Angular community.

sorry to late reply!
I was found that it's angular problem.
keydown event binding of angular consider compositionstart and compositionend event.
in composition mode, users are still inputing intermediate text buffer, hold ther listener until composition is done. it's useful japan or china key input system ( keydown event is doing and composite word, and show list that want to convert katakana character or Chinese character)
but korean input must recognize when composition doing
so I made some directive. and use my service
angular.module('hiveTaskTrackerApp')
    .directive('ignoreCompositionEvent', function () {
        return {
            restrict: 'A',
            link: function postLink(scope, element) {
                //element.val('this is the ignoreCompositionEvent directive');
                element.off('compositionstart').off('compositionend');
                //element.text('this is the updateOnComposition directive');
            }
        };
    });

Thank's for your attention!! ^^

Chinese is not working too

This issue was selected to be spring-cleaned by a script. More information can be found here.
If anyone thinks this was a mistake and this issue should be reopened, please leave a message below explaining why. Before doing so, please consider reading the CONTRIBUTING file.


IE9 support

This has come up a few times in support... I'm not sure how much to sell the soul to the past but supporting this may be simple / famous last words

Nope.


url with tailling flash /hello/aa/ match route "/hello/:name" should return 404 like net/http

package main

import "github.com/yarf-framework/yarf"

type Hello struct {
	yarf.Resource
}

func (h *Hello) Get(c *yarf.Context) error {
	name := c.Param("name")

	c.Render("Hello, " + name)

	return nil
}
func main() {
	// Create a new empty YARF server
	y := yarf.New()
	hello := new(Hello)
	y.Add("/", hello)
	y.Add("/hello/:name", hello)
	y.Start(":8080")
}

$ curl http://localhost:8080/hello/xxx/
Hello, xxx
package main
import (
    "fmt"
    "net/http"
)
func main() {
    http.HandleFunc("/hello/aa", func (w http.ResponseWriter, r *http.Request) {
        fmt.Fprintf(w, "Welcome to my website!")
    })
   http.ListenAndServe(":80", nil)
}

curl http://localhost:8080/hello/xxx/
Not found

Hi @tablecell ,
The trailing slash behaviour is made on purpose here. As described in the README doc in the "Simple router" section.
The implementation code is also clear about that purpose.
That said, other than what net/http does, is there other arguments to discuss about this? I'm open to review the design.


Generator: linting command is broken

According to https://open-wc.org/linting/, if you want to add linting to an existing project you can run the command:
npm init @open-wc linting

I just tried and it is not working, output:
migration-research git:(feat/config-lint) npm init @open-wc linting
npx: installed 29 in 9.993s
/home/USER/.npm/_npx/22985/lib/node_modules/@open-wc/create/node_modules/command-line-args/dist/index.js:1345
        throw err
        ^

UNKNOWN_VALUE: Unknown value: linting
    at commandLineArgs (/home/USER/.npm/_npx/22985/lib/node_modules/@open-wc/create/node_modules/command-line-args/dist/index.js:1342:21)
    at Object.<anonymous> (/home/USER/.npm/_npx/22985/lib/node_modules/@open-wc/create/dist/generators/app/index.js:76:48)
    at Module._compile (internal/modules/cjs/loader.js:701:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
    at Module.load (internal/modules/cjs/loader.js:600:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
    at Function.Module._load (internal/modules/cjs/loader.js:531:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
    at Object.<anonymous> (/home/USER/.npm/_npx/22985/lib/node_modules/@open-wc/create/dist/create.js:12:14)
 migration-research git:(feat/config-lint) npm -v
6.9.0
 migration-research git:(feat/config-lint) node -v
v10.15.3
 migration-research git:(feat/config-lint)

oh, it seems we missed updating this documentation?
correct would be
npm init @open-wc
# Upgrade > Linting

care to create Pull Request to update it? pretty please :hugs:


Fix typing issue in MethodProperties class (#5655)

Pull request opened by the merge tool on behalf of #5655

Merged into branches iso5 in c910355e02f43f45dfe37c45c8c1b8a562059f18


alembic won't run imgration fastapi_users_db_sqlalchemy is not defined

/alembic/versions/7a47ff544945_initial_migration.py", line 47, in upgrade
sa.Column('id', fastapi_users_db_sqlalchemy.generics.GUID(), nullable=False),
^^^^^^^^^^^^^^^^^^^^^^^^^^^
NameError: name 'fastapi_users_db_sqlalchemy' is not defined
The migration file appears to be missing an import statement. Should I add it manually, or have I made an error elsewhere?
That's my User model:
from fastapi_users.db import SQLAlchemyBaseUserTableUUID
from myproject.bases import Base

class User(SQLAlchemyBaseUserTableUUID, Base):
    ...

I've been adding this import myself. Alembic is generating these migrations not fastapi-users, so not sure if anything can be done from the perspective of fastapi-users.


Closing and reopening the port.

Hi,
I am using the latest version of the module.
I am facing an issue below:
In my node program, if I disconnect the serial port, it tries to open it unless the serial port is found. Once found, it opens the device successfully. But give me error in writing to the serial port.
"Error: Error Input/output error calling write(...)"
Also, if I close my node program and run again, it works fine with the same connection.
Please suggest.
Thanks in advance!
Regards,
Monica

Hi  @voodootikigod,
Could you please help me resolve the issue..
I shall appreciate your quick reply.
Thanks in anticipation.
Regards,
Monica

This is a duplicate of https://github.com/voodootikigod/node-serialport/issues/638


tap: fix missing cells that overlaps with endcaps

Similar to https://github.com/The-OpenROAD-Project/OpenROAD/pull/4551, but covering the cases where the tapcell overlaps with an endcap on the left side.

@maliberty This fixes the last violations caused by missing tapcells.


iOS - TextInput - cursor jumps to the end of input when secureTextEntry is toggled

Summary:
In iOS, when toggling secureTextEntry, the cursor position of TextInput should remain in the same position like it happens in Android instead of jumping to the end of the input.
This issue resolves #38676
Changelog:
[IOS] [FIXED] - Cursor jumps to the end of TextInput when secureTextEntry is toggled
Test Plan:
https://github.com/facebook/react-native/assets/48553277/bfc206bf-a50a-4ca3-888c-7026dd987fd8

Bump

Bump


Update machine-controller to v1.17.1

What this PR does / why we need it:
Update machine-controller to v1.17.1.
Does this PR introduce a user-facing change?:
Update machine-controller to v1.17.1

/assign @kron4eg

/hold
/lgtm cancel

/hold cancel

/cherrypick release/v1.0


styhead branch

After commit d01401058ace3c4a11daf7184fdf0423c789c8e4, master branch in no longer compatible with meta-openembedded/styhead. Will you create separate styhead branch?

We will pull a styhead branch once we merge the JetPack 6.1 update into master, and I'll deal with this mildly annoying version difference in meta-openembedded then.

The styhead branch is now available.


LNURLp address behind a HTTPS reverse proxy

Hi,
I use lnbits with Umbrel on a VPS. And I would like to access my lnbits site with https without Tor.
So I have installed a nginx reverse proxy on the same machine with a custom domain lightning.mydomain.com.
I have the following nginx conf :
location / {
proxy_pass http://XX.XX.XX.XX:3007;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_http_version 1.1;
}
The lnbits access https://lightning.mydomain.com works.
But when I want to generate LNURLp address. The LNURL value is without SSL (ex: http://lightning.mydomain.com/lnurlp/api/v1/lnurl/1 with fiatjaf decoder).
So the address is rejected by BlueWallet (I think it is because it is not https).
Do you know what I am missing, to have LNURLp with https ?
Regards,

 FORWARDED_ALLOW_IPS="*" inside env aswell

I use Umbrel and there is no .env file in ~/umbrel/app-data/lnbits.
Is it the .env file located in the ~/umbrel folder ?

I use Umbrel and there is no .env file in ~/umbrel/app-data/lnbits. Is it the .env file located in the ~/umbrel folder ?

You can set the env var in umbrel/app-data/lnbits/docker-compose.yml.

I updated my ~/umbrel/app-data/lnbits/docker-compose.yml like below, and it does not work :
version: "3.7"

services:
  app_proxy:
    environment:
      APP_HOST: lnbits_web_1
      APP_PORT: 3007
      PROXY_AUTH_ADD: "false"
      FORWARDED_ALLOW_IPS: "*"

  web:
    image: lnbitsdocker/lnbits-legend:0.9.7@sha256:1fccd9611a23b9d9259ca4adff860e3e2d441ed42261d192141e76b261cd3b74
    init: true
    restart: on-failure
    stop_grace_period: 1m
    volumes:
      - ${APP_DATA_DIR}/data:/data
      - ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
    environment:
      # Global
      LNBITS_HOST: "<IP_ADDRESS>"
      LNBITS_PORT: 3007
      LNBITS_FORWARDED_ALLOW_IPS: "*"
      FORWARDED_ALLOW_IPS: "*"
      LNBITS_DATA_FOLDER: "/data"

      # LND
      LNBITS_BACKEND_WALLET_CLASS: LndRestWallet
      LND_REST_ENDPOINT: https://$APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_REST_PORT/
      LND_REST_CERT: "/lnd/tls.cert"
      LND_REST_MACAROON: "/lnd/data/chain/bitcoin/$APP_BITCOIN_NETWORK/admin.macaroon"

      # App
      LNBITS_SITE_TITLE: "LNbits - Umbrel"
      LNBITS_DEFAULT_WALLET_NAME: "LNbits wallet"
      LNBITS_DISABLED_EXTENSIONS: "amilk"
      LNBITS_ADMIN_EXTENSIONS: "ngrok"

Not sure how to get this to work with the Umbrel app_proxy. No advice, but the only thing I know is to disable the proxy and to do without Tor and whatever else the proxy does.
  #app_proxy:
  #  environment:
  #    APP_HOST: lnbits_web_1
  #    APP_PORT: 3007
  #    PROXY_AUTH_ADD: "false"
  #    FORWARDED_ALLOW_IPS: "*"

  web:
    ....
    ports:
      - "3007:3007"

It works. The url is correct.
Thank you.


Allow override of incremental look-back period

This doesn't fail if you don't have the project variable declared, but does allow for changing the incremental look-back period by setting the variable in the project:
vars:
  dbt_snowflake_monitoring_incremental_days: 0

Why:
We want to run the package every 10 minutes and a 7-day look back period is prohibitively expensive (by time and cost). For our use case, we don't care about the potential loss of accuracy due to late-arriving rate data.

Thanks for the PR @smitsrr
I'm good with this behaviour given that the field isn't required.

Thanks for the PR @smitsrr
I'm good with this behaviour given that the field isn't required.

We want to run the package every 10 minutes

Purely out of curiosity, what's the use case / monitoring you are driving off of this?

First, we love the package for having all of the queries enriched and associated with dbt models. Our other source was dbt_artifacts, but that doesn't include all of the queries that are run for an incremental model.
The reason we want to run it so frequently is because it will give us a way to monitor where our daily execution is at, before waiting for the dbt tasks to complete (and on-run-end is executed for dbt artifacts to be written to the db).

First, we love the package for having all of the queries enriched and associated with dbt models. Our other source was dbt_artifacts, but that doesn't include all of the queries that are run for an incremental model.

got it, thanks for the context @smitsrr !!


Keep vmbus save state backward compatible

Fix save state to be compatible with older versions.

must have accidentally closed this; one more time...


Plumb through Cooperative matrix usage on SPIRV and CUDA backends

It seems like with all the current refactoring, we dont have an e2e way to start with something like
func @matmul(%arg0 : tensor<4096x4096xf16>, %arg1 : tensor<4096x4096xf16>) -> tensor<4096x4096xf16> {
  %0 = "mhlo.dot"(%arg0, %arg1) : tensor<4096x4096xf16>, tensor<4096x4096xf16> -> tensor<4096x4096xf16>
  return %0 : tensor<4096x4096xf16>
}

and generate code with spv.CooperativeMatrixMulAddNV instructions (even with the right vulkan target).
Running
$ iree-translate -iree-hal-target-backends=vulkan-spirv -iree-mlir-to-vm-bytecode-module -iree-vulkan-target-triple=turing-t4-linux matmul.mlir -iree-input-type=mhlo

gives the error
matmul.mlir:2:8: error: failed to legalize operation 'linalg.fill'
  %0 = "mhlo.dot"(%lhs, %rhs) :
       ^
matmul.mlir:1:1: note: called from
func @matmul(%lhs : tensor<4096x4096xf16>, %rhs : tensor<4096x4096xf16>) -> tensor<4096x4096xf16> {
^
matmul.mlir:2:8: note: see current operation: "linalg.fill"(%7, %cst) ( {
^bb0(%arg0: f16):  // no predecessors
  "linalg.yield"(%cst) : (f16) -> ()
}) {__internal_linalg_transform__ = "workgroup"} : (memref<64x64xf16, affine_map<(d0, d1)[s0] -> (d0 * 4096 + s0 + d1)>>, f16) -> ()

So far the lowering has only looked at using these instructions for a single matmul (starting from the HAL layer with linalg.matmul on memrefs). Unfortunately, with the tensors path, there is never going to be only a matmul in a dispatch region. There is either going to be a zero-fill of the output buffer, or a copy from the init-values buffer to the result buffer (details of why this happens omitted here cause its sort of orthogonal to the issue here). So fusion needs to be handled (at least fusion at the outs operand, which is easier)
There are tests that do make sure that starting from buffers, the pipeline can generate spv.CooperativeMatrixMulAddNV instructions for a single matmul, but there are no e2e tests with these (since non of the hardware we use for e2e tests have this instruction available AFAIK). So this seems to have fallen through the cracks when we moved to Linalg on tensors.

Renaming to make this bug track the plumbing on both CUDA and SPIR-V.

CUDA now uses tensor core ops, and SPIR-V support for co-operative matrix ops is removed for now.. Nothing more to track on this issue. Closing

SPIR-V support for cooperative matrix is still there.


Fix the update strategy for the diesel store to work with all backends

by querying the table to check if the session is already there and then issue an insert/update statement as required.

GH automatically closed this PR when I merged #62. That doesn't seem right, so if there's some repo config that needs to be updated to prevent that in the future please let me know and I'll fix that from happening in the future.


Rendering of NIST White Paper reference, always prioritize fetching final instead of draft

Using the following reference item:
* [[[NISTCSF11,NIST Framework for Improving Critical Infrastructure Cybersecurity Version 1.1]]], _NIST Framework for Improving Critical Infrastructure Cybersecurity Version 1.1_

The document type is rendering in lowercase "nist" instead of "NIST"
It's getting the 2nd Draft rather than the final.

Originally posted by @ronaldtse in https://github.com/metanorma/relaton-nist/issues/17#issuecomment-496233868

The two are completely different issues. Fetching the 2nd draft remains an issue here. The prefixing of "nist" is a separate issue.

@andrew2net also, the "type" is wrong -- this is a "white-paper" not a "standard". See the Relaton XML cache attached.
nist_framework_for_improving_critical_infrastructure_cybersecurity_version_1.1.xml.zip

Ronald, you're behind.
bibitem@type is now "standard" for all of Relaton. That is because document types are idiosyncratic to each flavour.
The type for a specific standard is bibdata/ext/doctype.
If the document type is going to be referenced in a citation, it must NOT be modelled as document type. It must be modelled as a series.

Note that #124 has also fixed this so that "White Paper" is populated in ext/doctype, which was the other issue raised here.

@opoudjis just to confirm, is @andrew2net going to take care of this?

@ronaldtse I'm going but have a lot of tasks. Feel free to prioritize tasks in my todo and in progress lists.

@andrew2net already done :wink:

Yes, I wasn't offering to take this one on.


Replace difference with diff?

cargo audit reports that difference is unmaintained:
Crate:  difference
Title:  difference is unmaintained
Date:   2020-12-20
URL:    https://rustsec.org/advisories/RUSTSEC-2020-0095

pretty-assertions switched to the diff crate; would this work for this crate as well?

It should, yeah! PRs welcome!

I can make one for sure, but will you review and release it soonish?
I am sorry, and I mean no offense, but you took some time to reply with just a fairly standard answer, so please do forgive me for being a bit sceptical 😔

All right then 🙂


Create iekakmi.txt

IEK-AKMI
IEK AKMI Educational Institution

@panosrr Please provide us with a proof, which shows that the school recognizes the domain you are submitting as an official email domain for the students.
You can provide us with any of the following:

A copy of instruction (a hard-copy or electronic one) given to you by the school that tells you to use an email address in this email domain
An URL of a page at the official school website that says that students use this email domain
A reference to a recognized journal where an article was published by someone from the school, with explicit affiliation to the school, and e-mail address from the email domain
A WHOIS data that link the email domain to the school somehow
A copy of official letter from the school representative saying that the school provides e-mail addresses in this domain to the students
Anything else that can prove this fact in similar way, i.e. can be verified independently.

@panosrr Regrettably, this request has signs of fraud. Given that you did not respond to my question, I have to close it without merging. If you are a student of this school, please apply with official document ("OFFICIAL DOCUMENT" tab at https://www.jetbrains.com/shop/eform/students).


Update identifying-and-authorizing-users-for-github-apps.md

Why:
Missing line break for bullet point
What's being changed:
Add the line break
Check off the following:

[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

@macmillen
Thanks so much for opening a PR! I'll get this triaged for review :zap:


Configurable reclaimPolicy for adding a persistent-volume

The pv.yaml template has persistentVolumeReclaimPolicy hardcoded to 'Retain'. (see below)
https://github.com/apprenda/kismatic/blob/master/ansible/roles/persistent-volume/templates/pv.yaml#L12
I would recommend adding a flag to kismatic storage add to override this default.
Scenario:
As every Persistent Volume (PV) I create is set to Retain this means I have to manually wipe the contents of the PV every time I want to redeploy.

We should definitely expose a way to set the reclaim policy on the volumes created by KET.

@alexbrand Thanks for this! What milestone is this going in?

@tjheslin1 I'll try to squeeze it into 1.4 as I know it's a blocker for you.

@alexbrand cheers dude. Thanks for the quick turnaround. In the future is be happy to raise a PR for changes I'd like made. Nothing needed right now.
Your PR gives me something to go by in the future.


Failed to get modbus data from modbus-cli on Rocky Linux 9.4

I can use modpoll (https://github.com/gavinying/modpoll) to modbus data. But failed to get modbus data from modbus-cli.
Log messages of modbus-cli are as follows.
./modbus-cli --target tcp://<IP_ADDRESS>:502 rh:uint32:0x1+5 rc:0+10 wc:4:true
failed to read holding/input registers: gateway target device failed to respond
failed to read coils/discrete inputs: gateway target device failed to respond
failed to write true at coil address 0x0004: gateway target device failed to respond
Log messages of modpoll are as follows.
./modpoll -m tcp -a 2 -r 1 -c 4 -t 4:int -p none -o 1 <IP_ADDRESS>
modpoll 3.15 - FieldTalk(tm) Modbus(R) Master Simulator
Copyright (c) 2002-2024 proconX Pty Ltd
Visit https://www.modbusdriver.com for Modbus libraries and tools.
Protocol configuration: MODBUS/TCP, FC3
Slave configuration...: address = 2, start reference = 1, count = 4
Communication.........: <IP_ADDRESS>, port 502, t/o 1.00 s, poll rate 1000 ms
Data type.............: 32-bit integer, holding register table
-- Polling slave... (Ctrl-C to stop)
[1]: 171515394
[3]: 142679782
[5]: 7118
[7]: 0
-- Polling slave... (Ctrl-C to stop)
[1]: 171515396
[3]: 142745318
[5]: 7120
[7]: 0
-- Polling slave... (Ctrl-C to stop)
[1]: 171712003
[3]: 142876396
[5]: 7124
[7]: 0

Hi there,
it looks like your device sits at unit id / slave id # 2, which you're passing to modpoll with -a 2. Since you're not selecting any unit id with modbus-cli, it defauts to 1, and there's probably no such device on the bus at this address.
Would this work any better ?
./modbus-cli --target tcp://<IP_ADDRESS>:502 sid:2 rh:uint32:0x1+5 rc:0+10 wc:4:true

note sid:2 in the command above, which selects the slave id for any subsequent requests.

Thanks for your reply! The following is testing result after adding sid:2.
./modbus-cli --target tcp://<IP_ADDRESS>:502 sid:2 rh:uint32:0x1+5 rc:0+10 wc:4:true
0x0001	1     : 0x09d91e39	165223993
0x0003	3     : 0x08471b66	138877798
0x0005	5     : 0x00000000	0
0x0007	7     : 0x00000000	0
0x0009	9     : 0x00000000	0
0x000b	11    : 0x00000000	0
failed to read coils/discrete inputs: illegal data address
modbus-client(<IP_ADDRESS>:502) [warn]: unexpected response code (129)
failed to write true at coil address 0x0004: protocol error


Window pickers adding extra options for incline windows

I use nvim-window-picker alongside nvim-tree and my own jumping snippets in my workflow. But uising incline adds extra options. This can easily clutter the screen as can be seen here with just 2 windows.

nvim-window-picker does provide option to filter windows based on options set, but i could not find a way to do it in the documentation. I tried hacky workaround of adding arabic option to window in config, but understandably i get an error saying its not valid.
Can anyone suggest a method to get this working?

Closing this as i figured out how to do this. I can filter based on focusability of the window.


p5: send custom events in order to control the behavior of the draw loop

closes #34

well, "of course" the events interface needs to be somewhat expanded to, say:
type gioWindow interface {
    Events() <-chan event.Event
    Invalidate()
    Close()
}

well, "of course" the events interface needs to be somewhat expanded to, say:
type gioWindow interface {
    Events() <-chan event.Event
    Invalidate()
    Close()
}

using the interface is like a much cleaner way to separate tests from normal code. I will give it a try.

using the interface is like a much cleaner way to separate tests from normal code. I will give it a try.

@sbinet please have a look
https://github.com/go-p5/p5/pull/35/commits/8e0e9d3251929209a0ef310f1e82828cb3ca9ae4 : Solution using Proc event field
https://github.com/go-p5/p5/pull/35/commits/9b4dda8223424482b0810eeb70ac38a63087602d : Solution using the interface
the data race in the failing test is related with the demo test here https://github.com/go-p5/p5/pull/35/files#diff-9a6ab27c824fb3a6082d5d518db17f3c310f1eff5def98ca5f5158309e92a08bR334. I didn't have the time to look into it yet.

@sbinet please have a look
https://github.com/go-p5/p5/pull/35/commits/8e0e9d3251929209a0ef310f1e82828cb3ca9ae4 : Solution using Proc event field
https://github.com/go-p5/p5/pull/35/commits/9b4dda8223424482b0810eeb70ac38a63087602d : Solution using the interface
the data race in the failing test is related with the demo test here https://github.com/go-p5/p5/pull/35/files#diff-9a6ab27c824fb3a6082d5d518db17f3c310f1eff5def98ca5f5158309e92a08bR334. I didn't have the time to look into it yet.

if you prefer, I can send a PR with "my" alternate design (that was heavily inspired from your interesting out-of-the-box thinking) and we can compare notes.
as you prefer.

if you prefer, I can send a PR with "my" alternate design (that was heavily inspired from your interesting out-of-the-box thinking) and we can compare notes.
as you prefer.

Yes please do so, so  we can avoid the back and forth discussions.
I didn't actually spend too much time on this, I just wanted to see if my understanding was close to what you suggested.
btw I used the extra window field in order to be able to access the out event channel directly, since  the Event() method of the interface has to return a receive only channel (https://github.com/gioui/gio/blob/main/app/window.go#L112)

Yes please do so, so  we can avoid the back and forth discussions.
I didn't actually spend too much time on this, I just wanted to see if my understanding was close to what you suggested.
btw I used the extra window field in order to be able to access the out event channel directly, since  the Event() method of the interface has to return a receive only channel (https://github.com/gioui/gio/blob/main/app/window.go#L112)

closing this in favour of #37

closing this in favour of #37


Nextmessageasync doesnt work for DM's with sharding

I dont know if thats related to discord gateways or its interactive bug, but nextmessageasync doesnt work with dm's, it doesnt read dm messages, tested with socket it works fine, but with sharding not, any solution?

same issue here


Instructions don't seem to match the sample

Hi! I'm trying to follow your instructions to build the application with my API and tenant data, but I can't locate the GraphAPICaller.m in the completed sample.
Can you please review the instructions to make sure they match the sample? Thank you!

This has been resolved. Can you please take a look? Thanks!


chore: remove skip ci from releaserc

remove skip ci from releaserc

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


docs(rbac): Add missing connect:delete action

RBAC documentation lacks(missing) mention of the connect:delete action.

This can cause confusion for Kafka operators like DevOps Engineers or SREs, so we will clearly document all connect actions to prevent this.

@younsl thank you!


geant4-deploy/ARCH=x86_64,CLHEP_VERSION=<IP_ADDRESS>,GCC_VERSION=5.4.0,NAME=geant4,OS=centos7,SITE=generic,VERSION=10.01.p03 #31 failed

Build 'geant4-deploy/ARCH=x86_64,CLHEP_VERSION=<IP_ADDRESS>,GCC_VERSION=5.4.0,NAME=geant4,OS=centos7,SITE=generic,VERSION=10.01.p03' is failing!
Last 50 lines of build output:
[...truncated 3.53 KB...]
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /data/ci-build/generic/centos7/x86_64/gcc/5.4.0/bin/gcc
-- Check for working C compiler: /data/ci-build/generic/centos7/x86_64/gcc/5.4.0/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /data/ci-build/generic/centos7/x86_64/gcc/5.4.0/bin/c++
-- Check for working CXX compiler: /data/ci-build/generic/centos7/x86_64/gcc/5.4.0/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of off64_t
-- Check size of off64_t - done
-- Looking for fseeko
-- Looking for fseeko - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Configuring download of missing dataset G4NDL (4.5)
-- Configuring download of missing dataset G4EMLOW (6.41)
-- Configuring download of missing dataset PhotonEvaporation (3.1)
-- Configuring download of missing dataset RadioactiveDecay (4.2)
-- Configuring download of missing dataset G4NEUTRONXS (1.4)
-- Configuring download of missing dataset G4PII (1.3)
-- Configuring download of missing dataset RealSurface (1.0)
-- Configuring download of missing dataset G4SAIDDATA (1.1)
-- Configuring download of missing dataset G4ABLA (3.0)
-- Configuring download of missing dataset G4ENSDFSTATE (1.0)
CMake Error at CMakeLists.txt:149 (add_subdirectory):
  add_subdirectory given source "tests" which is not an existing directory.

-- The following Geant4 features are enabled:
GEANT4_BUILD_CXXSTD: Compiling against C++ Standard 'c++98'
GEANT4_BUILD_TESTS: Build all the tests of the project
GEANT4_ENABLE_TESTING: Enable and define all the tests of the project
GEANT4_USE_G3TOG4: Building Geant3 ASCII call list reader library

-- Configuring incomplete, errors occurred!
See also "/home/jenkins/workspace/geant4-deploy/ARCH/x86_64/CLHEP_VERSION/<IP_ADDRESS>/GCC_VERSION/5.4.0/NAME/geant4/OS/centos7/SITE/generic/VERSION/10.01.p03/geant4.10.01.p03/build-31/CMakeFiles/CMakeOutput.log".
Build step 'Execute shell' marked build as failure

Changes since last successful build:
No changes
No changes
No changes
No changes
No changes
No changes

[Bruce Becker]<PHONE_NUMBER>c481eeb27622793ea0935b0ceafc31 - Add gcc dependency

No changes

[Bruce Becker] 46dabd3da0ec68cdc9b564313473431314eedb4f - Enable testing, because duh, this is CODE-RADE

View full output

closed due to enabling tests.


An additional attribute is being added to the JSON on using insertInline option

Hi,
I was trying to use drag and drop module to drag the items and as well sort them in the list. When I included an option for enabling sorting to my list using (insertInline = "true") to my div element. The functionality was working fine, but there is an additional attribute which is being added to the JSON. I believe it is adding a direction property. How to avoid it being appended to my JSON data?
Here is the working example: http://plnkr.co/edit/FdhZNgm4vNsCXNxdsuAg?p=preview

For sortable to work, separate droppables are required for each draggable. Refer, https://github.com/codef0rmer/angular-dragdrop/blob/master/demo/dnd-insertInline.html

Well I could able to implement the sortable to work. But when I am using (insertLine) attribute there an additional element which is being append to the JSON(http://plnkr.co/edit/gkvcFs?p=preview). The above plunker is exactly the one from the sortable example.
I just made a change to display the JSON in the above plunker and if you sort the list you can observe that there is an additional ("jqyouiDirection": "right") is being appended to the JSON.

That's necessary for animation used internally by angular-dragdrop. Any problem?

Well, I need to save the JSON data and would like to remove it before saving.

Oh, then I need to think about getting rid of it without affecting ngAnimation.


pkg/client: Fix session token corruption

Closes #323.

@KirillovDenis can you run your test case on this branch?

With this changes I couldn't reproduce bag


RI5CY's compliance_io.h fails to compile with clang

Errors with
riscv32-unknown-elf-clang --target=riscv32-unknown-elf -march=rv32i -c
-o I-ENDIANESS-01.o -I ../../../riscv-test-env -I
../../../riscv-test-env/p -I ../../../riscv-target/ri5cy I-ENDIANESS-01.S

../../../riscv-target/ri5cy/compliance_io.h:187:12: error: operand must
be a bare symbol name
    la t3, 0x10000000; sw a0, (0)(t3);;

because strictly speaking la doesn't accept a constant.
See also https://github.com/riscv/riscv-compliance/issues/105

@bluewww Are you OK to fix this?

The simplest fix is change a single character, replacing "la" with "li".

The simplest fix is change a single character, replacing "la" with "li".

li is a pseudo instruction which translates in many ways (which are not documented in the spec). I think what is needed is:
        auipc t3, 0x10000

If the constant is hash defined, then it might have to be
        auipc   t3, (CONST >> 12)
        addi    t3, t3, (CONST & 0xfff)

although with the particular constant value here, the second instruction would be a no-op.

Looked into this, but currently I'm hitting another problem:
export RISCV_PREFIX=riscv32-unknown-elf-
export VSIM_WORK=/home/bluew/projects/riscv/tb/core/work/
export TARGET_SIM=/home/bluew/projects/riscv/tb/core/testbench_verilator
export RISCV_DEVICE=rv32imc
export RISCV_TARGET=ri5cy
make RISCV_ISA=rv32i && make RISCV_ISA=rv32im && make RISCV_ISA=rv32imc

results in
make  \
        RISCV_TARGET=ri5cy \
        RISCV_DEVICE=rv32imc \
        RISCV_PREFIX=riscv32-unknown-elf- \
        run -C /home/bluew/tmp/riscv-compliance/riscv-test-suite/rv32i
make[1]: Entering directory `/home/bluew/tmp/riscv-compliance/riscv-test-suite/rv32i'
Compile /home/bluew/tmp/riscv-compliance/work/rv32i/I-ENDIANESS-01.elf
/home/bluew/.riscv/lib/gcc/riscv32-unknown-elf/9.2.0/../../../../riscv32-unknown-elf/bin/ld: cannot open output file /home/bluew/tmp/riscv-compliance/work/rv32i//home/bluew/tmp/riscv-compliance/work/rv32i/I-ENDIANESS-01.elf: No such file or directory
collect2: error: ld returned 1 exit status
/bin/sh: /home/bluew/tmp/riscv-compliance/work/rv32i//home/bluew/tmp/riscv-compliance/work/rv32i/I-ENDIANESS-01.elf.objdump: No such file or directory
/bin/sh: /home/bluew/tmp/riscv-compliance/work/rv32i//home/bluew/tmp/riscv-compliance/work/rv32i/I-ENDIANESS-01.elf.readelf: No such file or directory
/bin/sh: /home/bluew/tmp/riscv-compliance/work/rv32i//home/bluew/tmp/riscv-compliance/work/rv32i/I-ENDIANESS-01.elf.nm: No such file or directory
riscv32-unknown-elf-objcopy: '/home/bluew/tmp/riscv-compliance/work/rv32i//home/bluew/tmp/riscv-compliance/work/rv32i/I-ENDIANESS-01.elf': No such file
make[1]: *** [/home/bluew/tmp/riscv-compliance/work/rv32i/I-ENDIANESS-01.elf] Error 1
make[1]: Leaving directory `/home/bluew/tmp/riscv-compliance/riscv-test-suite/rv32i'
make: *** [simulate] Error 2

The following commit introduced the problem:
fba4324e62a85bd5de5c73d58d1ebd8edfb00da9 is the first bad commit
commit fba4324e62a85bd5de5c73d58d1ebd8edfb00da9
Author: eroom1966<EMAIL_ADDRESS>Date:   Mon Feb 17 10:03:59 2020 +0000

    Add Parallel make for supported targets

The issue may be that not all OSes have support for parallel make (centos
does not).
I don't know how to disable it; riscof had a similar issue, which is
supposed to have been fixed, though I don't know the details.
The only other target that explicitly defines LOCAL_IO_PUTC is riscvOVPsim,
and it's defines as
.word RVTEST_CUSTOM1,    where RVTEST_CUSTOM1 is a #define of a hex
constant which translates to LW X0, 0(A0) - an unofficial noop
riscvOVPsim must interpret that specially to output the byte in A0.
I'm guessing ri5cy interprets a store to 0x10000000 as an output to an
interpreted UART
So, I believe the correct, simplest fix is to simply change the LA to LI in
the #define LOCAL_IO_PUTC(_R)
On Mon, Apr 27, 2020 at 8:18 PM bluew<EMAIL_ADDRESS>wrote:

Looked into this, but currently I'm hitting another problem:
export RISCV_PREFIX=riscv32-unknown-elf-export VSIM_WORK=/home/bluew/projects/riscv/tb/core/work/export TARGET_SIM=/home/bluew/projects/riscv/tb/core/testbench_verilatorexport RISCV_DEVICE=rv32imcexport RISCV_TARGET=ri5cy
make RISCV_ISA=rv32i && make RISCV_ISA=rv32im && make RISCV_ISA=rv32imc
results in
make
RISCV_TARGET=ri5cy
RISCV_DEVICE=rv32imc
RISCV_PREFIX=riscv32-unknown-elf-
run -C /home/bluew/tmp/riscv-compliance/riscv-test-suite/rv32i
make[1]: Entering directory /home/bluew/tmp/riscv-compliance/riscv-test-suite/rv32i'Compile /home/bluew/tmp/riscv-compliance/work/rv32i/I-ENDIANESS-01.elf/home/bluew/.riscv/lib/gcc/riscv32-unknown-elf/9.2.0/../../../../riscv32-unknown-elf/bin/ld: cannot open output file /home/bluew/tmp/riscv-compliance/work/rv32i//home/bluew/tmp/riscv-compliance/work/rv32i/I-ENDIANESS-01.elf: No such file or directorycollect2: error: ld returned 1 exit status/bin/sh: /home/bluew/tmp/riscv-compliance/work/rv32i//home/bluew/tmp/riscv-compliance/work/rv32i/I-ENDIANESS-01.elf.objdump: No such file or directory/bin/sh: /home/bluew/tmp/riscv-compliance/work/rv32i//home/bluew/tmp/riscv-compliance/work/rv32i/I-ENDIANESS-01.elf.readelf: No such file or directory/bin/sh: /home/bluew/tmp/riscv-compliance/work/rv32i//home/bluew/tmp/riscv-compliance/work/rv32i/I-ENDIANESS-01.elf.nm: No such file or directoryriscv32-unknown-elf-objcopy: '/home/bluew/tmp/riscv-compliance/work/rv32i//home/bluew/tmp/riscv-compliance/work/rv32i/I-ENDIANESS-01.elf': No such filemake[1]: *** [/home/bluew/tmp/riscv-compliance/work/rv32i/I-ENDIANESS-01.elf] Error 1make[1]: Leaving directory /home/bluew/tmp/riscv-compliance/riscv-test-suite/rv32i'make: *** [simulate] Error 2
The following commit introduced the problem:
fba4324e62a85bd5de5c73d58d1ebd8edfb00da9 is the first bad commit
commit fba4324e62a85bd5de5c73d58d1ebd8edfb00da9
Author: eroom1966<EMAIL_ADDRESS>Date:   Mon Feb 17 10:03:59 2020 +0000
Add Parallel make for supported targets

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/riscv/riscv-compliance/issues/108#issuecomment-620354426,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHPXVJWZGQL45SBRZTSF6SLROZDHNANCNFSM4MOFD3DA
.

I don't believe this is a parallel make problem. I can't get it to run on opensuse tumbleweed either. It errors with the same message

@bluewww
Yes you are right, that particular issue is because of changes in the root-makefile (possibly to support parallel make). You will have get rid of the $work_disr_isa.. I had to do these changes for spike/riscvovpsim in my last PR.
In my PR: https://github.com/riscv/riscv-compliance/pull/101/files
Look for changes in riscv-target/spike/device/*/Makefile.include and you'll know what to do.

To prove the issue is related to parallel build, this can be disabled by
make PARALLEL=0 ...
I suspect there is an intermediate file overwritten by multiple concurrent threads

Has the experiment of make PARALLEL=0 been tried?
IF it works - is this a bug that can be fixed globally, or is a strictly ri5cy makefile that needs to be updated.
Do we know if any other models or environments break?

@bluewww
IF this isn't getting fixed, isn't being closed, and only being reported on a ri5cy supplied filed,  I'm going to have ri5cy support removed from the repo in 2 weeks from today, - so this will be closed one way or another.
This has been hanging on far too long.

@allenjbaum
2h hours ago @MaskRay reported that llvm9 fixed one part of this issue. See https://github.com/riscv/riscv-compliance/issues/105#issuecomment-735545774
So it seems like llvm agrees that their assembler needs fixing and not this piece of code.
Regarding the other bug (make PARALLEL=1 regression) I give it a look this week.

Here is the fix anyway.

Ok it's strictly a clang version issue and it seems like this will be resolved by specifying a minimum required clang version.

Ah, OK, it looked like it was simple enough to go ahead and fix for us. Are
you the ri5cy model maintainer? IF so, we need to talk off of github.
On Fri, Dec 4, 2020 at 11:26 PM bluew<EMAIL_ADDRESS>wrote:

Ok it's strictly a clang version issue and it seems like this will be
resolved by specifying a minimum required clang version.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/riscv/riscv-compliance/issues/108#issuecomment-739139096,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHPXVJQZW444ZFGRNUZMFLLSTHOC5ANCNFSM4MOFD3DA
.

Yes. I added support for ri5cy. I sent you an e-mail.


GitHub social icon seems broken (redirect to current website)

e.g. https://blist.vercel.app/en/ click on the GitHub link it will redirect to the same website, even if the current config is:
  [[params.homepage.social.icons]]
    website = "github"
    url = "https://github.com/"

It is not. It is a matter of template.
https://dag7.it

What commit for the theme are you using?
My config.yml contains
[params.homepage.social]
  # Global params common for both languages
  title = "Suivez-nous !"
  description = "En plus de pouvoir suivre<EMAIL_ADDRESS>sur le Fediverse :"

  [[params.homepage.social.icons]]
    website = "github"
    url = "https://github.com/AmarOk1412/Cha-Cuit"

  [[params.homepage.social.icons]]
    website = "mastodon"
    url = "https://mastodon.social/@amarok"

  [[params.homepage.social.icons]]
    website = "buymeacoffee"
    url = "https://www.buymeacoffee.com/KaelinnChacuit"

And was working for a long time (it broke since I added mastodon). I use commit  7e5aded
And exampleSite seems broken too with this config: https://github.com/apvarun/blist-hugo-theme/blob/main/exampleSite/config.toml#L183 (all other links seems to redirect to a correct link)


app/core/Encryption.php

Hello, we noticed a couple of things in your Encryption class.
encryptId() is a misnomer; you aren't encrypting anything (there is no key involved). You're merely transforming it in a deterministic way.
encrypt() is using the 256-bit version of Rijndael in CBC mode without authenticating the ciphertext. Unauthenticated ciphertexts can be tampered with by an active attacker. (Aside: If you want the standard AES cipher in 256-bit mode, use MCRYPT_RIJNDAEL_128 with a 32-byte key. Mcrypt is pretty terrible, however, so you might want to just switch to OpenSSL.)
Also refer to How to Encrypt Data in PHP by Defuse Security.

I'd recommend switching to one of the following:

PECL libsodium, if you can manage it. Highly recommended.
Otherwise, defuse/php-encryption or \Zend\Crypt is the way to go.

If you're dead set on rolling your own implementation, please read the linked material first.

Yes, encryptId() is not using any key. You can consider it as not actual encryption, but, it wanted to do something quick, simple, just instead of showing the actual id number.
Most importantly is encrypt():
I went through the links you provided so quickly. What you said is definitely deserves digging into the encryption method. I see that you have already contributed to encryption snippets in PHP.
So, either if you fork, and add your modification to encrypt() method, I would be really grateful or I will do it myself in couple of days.
Thank you!

I saw defuse/php-encryption
The problem is: An exception will be thrown if encrypted text was tampered by attacker. I don't disagree with this, But, What if i need to log this attack, remove/update a row in database, show system error page, or do anything else. Then, I need to wrap the code with try and catch blocks every time i want to encrypt a text.

Yes, encryptId() is not using any key. You can consider it as not actual encryption, but, i wanted to do something quick, simple, just instead of showing the actual id number.

"Encryption" without a key is not encryption, and is not useful. It can be trivially reversed, and does nothing to protect any data, whatsoever. If you are not using a key, then you might as well just leave it as plaintext - either way, it shouldn't be called 'encrypt' because that's not what you're doing.
Especially as your project bills itself as "surrounded with powerful security layers", this is a serious issue.

The problem is: An exception will be thrown if encrypted text was tampered by attacker. I don't disagree with this, But, What if i need to log this attack, remove/update a row in database, show system error page, or do anything else. Then, I need to wrap the code with try and catch blocks every time i want to encrypt a text.

Yes. This is the correct behaviour. Errors need to be handled - any 'solution' that doesn't involve throwing an error that needs to be handled, is wrong.

You could catch the exception in your encryptId() function and return false or null if it fails. This way you can check against values instead of exceptions if those are an problem for you.
But if you say "Security is my thing" then a failure while encrypting is an exception which has to be handled properly.
You could also (maybe) wrap you global Application runner (if existent) in a try catch to render or log an apropriate message.

You could also (maybe) wrap you global Application runner (if existent) in a try catch to render or log an apropriate message.

That is almost never a good idea, really. The only global error handler you should ever have is one that...

Catches every unhandled error, not just specific types
Sends a HTTP 500 with an error message, and
Logs the error for review by site operators.

Failures like these should always be handled on a case-by-case basis - otherwise, it becomes too hard to predict what the behaviour of your application is going to be upon encountering an error.
If you are handling an error in the same way in many places, that simply means you need to abstract your code more, ie. better code reuse.

@joepie91  I am not willing to avoid throwing exception, I am willing to avoid writing the same code over and over again,
What @Blackskyliner says about catching exception inside encrypt() method and return null/false could be more appropriate, So, try and catch blocks will be written only once.
@joepie91  Yes, I agree, I see there are some failures that need to be handled explicitly by wrapping them with try and catch block instead of using the global error handler.

What @Blackskyliner says about catching exception inside encrypt() method and return null/false could be more appropriate, So, try and catch blocks will be written only once.

No, it isn't. Sentinel values are extremely dangerous, especially in cryptography-related code, as they will fail silently and unpredictably when you forget to handle them.
The correct solution is to let the error propagate. You should not ever return sentinel values from a function - the only reason there are methods that currently do this, is because try/catch has not always been available as a feature.

Ok, consider the following situation:

A user logged in with his account,
the application added an encrypted cookie into user's browser(remember me token)
Then, user logged in again after a while,
the application gets the remember me token cookie,
It detected the token has been modified

So, according to your suggestion(as i understood so far), Inside decrypt() method, an exception will be thrown, and caught.
Now, Regardless of the implementation, I would like to:

Log this error; modified encrypted token
remove/clear token from database and browser
Logout user

How can i achieve this in case i won't return a value null/false value indicating the token is invalid. I understand your point of view, but, i am trying to get into intermediate point between your suggestions and the logic of the code.

The responsibility of the decrypt() method ends at "either decrypt the cookie, or throw an error if invalid". It should not have any knowledge of what the data is for, or what to do if it's invalid - it simply throws an error.
The point where you should handle this error is most likely the point where decrypt() is called. At this point, you can catch the decryption error if it occurs, and take further application-specific steps (eg. clear cookie, log out user).
The key points, to reiterate; a function:

... only has one, single responsibility, and
... is not aware of the rest of your application, nor does it modify any state anywhere - it simply accepts arguments, and provides a return value, independent of what the rest of the application is doing.

This results in loosely coupled code, which is far less likely to contain bugs, and far easier to audit. If a function only has one purpose and has no side-effects, then you can safely reuse and change it as needed, as long as the arguments and return values / errors remain compatible.

I am aware of these principles, as long as DRY. I am not going to re-write try and catch block where the decrypt() and encrypt() methods are called.
In my application, I would call  decrypt() and encrypt() methods  about 10 times, should re-write try catch block every time?
I didn't say decrypt() will do anything else other than decrypt, if failed, then return null, false, or as you are suggesting throws an exception.
Again, I am not trying to arguing, we are trying to get to a suitable solution.

I am aware of these principles, as well as DRY. I am not going to re-write try and catch block where the decrypt() and encrypt() methods are called.

You should.

In my application, I would call decrypt() and encrypt() methods about 10 times, should I re-write try catch block every time?

Yes. They are used in 10 different situations, and could need 10 different kinds of error handling. You're going to have to handle the errors in all those 10 places anyway - throwing an error simply ensures that you're not missing a spot.
Again, try/catch isn't something to avoid or reduce. It's a language construct that ensures you are handling errors correctly.

I didn't say decrypt() will do anything else other than decrypt, if failed, then return null, false, or as you are suggesting throws an exception.

Right. Then throwing an error should not be an issue, as the handling of decryption errors is context-dependent and needs to happen outside of the decrypt() function anyway.

Ok, Now, everyone has a point of view.
You: Suggest to wrap encrypt() and decrypt() methods with try & catch blocks whenever they are used. So, if they are used 10 times, then each one should be wrapped by try & catch blocks.
Me: I don't see re-writing the same code for error handling for the methods encrypt() and decrypt() again and again is something will keep your code nice and clean. Duplicates are always not a good practice. Yes, they will be used in different situations, but the same approach for error handling(i.e. redirect to not found error page)
You will ending up having different places in your code, each does the same thing. So, If there is any bug, or modification, you will have to fix/modify the same piece of code independently.
And What I am saying does NOT discouraging from using try & catch blocks.
Finally: I totally understand your point, I don't have an ideal solution in my mind instead. The most suitable solution that I see till now, is to return false (as long as It will be handled correctly) If encrypted string was modified. Otherwise, throws an exception inside encrypt() and decrypt() that will be caught either by Exception Handler, or try & catch block inside  encrypt() and decrypt().
What I am saying is not something I've invented, nor fabricating. It's already implemented in PHP Frameworks(as I understood):

CakePHP

CakePHP Book
CakePHP Security Class
CakePHP Utility Crypto

Laravel

Laravel Encrypter

These frameworks are used by millions of developers and have been battled and tested by many developers on different circumstances.

The problem is that you are confusing two different aspects - the error throwing and the error handling.
As I said before, the responsibility of the decrypt() method ends at attempting to decrypt or throwing an error if it can't. It doesn't know about sessions or page redirects - it just knows about decryption.
If you need the same "remove cookie, redirect to other page" logic in more than one place, then it's perfectly fine to abstract that, but not within the decrypt() method - it's out of scope. If you genuinely need the same error handling in all places, then you simple write another function - say, decryptOrLogout() - that calls decrypt() and logs the user out and aborts execution if the decryption fails.

The most suitable solution that I see till now, is to return false (as long as It will be handled correctly) If encrypted string was modified.

No. "Returning false" is wrong, no matter how you modularize your code or what the error handling is like. A return value is never, ever, ever an error. That is what error throwing is for.

Otherwise, throws an exception inside encrypt() and decrypt() that will be caught either by Exception Handler, or try & catchblock inside encrypt() and decrypt().

See above suggestion. And when correctely modularized, nothing needs to be returned anyway, as the error condition aborts any further page execution. There is no rule that says you can only have a single function for the entirety of this functionality.

What I am saying is not something I've invented, nor fabricating. It's already implemented in PHP Frameworks(as I understood):

[snip]

These frameworks are used by millions of developers and have been battled and tested by many developers on different circumstances.

This is an appeal to authority (or appeal to popularity, depending on how you look at it) and completely irrelevant here.
A large framework using a particular approach is in no way a reason to use the same approach. Not only do many widely used frameworks and applications have security issues, you also do not know the context in which certain decisions are made, nor whether your situation might be different from theirs.
The only correct way to make security-related decisions is to have a solid understanding of what is going on, and why certain approaches are preferable over others. This is a purely objective process, there is no room for personal opinion. Something is either optimally secure or it is not.
What anybody else does is irrelevant, if you don't have the objective reasoning to back it up.

If you need the same "remove cookie, redirect to other page" logic in more than one place, then it's perfectly fine to abstract that, but not within the decrypt() method

Did you hear me saying decrypt() will take care of anything else other than decryption?, If failed then as you are suggesting throws an exception
The moral of the long argument is, you say decrypt() should throw an exception if the encrypted string was modified(this exception should be caught every time the method is called), I say in this particular situation, returning false is more suitable, and throw an exception otherwise(i.e. if internal failure occurred).

This is an appeal to authority (or appeal to popularity, depending on how you look at it) and completely irrelevant here.

Yes, I agree. Not because a framework uses a particular approach, then this would be the most optimal one. But, We still can't discard the claim of those developers in charge of building these frameworks, and their situation is nearly the same here.
I am not an expert, that's why i jumped over their implementation to see how they take care of these kind of issues, why a framework would prefer to use certain implementation over the other. Your knowledge and experience is an accumulation of some books, talks by others, code written by good developers, and so forth, and your decision will be based on it.
See, I am not a big fan of writing long comments, So, we need to put an end to this. I am really thankful for your suggestions, and I will take it forward, except throwing an exception if encrypted string was tampered. You thankfully suggested something, someone else could have another point of view.

Did you hear me saying decrypt() will take care of anything else other than decryption?

That is what you seem to be suggesting, yes. The "redirect to a not found page", specifically.

The moral of the long argument is, you say decrypt() should throw an exception if the encrypted string was modified(this exception should be caught every time the method is called), I say in this particular situation, returning false is more suitable, and throw an exception otherwise(i.e. if internal failure occurred).

Yet you've completely failed to provide any valid arguments for that whatsoever. You are going to have to handle the error anyway, regardless of whether it's a thrown exception or a return value of false. However, when you use a return value of false, as I have explained, you will have silent failure if you forget to handle it.
No, there are no cases where returning false on an error is a valid thing to do. None.

But, We still can't discard the claim of those developers in charge of building these frameworks, and their situation is nearly the same here.

They can be discarded just fine if they fail to address the issues I (or anybody else) am raising.

So, we need to put an end to this. I am really thankful for your suggestions, and I will take it forward, except throwing an exception if encrypted string was tampered. You thankfully suggested something, someone else could have another point of view.

This isn't about "another point of view". Returning false is objectively the wrong thing to do, and is dangerous. I've tried to explain the reason for this (silent failure) several times now, and you've not responded to that issue even a single time - not to contradict it, not to ask for elaboration.
And frankly, I feel like you don't really understand what I'm trying to explain to you, because there are no arguments in favor of returning false here.

If I replied, this conversation won't end. I am thankful for your time, I guess I understand what you are trying to address here, If you have something else you want to spot the light on, Please let me know.
Thanks,


Number of subsystems

Thanks for your work. Quandary looks promising.
How many subsystems can Quandary handle? Juqbox can handle 3 subsystems at most. I am wondering if there is any such limitation for Quandary at the moment.

Hi! Thanks for your interest!
Quandary can in principle handle any number of subsystems (as long as you have enough compute power), but you will have to choose the sparse-matrix solver for linear algebra if you are considering more than two subsystems.
You can choose the number of oscillators and their modeled number of energy levels through the option 'nlevels' in the configuration file, and you will have to set the option 'usematfree=false' if you are using more than two subsystems.
I'm happy to assist setting up a configuration file for a specific test case, if you are interested in trying out Quandary for your application!

Thanks!
One of the cases I am interested in is to create gates on cavity modes controlled via a transmon. Each mode (including transmon) is a subsystem. Is there an example I can find about this within the repo? I know you have similar interests (https://arxiv.org/abs/2106.09148). Are there configuration files available for the tests in https://github.com/LLNL/quandary/tree/master/tests? It would be good to start with running some of those tests.


Request: Sonic Mania port

I was wondering if this is possible.  It would be nice having every good 2d sonic game in one place.

Feedback received from the developer who brought ports like Iconoclasts and Shovel Knight to this platform is that the engine used in Sonic Mania is custom and that there's no Linux native version.  The likelihood of this being ported is very low.


Use the new-release task in the build-from-scratch pipeline and fix it to use a docker-registry secret

This PR is a minor fix to let the build-from-scratch pipeline use the new-release Task as aref and also let the user use a docker-registry secret instead of a custom one to map the pull secret json file.

/cc @vrutkovs @LorbusChris


Custom Plugin Issue

I'm working on https://github.com/MatthewVita/rupert-plugin-knockout and am manually putting it in /home/laptop/Projects/rupert-plugin-knockout-tests/node_modules/rupert-plugin-knockout, but Rupert (using bare.tgz) doesn't seem to register it (nothing in vendors.js).
What am I doing wrong? What's the best way to test this (I'll update the new plugin creation wiki entry as I go).

Is rupert-plugin-knockout-tests on Github?
You're installing it via npm ln?

rupert-plugin-knockout-tests is not on github.  Then fix the docs so that those steps are more apparent :)

That did the trick.
I appended instructions here: https://github.com/RupertJS/rupert/wiki/Cookbook:-Creating-a-Rupert-Plugin#as-an-npm-module