Appstudio update test-component-pac-iwwl

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

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

StatusDurationName

✅ Succeeded
6 seconds
init

✅ Succeeded
13 seconds
clone-repository

✅ Succeeded
26 seconds
build-container

✅ Succeeded
22 seconds
inspect-image

✅ Succeeded
18 seconds
deprecated-base-image-check

✅ Succeeded
9 seconds
clair-scan

✅ Succeeded
52 seconds
clamav-scan

✅ Succeeded
11 seconds
sbom-json-check

✅ Succeeded
16 seconds
label-check

✅ Succeeded
7 seconds
show-summary

✅ Succeeded
5 seconds
show-sbom


Improve logging capabilities

A nice to have feature is the ability to control logging levels in the runtime. A good example of such feature is MagicalRecord - https://github.com/magicalpanda/MagicalRecord/blob/master/MagicalRecord/Core/MagicalRecordLogging.h.

@etolstoy @alexgarbarev @jasperblues
I'd want to implement this feature, if you don't mind 👍

@vasilenkoigor sure, go ahead! (i've never used Typhoon logging at all, though..)

@vasilenkoigor how is the progress with this issue?


mblast: tried adding a description to an existing job, but did not stay

I don't know what the expected UX is, but the current UX is not great, imho.
First, I don't see a way to directly modify the description. The only way I see is to click on Revise and rerun.
When I click on this, I am taken to a new blast form, with the same config as the job I just came from. When I modify the description and click on the BLAST button, I am taken to a new job id. However, the description is missing in the heading section of the page.
Finally, when I go to My Jobs, I only see the original job. The new job is not included in the list.
This seems like a backend error.

UPDATE: I see the new job in the response from the /jobs endpoint. I will investigate why it isn't appearing in the table.

It looks like the new job has the flag isPrimary=false, which causes it to not appear in the table.

I have a feeling it has something to do with how job ids are derived from the job config.


rgw: fix multi instances scaleout

When rgw and osd are collocated, the current workflow prevents from
scaling out the radosgw_num_instances parameter when rerunning the
playbook.
The environment file used in the rgw systemd template is rendered when
executing the ceph-rgw role but during a new run of the playbook (in
order to scale out rgw instances), handlers are triggered from ceph-osd
role which is run before ceph-rgw, therefore it tries to start the new
rgw daemon whereas its corresponding environment file hasn't been
rendered yet and fails like following:
<EMAIL_ADDRESS>failed to run 'start-pre' task: No such file or directory

This commit moves the tasks generating this file in ceph-config role
so it is generated early.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1851906
Signed-off-by: Guillaume Abrioux<EMAIL_ADDRESS>

jenkins test centos-container-ooo_collocation

jenkins test centos-non_container-switch_to_containers

jenkins test centos-non_container-purge

jenkins test centos-container-all_in_one

jenkins test centos-non_container-all_in_one

jenkins test centos-non_container-collocation

jenkins test centos-non_container-lvm_batch

jenkins test centos-non_container-purge

jenkins test centos-non_container-switch_to_containers

jenkins test centos-non_container-update

jenkins test centos-non_container-purge

jenkins test centos-non_container-switch_to_containers

jenkins test centos-non_container-lvm_osds

jenkins test centos-container-lvm_osds

jenkins test centos-container-podman

jenkins test centos-non_container-all_daemons

jenkins test centos-non_container-external_clients

jenkins test centos-container-lvm_osds

jenkins test centos-non_container-all_daemons

jenkins test centos-non_container-external_clients

jenkins test centos-non_container-purge

jenkins test centos-non_container-switch_to_containers


virtualized - Calculate rows when height changes

If the height increases the rows need to be calculated to fill the new height.

Current coverage is 67.10% (diff: 100%)

Merging #270 into master will not change coverage

@@             master       #270   diff @@
==========================================
  Files            17         17
  Lines           304        304
  Methods          58         58
  Messages          0          0
  Branches         67         67
==========================================
  Hits            204        204
  Misses          100        100
  Partials          0          0

Powered by Codecov. Last update d58cee5...321eded

Thanks for the fix. I published it as 8.5.1.


fix: releasing error message update

Description

Releasing error message

Testing required outside of automated testing?

[ ] Not Applicable

Screenshots (if appropriate):

[ ] Not Applicable

Rollback / Rollforward Procedure

[ ] Roll Forward
[ ] Roll Back

Reviewer Checklist

[ ] Description of Change
[ ] Description of outside testing if applicable.
[ ] Description of Roll Forward / Backward Procedure
[ ] Documentation updated for Change

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Comment out flakey media3p tests temporarily

Summary
Comment out flakey tests temporarily for media3p, I will look at this tomorrow.

Couldn't you just use xit and xdescribe? Rather than commenting everything out...


autosave

VSCode Version: VSCode Insider Version 1.12.0-insider (1.12.0-insider)
OS Version: MAC OSX Sierra

Steps to Reproduce:

Check "AutoSave"
Edit file. Is not saved.

Same works with ordinary VSCode.

@neilyoung That works without an issues for me. In step 1, you go through the menu File > Auto Save?

@kieferrm  Yes, I checked that. But did it again now. It works, indeed. Strange. Must have been a local problem over here. Thanks.


Incorrect mime-type reported for Adobe Illustrator files

Linguist reports a content-type of application/postscript for *.ai files, instead of the correct application/pdf:
λ bundle exec rake bin/github-linguist test/fixtures/Binary/octocat.ai
octocat.ai: 0 lines (0 sloc)
  type:      Binary
  mime type: application/postscript
  Language:

I can tell one of the mime_* gems Linguist's using is to blame. But the reason I'm reporting this here (as well why I care how Linguist classifies a binary file) is that I'm wondering if fixing the bogus mime-type would enable AI files to be rendered as PDFs on GitHub.
I recall reporting this to site support at least twice now, but I'm wondering if it could be handled on our end after stumbling across this:
https://github.com/github/linguist/blob/001ca526694a32a5ac4c977a79032ced0b8c0aca/test/test_blob.rb#L31-L32
Adobe Illustrator files are simply PDFs with extra (editor-specific) metadata attached. There's otherwise nothing that sets it apart genetically from a run-f-the-mill PDF file:
λ file --mime test/fixtures/Binary/octocat.ai
octocat.ai: application/pdf; charset=binary

Here's proof in a branch I just pushed: All I did was change the .ai extension to .pdf:

Hey presto, suddenly Illustrator artwork can be viewed on GitHub.com! (BTW, PostScript isn't binary. :) It's 7-bit clean US-ASCII, about as plain as plain-text can possibly get. 😉
Template removed as it doesn't really apply.

Adobe Illustrator files are simply PDFs with extra (editor-specific) metadata attached. There's otherwise nothing that sets it apart genetically from a run-f-the-mill PDF file:

Not quite according to the Wikipedia description for Adobe Illustrator Artwork files as it says the content can be PDF or EPS.
This sentence in particular:

Early versions of the AI file format are true EPS files with a restricted, compact syntax, with additional semantics represented by Illustrator-specific DSC comments that conform to DSC's Open Structuring Conventions.

... probably explains the current classification as application/postscript.
A quick search shows there are a lot of instances of both EPS/Postscript and PDF .ai files with the PDF files being very much in the minority, though that's probably because they may be detected as binary.
Having the gem differentiate between the two may cover both scenarios and get you what you want for the PDF ai files without affecting the EPS/Postscript files.

Any idea which gem to submit a pull-request to? There's a few MIME gems in use.

Not quite according to the Wikipedia description for Adobe Illustrator Artwork files as it says the content can be PDF or EPS.

Ah right, I forgot about legacy formats. Yes, Illustrator versions 3 through to 8 saved artwork as specialised EPS files, with later versions being PDF-based (here're the save options to give you a sense of scale):

The headers of the EPS-based AI files are conspicuous, so disambiguating should be easy:
Illustrator 3
%!PS-Adobe-3.0
%%Creator: Adobe Illustrator(TM) 3.2
%%AI8_CreatorVersion: 23.0.4
%%For: (John) ()
%%Title: (Untitled-1.ai)
%%CreationDate: 7/7/19 7:16 pm
%%Canvassize: 16383
%%BoundingBox: 71 -619 570 -119
%%DocumentProcessColors: Cyan Magenta Yellow Black

Illustrator 8
%!PS-Adobe-3.0
%%Creator: Adobe Illustrator(R) 8.0
%%AI8_CreatorVersion: 23.0.4
%%For: (John) ()
%%Title: (Untitled-2.ai)
%%CreationDate: 7/7/19 7:17 pm
%%Canvassize: 16383
%%BoundingBox: 71 -619 570 -119
%%HiResBoundingBox: 71.0675 -618.185 569.5992 -119.6533
%%DocumentProcessColors: Cyan Magenta Yellow Black

Illustrator 9 — present day
%PDF-1.4
%‚„œ”
1 0 obj
<</Metadata 2 0 R/Pages 3 0 R/Type/Catalog>>
endobj
2 0 obj
<</Length 3102/Subtype/XML/Type/Metadata>>stream
<?xpacket begin="Ôªø" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.6-c145 79.163499, 2018/08/13-16:40:22        ">
   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
      <rdf:Description rdf:about=""
            xmlns:xmp="http://ns.adobe.com/xap/1.0/"
            xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
            xmlns:dc="http://purl.org/dc/elements/1.1/"
            xmlns:pdf="http://ns.adobe.com/pdf/1.3/">

though that's probably because they may be detected as binary.

It's possible for a PDF to be uncompressed ASCII, but that logically inflates the filesize, so it's rarely done except for pedagogy or debugging.

Any idea which gem to submit a pull-request to?

https://github.com/mime-types/mime-types-data I think as this is where MiniMime draws from.

Thanks! 👍 I've opened an issue there.
Apparently Illustrator 9 was released in 2000, making EPS-based AI formats over 20 years old... 😕 So it's probably worth doing away with the header-sniffing altogether and just assuming PDF is used.


Azure devops pipeline

Setup Azure DevOps to deploy piecewise to Azure App Service

Architectural Components

Azure DevOps
Azur Resource Group

Piecewise -Container registry
Piecewise-app - Application Insights
Piecewise-app  - App Service plan
Piecewise-app  - App Service
Piecewise-db - Azure Database for PostgreSQL server
Piecewise-keyvault - Key vault
Piecewise-plan - App Service plan
Piecewise-pre-env-vnet - Virtual network

Thanks again @anbestephen !!!


Additional handler arguments

I've setup a middleware to inject retry count argument into my message handlers (https://symfony.com/doc/current/messenger.html#additional-handler-arguments) and it works.
But my tests are failing when using test bus because it doesn't know about this middleware.
Would it be possible to support this?

Hi @norkunas
I didn't know about this feature in messenger! thanks!
but it should work out of the box, this lib has no effect on how messenger / handlers / stamps deal with each others.
I just tested it, and confirm it works.
Maybe you're using a bus which does not have this middleware?

Hmm, I have only a single bus on which I've applied it, and then it started to fail :/

The problem might not be the "additional argument" feature but maybe something around the middlewares 🤔
Could you share some code, please?

Oh, now I know. I need to add the argument to the all handlers, argument becomes non-optional :disappointed:

Looks like there is no easy way to get the handler to inspect in the middleware :thinking:

I'm not sure to understand what you mean 🤔

I mean about:

Will have to inspect the message __invoke method for defined arguments and return based on that.
That I didn't find a way to do this, so only viable solution is to defined the argument in all my message handlers which sucks :thinking:


[CLI] Add 'source' metadata for metrics collected

Why do we need this improvement?
We need to include source metadata as a unique identifier for every file handled in CLI when collecting metrics for the commands executed.
How will this change help?
This change will allow us to measure the Time to first API Design metric as described here.
How could it be implemented/designed?
We need to consider two different issues we've found so far:

The hashing algorithm to use: We should make a decision based on computational cost and security aspects according to New Relic requirements and also the recommendations from SonarCloud. Some research about algorithms like md5, sha1 or sha256 is needed.
Find another way to calculate the Time to first API Design metric, or a different way to identify the source so it doesn't change between file creation and generation. See https://github.com/asyncapi/cli/pull/859#discussion_r1520842866

Related issue(s)
Relates to https://github.com/asyncapi/cli/issues/1161

I have opened a PR that addresses this issue. it will collect the birth timestamp of the file that cli works on. IMO it solves the issue provides the best value and more insight into the file.


Wifi

Have this box. Wifi doesn't work have flashed every firmware image I can find. Ethernet works for about 5 minutes after firmware installation then drops out doesn't come back online. Desperate for a fix from developer or if anyone else can help.

Hi! Have you tried the manufacturer image (from here: https://www.h96tvbox.com/firmware-download/)? If so, then probably your box has some hardware issue.

Thank you. I have managed to resolve my issue. There's is a new dated firmware that unfortunately isn't linked on the website.

Have this box. Wifi doesn't work have flashed every firmware image I can find. Ethernet works for about 5 minutes after firmware installation then drops out doesn't come back online. Desperate for a fix from developer or if anyone else can help.

Do you know what this firmware do? H96 Max V58 RK3588 20230728.1802


feat: add sigint handler

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Compound] Add COMP Claim support

What it solves
Resolves #24
How this PR fixes it

By substituting current APR calculation for the Supply and Distribution APYs showed in the Compound site
Adding a section for claiming COMP

How to test it

Test APY calculations against Compound site. Should work both Mainnet and Rinkeby for the Supply APY and only in mainnet for distribution tokens (Distribution APY and COMP collect)
Try to collect available COMP. Any cToken should be supplied in mainnet for start collecting. We are showing the 18 decimals of the COMP token and allowing collection but once tested we should allow only to claim COMP greater than 0.0001 as in the Compound site

Screenshots

Perhaps I left something weird in the PR but as I'm going on holiday till next year i left this in code review for start gathering some feedback

Changed @mikheevm !!

🤣 ... Love your spanish improvements

Looking good! Only testing missing from me would be to collect the COMPs but I don't have funding for mainnet. Waiting for finance team to do their magic ;)

Can we merge this one and then test this functionality in https://github.com/gnosis/safe-react-apps/pull/261? Unfortunately, it's hard to review the other PR because it includes changes from this one.

If it's okay for @dasanra all good from my end :)

I think is a good idea


Use go mod

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hi! I'm sorry it took a bit to sign the CLA.


searchParams and query cannot be correctly mutated on $URL instance

Environment
<EMAIL_ADDRESS>node 18.18.0
Reproduction
https://stackblitz.com/edit/stackblitz-starters-nmd1v4?file=package-lock.json
Describe the bug

Query cannot be correctly mutated in case of $URL without / at the end
searchParams method creates new URLSearchParams instance which cannot be mutated. I would like the same behavior as in browser/node URL. Maybe it shouldn't be a getter, just a class field?

Additional context
No response
Logs
No response

Hi dear @vara855 thanks for reporting this issue. Since we are deprecating $URL support, this issue is probably not going to be solved. I would highly recommend to upgrade to native URL with new URL.


Some elements are missing completion options

If I have
    let mut file = try!(File::open(file_path).map_err(|e| e.to_string()));
    let mut contents = String::new();

Then contents.<C-x C-o> gives a good list of completion options, all appropriate for String, showing that vim-racer is indeed working properly. However, file.<C-x C-o> doesn't find anything: Pattern not found. Things like read_to_string, which are properly defined for File, can successfully be used, and the program successfully compiles, however.

@Giels You should ask it in racer issue.
I don't know this is supported in racer.


Dot normal angle

Unify dot and normalize APIs for Vector2, Vector3, Vector4, Vector2, Quaternion
Add the BetweenTwoVectors method to Unger

The benefit of the unified API is that you can make indiscriminate calls to the union types of Vector2, Vector3, Vector4, Vector2, Quaternion, as follows:
public static BetweenTwoVectors<Vec extends Vector2 | Vector3 | Vector4>(a: DeepImmutable<Vec>, b: DeepImmutable<Vec>): Angle {
        const na = a.normalizeToNew() as Vec;
        const nb = b.normalizeToNew() as Vec;
        let cosv = na.dot(nb as any);
        cosv = Scalar.Clamp(cosv, -1, 1);
        const theta = Math.acos(cosv);
        return new Angle(theta);
}

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/14511/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14511/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14511/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/14511/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/14511/merge
https://gui.babylonjs.com/?snapshot=refs/pull/14511/merge
https://nme.babylonjs.com/?snapshot=refs/pull/14511/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/14511/merge#BCU1XR#0

Visualization tests for webgl2 have failed. If some tests failed because the snapshots do not match, the report can be found at
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14511/merge/testResults/webgl2/index.html
If tests were successful afterwards, this report might not be available anymore.

This is a partially compatible implementation, and my current application needs to use such a unified API

与#14235的意图有什么不一样？因为我想知道我们是否应该保留#14235？

#14235 is a very good idea, as a mathematical library for linear algebra, it should be designed in this way, otherwise it will greatly increase the difficulty of code reuse.
I often wrap the toolkit, and this design is important for the underlying library to make the API more powerful

Perhaps this could be moved into the Tensor API when it is finished?

Perhaps this could use the Tensor API (types) when #14235 is finished?

Will all math methods in babylonjs be replaced by Tensor API methods in the future?

I wonder what the perf implications of these changes are...
Now, a number of methods (which can be called a large number of times over the course of a frame) have an additional function call compared to the existing code:
Before:
public static Dot(left: DeepImmutable<Quaternion>, right: DeepImmutable<Quaternion>): number {
    return left._x * right._x + left._y * right._y + left._z * right._z + left._w * right._w;
}

Now:
public static Dot(left: DeepImmutable<Quaternion>, right: DeepImmutable<Quaternion>): number {
    return left.dot(right);
}

I don't know the cost of a function call in existing JS engines and I don't know if they are able to inline function code....
Maybe you should do some testing (as in #14235) to make sure there's no regression?

Reverted

@GuoBinyong

Will all math methods in babylonjs be replaced by Tensor API methods in the future?

Vector2, Vector3, Vector4, Color3, Color4, Quaternion, and Matrix are the classes that will implement Tensor in the initial PR. More may be added later, though I thought that would be a good starting point.

@GuoBinyong
Do you want this to be included in the Tensor API?


Python does not support REGEXP, but Perfetto UI does

Hello, I found that Python does not support REGEXP, but Perfetto UI does.
from perfetto.trace_processor import TraceProcessor, TraceProcessorConfig
trace_path = r'./trace.perfetto-trace'
tp = TraceProcessor(trace=trace_path,
                    config=TraceProcessorConfig(ingest_ftrace_in_raw=True))
query= """SELECT * FROM slice WHERE name REGEXP '@[0-9]*/0'"""
qr_it = tp.query(query)
qr_df = qr_it.as_pandas_dataframe()
print(qr_df)

perfetto.common.exceptions.PerfettoException: Traceback (most recent call last):
  File "stdin" line 1 col 32
    SELECT * FROM slice WHERE name REGEXP '@[0-9]*/0'
                                   ^
no such function: REGEXP

The problem is not with the Python API but with Windows: https://cs.android.com/android/platform/superproject/main/+/main:external/perfetto/src/trace_processor/util/regex.h;l=33?q=IsRegexSupported()
We use the Unix regex implementation which is obviously not available on Windows. Fixing this would require us to migrate to using a different regex library which, because we are integrated in so many places, is extremely complicated and basically will not happen in the forseeable future.
Please use LIKE/GLOB as a workaround on Windows, this is basically not going to be fixed otherwise.


goNextPageAutomatic set to true doesn't clear error messages

When survey.goNextPageAutomatic = true; the system doesn't "clean" error messages.
Steps to replicate:
1. set all questions as required
2. try to move to next question without picking an answer (to make the required error appear)
3. click on the required answer (and it will automatically move to the next question)
4. now go back to the previous question...and you'll still see the "required error" with display:block or anyway...visible

using lastest knockout version (0.10.2)

@ricricucit Could you please help me to understand the issue?
I have just created a one page survey with required 3 radio groups and goNextPageAutomatic set to true.
I have pressed the "Complete" button, I've got 3 required errors. After that I have set values for all questions and go automatically to the complete page, as I expected.
Do you want to clean the required error message immediately, after answering the question? I may agree that the current behaviour a little bit confusing. However, the required error should be cleared immediately regardless of gotNextPageAutomatic property value, IMHO.
Thank you,
Andrew

Try to create a survey with, let's say, 5 (required) questions.
For each question:

Click the "next question button" (which will make the requiredError appear
Click one of the responses (which will make you go to next question
Repeat the steps #1 and #2 until you reach the last question
Don't click "complete", but simply go back to "review previous questions" ...and for each of those you'll still see the requiredError shown, although it should have been gone, deleted by point #2...
As you say, it should be done regardless of goNextPageAutomatic set to true, but that's when it fails clearing the error.

@andrewtelnov to replicate the issue you can do the following:
create a survey page PAGE1
add a radio group to PAGE1 with a required radio group
create a survey page PAGE2
add a radio group to PAGE2 with a required radio group
set the goNextPageAutomatic to true then:
step 1:
on PAGE1 select NEXT (without checking a radio button)
the page will show (correctly) the message that the selection is mandatory,
select an option and you will be sent to PAGE2
step 2:
on PAGE2 click PREVIOUS and you will see that the error message (on PAGE1) is still visible even though an option has been selected.
If the goNextPageAutomatic option is false, after step 2 the error message on PAGE1 is gone .

@ricricucit, @noandrea Yes, thank you! I can see the bug now.

@ricricucit @noandrea - It is fixed.
Thank you,
Andrew


ColumnListMutation.putColumn for composites

I noticed a TODO in the javadoc for putColumn() for composites. How soon might this be added? I'm wondering if I should take a crack at it, as we'd like to use composites asap, given the deprecation of supercolumns in astyanax.

That documentation is out of date.  Composite columns are fully supported as long as you use the AnnotatedCompositeSerializer


Update TextInputResponder.cs

fixes #9956
What does the pull request do?
try to solve app crash on iOS platform when textbook change focus
What is the current behavior?
app crash due to unhandled exception as indicated in issue #9956
What is the updated/expected behavior with this PR?
correct textbox behaviour
Obsoletions / Deprecations

Fixed issues
Fixes #9956

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: mrmandrake sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

You can test this PR using the following package version. 11.0.999-cibuild0028739-beta. (feed url: https://pkgs.dev.azure.com/AvaloniaUI/AvaloniaUI/_packaging/avalonia-all/nuget/v3/index.json) [PRBUILDID]


The given compilation instructions for numba-dpex doesn't work

If I follow the numba-dpex compilation instructions according to dpbench's readme, it doesn't work. I get this error:
python setup.py develop
Compiling numba_dpex/dpnp_iface/dpnp_fptr_interface.pyx because it changed.
[1/1] Cythonizing numba_dpex/dpnp_iface/dpnp_fptr_interface.pyx
running develop
/localdisk/work/$USER/.dpbench/lib/python3.9/site-packages/setuptools/command/easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
/localdisk/work/$USER/.dpbench/lib/python3.9/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
running egg_info
creating numba_dpex.egg-info
writing numba_dpex.egg-info/PKG-INFO
writing dependency_links to numba_dpex.egg-info/dependency_links.txt
writing entry points to numba_dpex.egg-info/entry_points.txt
writing requirements to numba_dpex.egg-info/requires.txt
writing top-level names to numba_dpex.egg-info/top_level.txt
writing manifest file 'numba_dpex.egg-info/SOURCES.txt'
reading manifest file 'numba_dpex.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'numba_dpex.egg-info/SOURCES.txt'
running build_ext
building 'numba_dpex._usm_allocators_ext' extension
creating build
creating build/temp.linux-x86_64-3.9
creating build/temp.linux-x86_64-3.9/numba_dpex
creating build/temp.linux-x86_64-3.9/numba_dpex/dpctl_iface
gcc -pthread -B /localdisk/work/$USER/.dpbench/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -Wall -fPIC -O2 -isystem /localdisk/work/$USER/.dpbench/include -I/localdisk/work/$USER/.dpbench/include -fPIC -O2 -isystem /localdisk/work/$USER/.dpbench/include -fPIC -I/localdisk/work/$USER/.dpbench/lib/python3.9/site-packages -I/localdisk/work/$USER/.dpbench/lib/python3.9/site-packages/dpctl/include -I/localdisk/work/$USER/.dpbench/include/python3.9 -c numba_dpex/dpctl_iface/usm_allocators_ext.c -o build/temp.linux-x86_64-3.9/numba_dpex/dpctl_iface/usm_allocators_ext.o
In file included from /localdisk/work/$USER/.dpbench/lib/python3.9/site-packages/dpctl/include/dpctl_sycl_interface.h:35,
                 from numba_dpex/dpctl_iface/usm_allocators_ext.c:35:
/localdisk/work/$USER/.dpbench/lib/python3.9/site-packages/dpctl/include/syclinterface/dpctl_sycl_device_interface.h:253:1: error: expected identifier or ‘(’ before ‘[’ token
  253 | [[deprecated("Use DPCTLDevice_WorkItemSizes3d instead")]] DPCTL_API
      | ^
error: command '/usr/bin/gcc' failed with exit code 1

However, if I follow the instructions from the numba-dpex page, like this:
conda create -n dpbench-dev -c /opt/intel/oneapi/conda_channel python=3.9 dpctl dpnp numba spirv-tools llvm-spirv llvmdev cython pytest
conda activate dpbench-dev
python setup.py develop

It works.
I think the compilation instructions on dpbench readme needs to be changed.

Is this is a numba-dpex compilation issue? If so it needs to opened here - https://github.com/IntelPython/numba-dpex/issues

Is this is a numba-dpex compilation issue? If so it needs to opened here - https://github.com/IntelPython/numba-dpex/issues

The numba-dpex compilation instruction on numba-dpex readme is correct.
But the numba-dpex compilation instructions on dpbench readme might not be correct (or not working in my case).

The issue is related to numba-dpex. A fix will be in soon.
For now, the walk-around is to comment out those three lines in dpctl_sycl_device_interface.h from 252-254, and try recompile numba-dpex.

@chudur-budur can you try current main with the instructions in README? If you run into issues, please look at the https://github.com/IntelPython/dpbench/blob/47a38a946416c47f23ac4dc38839ef3df18a3c44/.github/workflows/build_and_run.yml#L39 steps we follow in the CI to install dependencies.
If you do need to work around the problem, we will update the README.

@chudur-budur can you try current main with the instructions in README? If you run into issues, please look at the
https://github.com/IntelPython/dpbench/blob/47a38a946416c47f23ac4dc38839ef3df18a3c44/.github/workflows/build_and_run.yml#L39
steps we follow in the CI to install dependencies.
If you do need to work around the problem, we will update the README.

The steps from the CI works. I am updating the readme accordingly.


Bug

Hello i try to download a video comes this error http://prntscr.com/ev7zso
I have the latest version.
Pls help me to fix it.

Carefully read new issue template and provide all requested information.


Support for CSI u and CSI s

https://github.com/asciinema/asciinema-player/issues/75

Duplicate of #5


Velero with restic doesn't create a volume in Openstack during restore

Hello,
To test out velero's backup and restore features with restic, I am trying to restore EFK stack from Azure AKS. I have an EFK stack setup and running in Azure. I installed velero with restic in Azure using helm charts and azure plugin and tested out velero backup and restore features in Azure and verified that it worked.
Now, we have to deal with multiple cloud providers and we decided to take backups in Azure and restore them to Openstack (in this case) instead of taking backups in each cloud provider for obvious reasons. I made modifications to my helm installation to the OpenStack cloud as per the values.yaml file

credentials:
  extraSecretRef: "velero-credentials"
configuration:
  provider: azure
#backupstoragelocation of azure
  backupStorageLocation:
    name: default
    bucket: velero
    #bucket: test
    provider: velero.io/azure
    config:
      resourceGroup: resourcegroup
      storageAccount: storageaccount
      subscriptionId: SID
  volumeSnapshotLocation:
    name: azure-default
    provider: velero.io/azure
initContainers:
  - name: velero-plugin-openstack
    image: lirt/velero-plugin-for-openstack:v0.3.1
    imagePullPolicy: IfNotPresent
    volumeMounts:
      - mountPath: /target
        name: plugins
  - name: velero-plugin-for-microsoft-azure
    image: velero/velero-plugin-for-microsoft-azure:v1.5.0
    volumeMounts:
      - mountPath: /target
        name: plugins
snapshotsEnabled: true
backupsEnabled: true
deployRestic: true

The velero namespace and credentials were created before running the velero installation command in Openstack. The credentials file has all the Openstack variables with values in b64 format. After installation, running
velero backup get
in my OS tenant, gives me the backups I created in Azure which is fine.
But when I restore, I see the PV that is created in Azure restored to OpenStack but a new volume is not created in OpenStack.
The parameters of the restored PV in OS are:

 csi:
    driver: disk.csi.azure.com
    volumeHandle: >-
      /subscriptions/SID/resourceGroups/REesourceGroup/providers/Microsoft.Compute/disks/restore-xxxxx
    volumeAttributes:
      csi.storage.k8s.io/pv/name: pvc-xxxx-yyyy
      csi.storage.k8s.io/pvc/name: elastic-data-elasticsearch-0

instead of something like

csi:
    driver: cinder.csi.openstack.org
    volumeHandle: VH
    fsType: ext4
    volumeAttributes:
      storage.kubernetes.io/csiProvisionerIdentity: xxxx-yyy-cinder.csi.openstack.org

I have also added the configmap files that can change the storage classes from backup to restore mentioned here before running the restore.
I am pretty sure I've overlooked something in order to get this idea working but if not, can you suggest a workaround for this?

Hi @nvpuri,
In this scenario where you need to restore volume from different cloud provider the job should be in my opinion done mainly by restic. I think that in this case you actually don't even need Openstack plugin for Velero.
The volume snapshot functionality cannot work between cloud providers. It's job is to create snapshot from volume in one specific region of one cloud provider. This snapshot is not possible to be restored in other cloud providers. It's a snapshot object specific to a cloud and storage backend, so I can't think of a way it could be done.
So in your case you should mostly rely on restic to backup/restore the data to/from object storage. First check if restic backs-up volumes you want (remember to use annotation as mentioned in docs). Then in your Openstack you should use only Azure plugin (to use same object storage where restic backups are stored) and run restore.
I also think you should either not use snapshotsEnabled: true at all or use --restore-volumes=false in velero restore command to not try to create the PVs/PVCs by cloud provider. Then restic should take care of rest.
To check if restic works you can run backup and then check if you have any podvolumebackups CRs and check their config. Then after you run restore you should see podvolumerestores CRs - they will spawn a pod and this pod will have PVC with some kind of StorageClass and CSI controller should take care of creating new PV.
You can try it - see error logs and let me know if it helps. If it doesn't help I will need some time to test this scenario.

Hi @Lirt,

So in your case you should mostly rely on restic to backup/restore the data to/from object storage. First check if restic backs-up volumes you want (remember to use annotation as mentioned in docs). Then in your Openstack you should use only Azure plugin (to use same object storage where restic backups are stored) and run restore.

Yes, I was using velero with restic for this backup and restore to work. Restic is backing up volumes in Azure. I created annotations for the pods that need backing up. After running,
velero backup create logging-backup --include-namespaces logging
I was able to see that Backup and PodVolumeBackup CRDs were created in Azure.
In my Openstack, I removed the OS plugin and used only Azure plugin while installing Velero. I also excluded the snapshotsEnabled: true option while installing. I was able to see the same logging CRDs (both in Backup and PodVolumeBackup) in OS tenant.
But while running restore, the issue was the same. The pods come up but no volume is created in OS. A PVC is created but the storage class shown is Azure's and no OS's. I added the configmap that is mentioned here and when I restart I don't even see the pods come up.
There are no logs from velero restore logs logging

Logs for restore "logging" are not available until it's finished processing. Please wait until the restore has a phase of Completed or Failed and try again

And velero restore describe logging
is stuck on Phase:  New
The results are the same when I add the --restore-volumes=false flag to the restore command. i.e. before adding the configmap, no new volumes are created and after adding the configmap, the restored pods don't even come up.
And it's empty on podvolumerestores all the time but I see podVolumeBackup has the backup CRs.
Velero restic logs in Openstack:
time="2022-10-31T06:40:49Z" level=info msg="Starting Velero restic server v1.9.2 (82a100981cc66d119cf9b1d121f45c5c9dcf99e1-dirty)" logSource="pkg/cmd/cli/restic/server.go:87"
time="2022-10-31T06:40:49Z" level=info msg="Setting log-level to INFO"
2022-10-31T06:40:49.277Z	INFO	controller-runtime.metrics	metrics server is starting to listen	{"addr": ":8080"}
time="2022-10-31T06:40:49Z" level=info msg="Starting metric server for restic at address [:8085]" logSource="pkg/cmd/cli/restic/server.go:177"
time="2022-10-31T06:40:49Z" level=info msg="Starting controllers" logSource="pkg/cmd/cli/restic/server.go:188"
time="2022-10-31T06:40:49Z" level=info msg="Controllers starting..." logSource="pkg/cmd/cli/restic/server.go:219"
2022-10-31T06:40:49.337Z	INFO	starting metrics server	{"path": "/metrics"}
2022-10-31T06:40:49.338Z	INFO	controller.podvolumebackup	Starting EventSource	{"reconciler group": "velero.io", "reconciler kind": "PodVolumeBackup", "source": "kind source: /, Kind="}
2022-10-31T06:40:49.338Z	INFO	controller.podvolumebackup	Starting Controller	{"reconciler group": "velero.io", "reconciler kind": "PodVolumeBackup"}
2022-10-31T06:40:49.338Z	INFO	controller.podvolumerestore	Starting EventSource	{"reconciler group": "velero.io", "reconciler kind": "PodVolumeRestore", "source": "kind source: /, Kind="}
2022-10-31T06:40:49.338Z	INFO	controller.podvolumerestore	Starting EventSource	{"reconciler group": "velero.io", "reconciler kind": "PodVolumeRestore", "source": "kind source: /, Kind="}
2022-10-31T06:40:49.338Z	INFO	controller.podvolumerestore	Starting Controller	{"reconciler group": "velero.io", "reconciler kind": "PodVolumeRestore"}
2022-10-31T06:40:49.439Z	INFO	controller.podvolumebackup	Starting workers	{"reconciler group": "velero.io", "reconciler kind": "PodVolumeBackup", "worker count": 1}
2022-10-31T06:40:49.439Z	INFO	controller.podvolumerestore	Starting workers	{"reconciler group": "velero.io", "reconciler kind": "PodVolumeRestore", "worker count": 1}
time="2022-10-31T06:41:09Z" level=info msg="PodVolumeBackup starting" backup=velero/logging controller=podvolumebackup logSource="pkg/controller/pod_volume_backup_controller.go:87" podvolumebackup=velero/logging-vd6bg
time="2022-10-31T06:51:07Z" level=warning msg="PodVolumeRestore not found, skip" PodVolumeRestore=velero/logging-kt7mv controller=PodVolumeRestore logSource="pkg/controller/pod_volume_restore_controller.go:78"

Please let me know if there's anything else I have to try. Thanks for yo9ur help!

Then I think the issue is outside of this plugin.
Maybe something is wrong in the ConfigMap you mentioned (https://velero.io/docs/main/restore-reference/#changing-pvpvc-storage-classes). The storage class must be changed after restore to one that exist in Openstack cluster. Then PV will be created and pods will start. The restore will hang until the PVCs are finished.
This part of the configmap must match storage classes that will be renamed (azure->openstack):
data:
  # add 1+ key-value pairs here, where the key is the old
  # storage class name and the value is the new storage
  # class name.
  <old-storage-class>: <new-storage-class>

If nothing helps you probably need to ask in Velero slack or open issue in their Github :shrug:.

The storage class must be changed after restore to one that exist in Openstack cluster.

I applied the configmap before the restore command earlier but now I applied it after the restore command, like you said. I don't think the configmap took affect after applying it after velero restore
When I do velero restore before applying the configmap, I am able to see an object created in PodVolumeRestore, but there is no spawning of any pod. So no question of that said pod having a storage class in them.
This is the configmap I applied.

apiVersion: v1
kind: ConfigMap
metadata:
  # any name can be used; Velero uses the labels (below)
  # to identify it rather than the name
  name: change-storage-class-config
  # must be in the velero namespace
  namespace: velero
  # the below labels should be used verbatim in your
  # ConfigMap.
  labels:
    # this value-less label identifies the ConfigMap as
    # config for a plugin (i.e. the built-in restore item action plugin)
    velero.io/plugin-config: ""
    # this label identifies the name and kind of plugin
    # that this ConfigMap is for.
    velero.io/change-storage-class: RestoreItemAction
data:
  # add 1+ key-value pairs here, where the key is the old
  # storage class name and the value is the new storage
  # class name.
  default: 8k

where default is the storage class of azure and 8k is the OS storage class

Hi, sorry for delay.
Your config looks good to me. If the names of storageClasses used in PVCs match I don't see other issue.

Hi, did you by any chance test it and get it working? If not, I'll probably post this in Velero github issue

I'm closing this issue as it's not related to this plugin. Please contact Velero team to help you troubleshoot why remapping ConfigMap doesn't do its job.
Wish you luck and all the best.


Fixes: #issue-142

Related Issues or bug
-Fixed Outdated and faulty modules in the 'requirements.txt' file
Fixes: #142
Fixed modules in requirement.txt file
Type of change
Please delete options that are not relevant.

[x ] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
After changing and updating all modules I ran the installation for all modules in a virtual environment  and all the modules were updated without any faults, then it was merged with the main branch(locally) and the website was functioning properly
Describe if there is any unusual behaviour of your code(Write NA if there isn't)
NA
Checklist:

[x ] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[ ] I have added tests that prove my fix is effective or that my feature works.
[x] New and existing unit tests pass locally with my changes.
[ ] Any dependent changes have been merged and published in downstream modules.

Screenshots

Original
Updated

original screenshot
updated screenshot

Hey @Aditya201551,
You are not allowed to create PR until it is assigned to you as it won't be considered.

Ohh okay then I will remove my pr and create pr only after assignment


If UV set name contains a full stop, it crashes the Python interpreter

We encountered a crash when opening an fbx scene containing a uv set with a "." in the name.
Quick repro:

Create a cube in Maya
Add a second Uv Set named UvSet.001
Make sure it has faces assigned (create an automatic layout)
Export the cube as fbx file
In Python try to open the fbx from Usd

from pxr import Usd
Usd.Stage.Open("cube.fbx")

Observe the interpreter crashing

This will actually be fixed in an upcoming merge from an internal release. The issue was that some of these names coming from the FBX scene were not sanitized correctly for SdfPath usage. This caused a cascading stream of errors and in your case likely a segfault due to dereffing or using a nullptr.
The latter is of course speculation without seeing a stack trace, but I've at least encountered it several times so I suspect it to be that.

@friedererdmann Apologies for the long delay but this has been merged into master. Could you verify this works now?


Failed to verify checksum on Alpine

Hi, I tried to use the One-line GraalVM JDK installation on Alpine after reading this article, and it ended up with the following:
Verifying checksum...
sha256sum: unrecognized option: check
...
Failed to verify checksum. Please file an issue at https://github.com/graalvm/graalvm-jdk-downloader/issues.

I tried to:
curl -OL https://get.graalvm.org/jdk
bash jdk

I tried with the Dockerfile FROM alpine:3.14.2.
I'm still determining how far I can go with GraalVM using this Linux distribution. However, it ended up so early.
The Alpine is a minimal Docker image based on Alpine Linux with a complete package index and only 5 MB in size.
It was a motivation for using this as a basis.

Thanks for raising this issue! We haven't tested against alpine but we'll look into a fix.

How did you get to "Failed to verify checksum."? That Alpine Docker image does not even include bash.

Thanks. I found the old issue https://github.com/oracle/graal/issues/1898, and the status is still opened, but maybe it's abandoned. People report unofficial Alpine-related successes regarding GraalVM.
IMO it would be essential to support this lightweight Docker image, as it might be a basis for many interesting community-driven initiatives around the GraalVM.

That Alpine Docker image does not even include bash.

That's true. I had to add some things via apk add.

-c -s works, but gu doesn't seem to work for some reason:
$ curl -OL https://get.graalvm.org/jdk
...
$ bash jdk
...
Verifying checksum...
Extracting...
Installing GraalVM components...
jdk: line 385: //graalvm-ce-java17-22.3.0/bin/gu: No such file or directory

gu is there, but it can't install native-image for some reason.

It seems like it's the way through torment.
I wish this would be easier. I tried to add the NI support to the existing solution. But hopefully, it's still doable via some other workarounds or convincing for switching to, e.g., Ubuntu.

Have you seen @shaunsmith's Tiny Java Containers demo and talk?

I'm still a bit confused: Do you want a minimal image for development or deployment? Why not use the GraalVM Docker images for development? The base image needs to fully support a JDK, otherwise things will not work. In production, you probably don't need and want many of these things.

It's about the existing Docker image in OSS that is Alpine-based. I wanted to add support for building native executables via GraalVM. They probably picked the Apline as this is a lightweight Docker image. I would have to convince maintainers to switch to the other basis (which is also an option if there is no other way).

Which 'existing Docker image in OSS that is Alpine-based' are you referring to?

Which 'existing Docker image in OSS that is Alpine-based' are you referring to?

That's about this one. A functionality is documented here. The CLI allows to compile the Java code as well.
However, I might manage to solve it without using the GraalVM Downloader. I had an opportunity to test the downloader under Alpine, and it asked me, Please file an issue so I did.

The Dockerfile you pointed to just packages scala-cli inside an Alpine image.  This is not the same as packaging an entire JDK on an Alpine image.
It's definitely possible to deploy a fully statically linked GraalVM Native Image generated executable, like scala-cli ;), on Alpine, but a full JDK is a different problem.  IMHO, Alpine is great for deployment, but why would you want to use it for development?  A typical multi-stage build approach works fine for this.

@shaunsmith Thanks for your response. Please let me clarify the motivation.

The Dockerfile you pointed to just packages scala-cli inside an Alpine image. This is not the same as packaging an entire JDK on an Alpine image.

As mentioned earlier, I wanted to add support for building native executables via GraalVM.
We might miss the point, but I will shortly describe what this tool is doing.
The Scala-CLI can install the SDK for you. It will do it the same way SDKMAN does it for you.
(You don't need the JDK Downloaded).
However, some issues appeared, so I tested the manual approach under Alpine using the downloader. The downloader crashed and asked me: "Please file an issue", so I did.
Now, back to Scala-CLI regarding the Docerfile, I showed you. Even if it's short, there is no need for more.
I was able to get it up and running with an Ubuntu-based image.
Please find an example usage. The below command is everything you need on a clean computer. First, you install the CLI (brew install Virtuslab/scala-cli/scala-cli) and then you might start your adventure with GraalVM Native Image. Just execute the below:
$ scala-cli package ./Hello.java --native-image --graalvm-jvm-id graalvm-java17:22.3.0

It compiles both Java and Scala, above the Java example.
It will download and install GraalVM and Native Image (if not installed), and then build the native executable. (Of course, you might preload things beforehand inside the image, no need to download them all the time).
The last argument is optional. If you want to specify the GraalVM version, you can, and if the default latest is ok, you can skip it.
After executing above, you'll see standard Native Image output:
GraalVM Native Image: Generating 'HelloWorld' (executable)...
...
Version info: 'GraalVM 22.3.0 Java 17 CE'
...
Finished generating 'HelloWorld' in 24.2s.

Alpine is great for deployment, but why would you want to use it for development?

As mentioned earlier. The CLI maintainers already use it, but building native executables via GraalVM Native Image inside a docker doesn't work. So I want to fix it.
I consider convincing them to use another basis than Alpine if needed.

but why

Say I want to build a native executable for the cloud from my local macOS. I need to build a Linux executable, not Apple one. I need Docker for that.
🔎
Now, back to the topic. I had an opportunity to test the Downloader under Alpine. Unfortunately, I met issues, and I reported a problem.
If GraalVM does not support Alpine, I will have to convince CLI maintainers to adjust the Dockerfile properly.

Alpine is not just another Linux distro.  Unlike most it is does not rely on glibc.  The GraalVM distro is compiled with glibc, not musl, and the Alpine image you are trying to install it on does not include glibc.   Just putting the GraalVM JDK into an Alpine image does not mean it is going to work.  As you discovered, it works on Ubutunu because it includes glibc.  Glibc may not be the only issue but it is a big one.
Again, I don't see why this is a problem given the option to use a multi-stage build.  In the "build" image you would use scala-cli to produce a native executable that you would copy onto a "deployment" Alpine image.

It just occurred to me that you may not be aware of the GraalVM container images!  You can use the native-image container image to generate an executable as part of a multi-stage build.  No need to download and install GraalVM into a container image yourself!
https://github.com/graalvm/container/pkgs/container/native-image
https://github.com/orgs/graalvm/packages

The GraalVM distro is compiled with glibc, not musl

From my perspective, the solution is simple. The GraalVM Native Image Downloader might detect the Alpine, and show an information "Alpine is not supported by GraalVM Native Image, please consider the other Linux distro". cc: @fniephaus

It just occurred to me that you may not be aware of the GraalVM container images

Thank you for the suggestion @shaunsmith. Of course, I am aware. I'm using the official one for the other project.
If I'm correct, the GraalVM Native Image does not support cross-platform builds. Unfortunately, it means I cannot build the Linux executable from macOS.
The cross-platform is my use case. For this reason, I need to use Docker, and in the manual approach, I would do gu install native-image and then native image -jar Hello.jar hello from inside the Docker. I do the same thing with Scala-CLI, but I also need to run it inside Docker to get Linux executable.
(The Scala-CLI is a side topic here, as I first tried vanilla GraalVM NI and Alpine. So you just got a background where I use it).
Again, the thing here is that I wanted to fix GraalVM support in the existing Docker container image (in a project that I'm a user, not a maintainer, and it uses Alpine already). I guess maintainers decided to use Alpine because it's a minimal Docker image with a complete package index and only 5 MB in size. The goal is to add only the minimum and keep the image tiny.
Of course, I might try to convince maintainers to switch the other base image.

the Alpine image you are trying to install it on does not include glibc

Sure thing, it only includes a few things. So, of course, I tried using the apk add to fulfil the "prerequisites" given here. Unfortunately, I met issues, and the Downloader asked, "Please file an issue at https://github.com/graalvm/graalvm-jdk-downloader/issues.". So I did. I only report an issue.
For example, I succeeded in doing a similar thing as in the Dockerfile we discussed, but with Ubuntu. I had to install a few things with apt-get, including the gcc, zlib1g and other stuff. Finally, it all worked.

produce a native executable that you would copy onto a "deployment" Alpine image

I want something else. A Linux-based virtual machine is a place where I produce the native executable. If I had it already, I would not need to copy it onto the Alpine image.
Again, the goal was to "fix" the existing Alpine-based image to enable the GraalVM Native Image support. I may need to convince maintainers to switch to another base image.
The Scala-CLI is a handy util that allows me, for instance, to compile a Java or Scala file (or a project) with a single shell command. I can also do it from Docker as follows:
$ docker run -v $(pwd)/Hello.java:/Hello.java virtuslab/scala-cli package --native-image /Hello.java

I can quickly create a Linux executable locally from Mac or Windows.


Template rendering not working when "Filter responses by environment" is enabled and there's no environment created

Failed to render "placeholder" prior to sending
When I'm using a template string of type Response->Body Attribute and adding this template in the url and/or query parameter. The request is failing to send with the error Failed to render "Request.url" or "Request.parameters[0]" prior to sending, but the url preview is rendering as expected. This is happening only when the setting Filter responses by environment is enabled and no environment is selected/created, which is always the case whenever a new workspace is created.
To Reproduce
Steps to reproduce the behavior:

Go to preferences
Enable Filter responses by environment
Create a new workspace to ensure there's no environment
Make a http request
Make a different http request which is using the Response->Body Attribute template as a path param and use the previous request body attribute

Expected behavior
The request in step 5 should succeed
Actual behavior
Screenshots

Desktop (please complete the following information):

OS: macOS 10.15.7
Installation Method: homebrew
App Version v<IP_ADDRESS>

Additional context
This functionality works seamlessly when I create an environment and reuse data from the requests (when sent while the environment is selected)

Hi @shreyas-segu, have you tried our latest release located here: https://github.com/Kong/insomnia/releases/tag/core%402022.7.0-beta.3 to see if it resolves your issue?


[iOS] Use install_module_dependencies in podspec file

Summary
In RN 0.70, the core team introduced the install_modules_dependencies function to properly configure the iOS dependencies in the podspec.
This allow the Core team to add/remove flags and restructure the internal Cocoapods' structure of React Native and limiting the chances to break 3rd parties dependencies, as those changes will be captured by the function.
By not using this function, all the 3rd party libraries would have to chase and manually reimplement the same changes that the RN Core team applies to the Cocoapods structure.
Test Plan
npx react-native@next init NewApp --version next --skip-install
cd NewApp
yarn add @react-native-community/slider
yarn install
cd ios
bundle install
RCT_NEW_ARCH_ENABLED=1 bundle exec pod install
open NewApp.xcworkspace

Build and observe the failure.

Apply this patch to the NewApp/node_modules/react-native-pager-view/react-native-pager-view.podspec file and rerun
RCT_NEW_ARCH_ENABLED=1 bundle exec pod install
open NewApp.xcworkspace

Build and observe the app build successfully:

What's required for testing (prerequisites)?
Nothing
What are the steps to reproduce (after prerequisites)?
See test plan
Compatibility

OS
Implemented

iOS
✅

Android
N/A

Checklist
The below items are not needed:

[ ] I have tested this on a device and a simulator
[ ] I added the documentation in README.md
[ ] I updated the typed files (TS and Flow)

@thymikee yes, definitely. I left it there because other libraries do want to support more React native versions. But if you do not plan to support versions < 0.70, than drop it!


Remove deprecated testcase implementation

Hey, thanks for the contribution! Looks like something strange happened with travis, I'll try retriggering the build

Hey, thanks for your contribution! Something happened with travis, I'll try restarting the build

Rebased the commit so it pulls in test fixes

Great, tests passed! Thanks again for the PR :)


Fix #1930, add code coverage for null check

Checklist (Please check before submitting)

[ x] I reviewed the Contributing Guide.
[ x] I signed and emailed the appropriate Contributor License Agreement to<EMAIL_ADDRESS>and copied<EMAIL_ADDRESS>
Fix #1930 update code coverage test for CFE_ES_GenPoolRecyclePoolBlock and CFE_ES_GenPoolCreatePoolBlock for null pointer check.
Testing performed
Steps taken to test the contribution:

Build SIMULATION=native ENABLE_UNIT_TESTS=true prep
make
make test
make lcov

Expected behavior changes
No impact on behavior
Contributor Info - All information REQUIRED for consideration of pull request
Full name and company/organization/center of all contributors ("Personal" if individual work)

Note CLAs apply to only software contributions.

Anh Van, GSFC

If this changes coverage, I recommend updating:
https://github.com/nasa/cFE/blob/8852743153ddafcc7b12054f59bc86a361480f99/.github/workflows/code-coverage.yml#L107-L108


Applicant update

This PR adds functionality to the admin view, so that administrators can update the owned_pin and/or street of an applicant's owned address.

This PR includes a new UpdatedEntity model, which tracks changes, the admin who made them, and when it happened.

I made use of an inline_formset for updating the applicant's owned_pin, since it made it easy to create a form that respects the relationship between the Applicant and the Address models. However, I could have done something similar be creating a simple ModelForm for the applicant and instantiating it with the Application instance found in the view. So.....I am not going to fight for one over the other, but I could see how the formset solution is somewhat unnecessary, since we'd never need to render multiple, identical forms.

I abandoned the inline formset (as we both suggest above!), mainly because this use case does not call for a formset, since the application (as determined by a related address) should have only one owned_pin.


Rethink Command OOP

Right now, all commands act as Singletons. This makes sense as there should only be one instance of a command running at a time, but doesn't feel very memory efficient -> if object isn't being used, it shouldn't be cached in memory and be recreated

Constructors for each command are responsible for initializing the SlashCommand data, and constant information for the command. Therefore, caching it in memory is ok


Store sessions in a centralized database

The tutorial mentions at "Authenticate users / Understand the Code" that sessions should be stored in a centralized database.

In production, you should use a centralized database to store sessions securely. Google Cloud Platform makes it easy to deploy many databases, including Redis or Memcache.
https://cloud.google.com/nodejs/getting-started/authenticate-users#about_sessions

May I ask you for some help and clarify why I should do this, and how that would be implemented in the current example?
For example does it mean not to use the nodejs cookie-session module at all, or, does it just mean that sensitive information should not be stored in the local cookie but on the remote database?

does it just mean that sensitive information should not be stored in the local cookie but on the remote database?

Exactly, you shouldn't store any information on the user's computer that you don't want them to have access too. In the sample, the application is storing only the user's profile information, which they should already know, so storing the session in the cookie is fine. However, if there is additional information you want to store in the session but don't want the user to see (such as rate-limiting information), then you should use a server-side data store.
One easy example is to switch from express-cookie-session over to connect-redis. You can deploy a redis server/cluster on GCE easily with Click-to-Deploy. If you're using Mongo, there's also a mongodb backend. We also have a datastore backend, but using a replicated database like datastore is slower than using an in-memory cache like Redis.

Thank you very much for your input!


🐛 bug fix: correct path for .hushlogin of non-root user

This PR is a minor bug fix for the path directory when creating .hushlogin file in the cluster-prepare.yaml playbook.
I would have included another change for the cluster-installation.yaml playbook as ansible currently throws the following error: ERROR! Using 'ansible.builtin.include_role' as a handler is not supported.  Sadly, I cannot find a solution as I have tried alternate modules, but it seems that a handler can't be used for some reason. Perhaps it's a quick fix for you as I have just opted to put a reboot task for now?
Main changes:

ansible/main/playbooks/cluster-prepare.yaml: Modified the cluster-prepare.yaml playbook. (ansible/main/playbooks/cluster-prepare.yaml)

Looks like I might have deleted that by mistake, thanks for the fix!

I guess you have me for QA for now considering how often I am nuking my cluster 🤣

I can probably move that handler to the helm operator task. The task isn't that important but I like being able to disable the k3s helm controller after I'm done with it.

Looks like the Ansible team won't budge on this https://github.com/ansible/ansible/issues/20493#issuecomment-1324295290
I have made the proper changes here: https://github.com/onedr0p/home-ops/commit/a782d7b008701258779ae5358f1f20af2b1674cd

I can probably move that handler to the helm operator task. The task isn't that important but I like being able to disable the k3s helm controller after I'm done with it.

I noticed that it is critical that k3s restarts for the containerd tmpl to apply successfully. When I first discovered this handler issue, it was actually due to my own azwi.yaml task failing to run, thus ending the entire cluster-installation.yaml without a restart to k3s services (I dropped your handler and notifies).  Spegel ends up having a hissy fit, the tmpl is gone and never applies its updates.  Maybe it is worthwhile creating a task for Spegel so it can have its own handler?

Spegel ends up having a hissy fit, the tmpl is gone and never applies its updates. Maybe it is worthwhile creating a task for Spegel so it can have its own handler?

I am not too keen on maintaining this too much as k3s will have embedded support for spegel in the near future. But if it's longer than the "near future" I can circle back on it.
https://github.com/k3s-io/k3s/pull/8977


Unable to retrieve Client Secret

Target SharePoint environment
SharePoint Online
What SharePoint development model, framework, SDK or API is this about?
💥 SharePoint Framework
Developer environment
None
What browser(s) / client(s) have you tested

[ ] 💥 Internet Explorer
[ ] 💥 Microsoft Edge
[ ] 💥 Google Chrome
[ ] 💥 FireFox
[ ] 💥 Safari
[ ] mobile (iOS/iPadOS)
[ ] mobile (Android)
[ ] not applicable
[ ] other (enter in the "Additional environment details" area below)

Additional environment details

all

Describe the bug / error
Across our customer tenancies, I've seen the new Entra App Registration manifest functions appear recently, where we have "Microsoft Graph App Manifest (New)" alongside "AAD Graph App Manifest (Deprecating Soon)".   This seems related to issues with registering SPFx application API access when the SPFx app is making calls to Entra ID protected APIs.
The first issue is when approving Graph API access requests, they don't "stick" to the SPFx helper principal, but just disappear, but our app seems to work fine anyway.  Non Graph requests such as user_impersonation for our own app do stick.
However, calls to our APIs fail with "Unable to retrieve Client Secret" - I think it's related to MSAL v3 and the new token retrieval.
The fix was to delete the sensible looking client secret for the SPFx principal, e.g.
"ClientSecret-4d755061-e97f-471b-8afa-2a"
and go back to the SharePoint API management page and reload, when it creates the new weird broken looking secret I've seen across other tenancies:
"Ö{X!Å'I¹Ngãü"
and then things work as normal.
Steps to reproduce
Register an SPFx with a manifest that specifies the scope of an Entra ID application that will be used to access an Entra ID protected API
Expected behavior

The correct client secret to be generated for the SPFx helper principal

One of our clients are getting the same network error - "Unable to retrieve Client Secret", when hitting _api/Microsoft.SharePoint.Internal.ClientSideComponent.Token.AcquireOBOToken endpoint.
We have an custom SPFx app deployed in their tenant which requires access to a few Graph permissions (User.Read.All, GroupMember.Read.All etc..). API access requests to these permissions have been approved.

Our current work around is to delete the client secret for the spfx helper that starts clientsecret- and reload the SharePoint API management page.  This creates a new secret with a scrambled name.
However the acquireOBOTokeb then fails with a generic error.
Go back to the API management page and reload.  It then creates the second secret starting clientsecret-
Our calls then work.
Spfxhelper creation is still broken.  Deleting it used to create all this stuff correctly, but now it's just broken


getting error at the time of gulp build ('ngc' errored after 59 ms)

Environment
Please provide as many details as you can:

Hosting type

[x] Form.io
[ ] Local deployment

Version: 4.10.0-rc.5

Formio.js version:^4.12.0-rc.13
Frontend framework: angular
Browser: chrome
Browser version:

Steps to Reproduce

git clone https://github.com/formio/angular-formio.git
npm install
gulp build

Expected behavior
project should get build properly
Observed behavior
[17:41:33] Starting 'build'...
[17:41:33] Starting 'clean'...
[17:41:33] Starting 'clean:dist'...
[17:41:33] Starting 'clean:tmp'...
[17:41:33] Starting 'clean:build'...
[17:41:33] Finished 'clean:dist' after 2.56 ms
[17:41:33] Finished 'clean:build' after 3.44 ms
[17:41:33] Finished 'clean:tmp' after 21 ms
[17:41:33] Finished 'clean' after 22 ms
[17:41:33] Starting 'compile'...
[17:41:33] Starting 'clean:dist'...
[17:41:33] Finished 'clean:dist' after 226 μs
[17:41:33] Starting 'copy:source'...
[17:41:33] Finished 'copy:source' after 213 ms
[17:41:33] Starting 'formio:all'...
[17:41:33] Starting 'styles-formio'...
[17:41:33] Starting 'styles-builder'...
[17:41:33] Starting 'formio-css'...
[17:41:33] Starting 'builder-css'...
[17:41:34] Finished 'formio-css' after 247 ms
[17:41:34] Finished 'styles-builder' after 248 ms
[17:41:34] Finished 'builder-css' after 248 ms
[17:41:34] Finished 'styles-formio' after 249 ms
[17:41:34] Finished 'formio:all' after 249 ms
[17:41:34] Starting 'inline-resources'...
[17:41:34] Finished 'inline-resources' after 41 ms
[17:41:34] Starting 'ngc:all'...
[17:41:34] Starting 'ngc'...
[17:41:34] Starting 'ngc-angular'...
[17:41:34] Starting 'ngc-auth'...
[17:41:34] Starting 'ngc-auth-angular'...
[17:41:34] Starting 'ngc-manager'...
[17:41:34] Starting 'ngc-manager-angular'...
[17:41:34] Starting 'ngc-grid'...
[17:41:34] Starting 'ngc-grid-angular'...
[17:41:34] Starting 'ngc-resource'...
[17:41:34] Starting 'ngc-resource-angular'...
[17:41:34] 'ngc' errored after 59 ms
[17:41:34] Error: spawn ngc ENOENT
at Process.ChildProcess._handle.onexit (internal/child_process.js:240:19)
at onErrorNT (internal/child_process.js:415:16)
at process._tickCallback (internal/process/next_tick.js:63:19)
[17:41:34] 'ngc:all' errored after 60 ms
[17:41:34] 'compile' errored after 565 ms
[17:41:34] 'build' errored after 589 ms
[17:41:34] The following tasks did not complete: ngc-angular, ngc-auth, ngc-auth-angular, ngc-manager, ngc-manager-angular, ngc-grid, ngc-grid-angular, ngc-resource, ngc-resource-angular
[17:41:34] Did you forget to signal async completion?
Example
If possible, please provide a screenshot, live example (via JSFiddle or similar), and/or example code to help demonstrate the issue.
For code or form JSON, please enclose in a code block:
// your code here

I believe this is caused by an upgrade to Angular 10. We are working on updating this library to the latest version, but do not have that yet.

Closing this thread as it is outdated. Please re-open if it is still relevant. Thank you for your contribution!


Add flags to include/exclude specific features

In crates where I'm supporting older Rust versions, it's frequently the case that some of the features will only work on more recent Rust. So in order to use cargo all-features, I would need a way to list which features are actually expected to work for the Rust that I'm currently testing.
Another case is that many crates have features like "unstable" that would only be expected to work when using a nightly toolchain. That would need to be excluded when testing all stable features.

Sounds good to me. I won't be able to get to this, so if someone wants to work on it, go ahead! Once you open a PR, I can review + merge + release

Sounds good to me. I won't be able to get to this, so if someone wants to work on it, go ahead! Once you open a PR, I can review + merge + release

You said here that you want to keep the flags the same as cargo, so maybe something like this?
cargo all-features <ALL_FEATURES_ARGUMENTS> [-- <CARGO_ARGUMENTS>]
Or this?
cargo all-features <CARGO_COMMAND> [ALL_FEATURES_ARGUMENTS] [-- <CARGO_ARGUMENTS>]


Re-enable notification support

This still needs a bit of work. We'll need to remove the part of the settings menu that says "coming soon!" for notifications, and perhaps offer a configurable interval for our refresh rate.
As you've noted, the refresh rate is really more of a suggestion than anything else, but this is all we have available to us. Better than nothing, right?

This is great stuff. As always. :D
Some suggestions I will make in a new issue, we should look into onboarding and implement the actual setting in Settings > General!


#158423707 Add drivers expanded ride view

What does this PR do?

Adds a drivers view of an expanded ride offer's details.

A driver shuold be able to view all the details associated with that particular ride offer, with an option to accept or reject requests from passengers.

A driver should also be able to close down the ride offer at will (E.g When he is at full capacity)

Description of Task to be completed?

Building (without functionality), the UI elements with HTML&CSS.

How the app should be tested
On a webbrowser:

Download the repo
Extract and navigate into the Ride-My-Way folder
in the UI folder, open expanded_ride_driver.html on a browser

On a  terminal (Linux):

Install and set up git sudo apt install git

Clone the repository git clone https://github.com/artorious/Ride-My-Way.git

Run git checkout ft-drivers-expanded-ride-#158423707

Run cd Ride-My-Way/UI/

Open expanded_ride_driver.html on a browser

Any background context you want to provide?
The UI has no functionality.
Developed using HTML and CSS
What are the relevant pivotal tracker stories?
#158423707
Screenshots

Questions:

The code is okay and design is good

Great idea to have the status as a dropdown and if I may suggest white text color could be better on the black backgrounds

Same observations as @xcixo has made. Also, what would be the effect if you reduce the width of the labels for ride details? Try and see whether it becomes more user friendly

Hi @xcixor and @meshack-mbuvi
I've increased the font size on the select buttons and changed color to white
@meshack-mbuvi please add color on user-friendly

It looks good. Though you can consider reducing the amount of black color.You can have black color occupying atmost 30% of your design

@artorious Consider improving the look and feel of this page. There is a lot going on in terms especially of the background colours. Is it possible to have a more consistent feel?
Curious question: what is the inspiration behind where the status drop-down appears?

@meshack-mbuvi @rethes @xcixor @JoshuaOndieki @LWanjiru Thank you for your input and direction. I have toned down the black-heavy look of the page, I now realize that it was distracting from the content. I've also moved the Ride status selector to a more practical and suited position.


What's wrong with a 91 days PAT?!

In the page there are two separate sections, one for a "90-day token" and one for "Create a token that lasts longer than 90 days" but it is totally unclear:

Why is it different?
What is different AT ALL?

In the first one, the "90 days one" there is nothing that indicates that the token cannot last more than 90 days. When you create the PAT you can choose who long you want it to last, up to 360 days. Towards the user there is nothing different from a PAT that lasts 90 days, 91 days or 92 days. In this page it is totally confusing why those should be treated differently.
It should be at least pointed out what is different between a PAT of 90 days and a PAT of 91 days. Why do we need to configure them differently?
Furthermore, in the Azure DevOps Artifacts => Feed screen shot where it shows how to configure the .npmrc file it does not point either any difference between a 90 days PAT and a 91 days PAT, but in this page it does? Totally confusing to me.

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

ID: cb7c2ab6-4ba1-51d5-96bb-38a9ab6b50c3
Version Independent ID: 415de875-ba1b-476b-f08b-1a61dc7a2747
Content: Set up your client's npmrc - Azure Artifacts
Content Source: docs/artifacts/npm/npmrc.md
Product: devops
Technology: devops-artifacts
GitHub Login: @ramiMSFT
Microsoft Alias: rabououn

@JoseFMP Thank you for your feedback. I agree it was confusing. The default PAT expires after 30 days and it can be extended. The second "method" was showing another way of converting the PAT to base64. I updated the article to remove the confusion. The updated version will go live shortly.


Update test guide

Pull Request Test Coverage Report for Build 640

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 78.268%

Totals

Change from base Build 632:
0.0%

Covered Lines:
1898

Relevant Lines:
2425

💛  - Coveralls


Automatic Homebrew formula update broken

See https://github.com/mislav/bump-homebrew-formula-action/issues/52
The first failed build is https://github.com/rbenv/ruby-build/actions/runs/5205365492/jobs/9390735532 (FYI @hsbt)
All builds: https://github.com/rbenv/ruby-build/actions/workflows/release.yml
Until it's fixed, we should manually create a PRs to https://github.com/Homebrew/homebrew-core when releasing, similar to this PR: https://github.com/Homebrew/homebrew-core/pull/130837

oh, Thanks. I didn't notice it.

Might have been a GitHub API glitch. Let's keep an eye out around the next release.

I added the workflow scope to the PAT that is used for opening the Homebrew PR. That should fix the issue! https://github.com/mislav/bump-homebrew-formula-action/issues/52#issuecomment-1600697372


Send email to owner and admin once payment is successful

Notion Card
Notion Card
Description
Send an email to the owner and admin of the company once the payment is successful.
Preview
https://user-images.githubusercontent.com/57438322/229429720-a5036b16-5ee3-4bb9-8c19-be11c52d1b2b.mp4

@vipulnsward @prasanthchaduvula I've made the requested changes. Please review.

@apoorv1316 please verify

@apoorv1316 The reason for that is that the payment intent is not present when you directly access the page. For testing the payment success mail you need to comment out the code checking the payment intent from the payments controller in the internal API folder.

@prasanthchaduvula I've made the requested changes. Please review.


WIP: Operator bundle support

Maintainers will complete the following section:

[ ] Commit messages are descriptive enough
[ ] "Signed-off-by:" line is present in each commit
[ ] Code coverage from testing does not decrease and new code is covered
[ ] JSON/YAML configuration changes are updated in the relevant schema
[ ] Changes to metadata also update the documentation for the metadata
[ ] Pull request includes link to an osbs-docs PR for user documentation updates
[ ] New feature can be disabled from a configuration file

Depends on https://github.com/containerbuildsystem/osbs-client/pull/939

mutual exclusivity appregistry vs bundle

I'm not sure where to put this check, it should happen early because we don;t want to pull everything and then fail. I feel this may be a new plugin right after reading reactor config. Or maybe this can be part of pre_pin_digest_plugin

Release notes:

Support for operator bundles defined with com.redhat.delivery.operator.bundle label has been added


#151991576 Update README with status badges

What does this PR do?
Add status badges from Travis CI, Coveralls.io, and Codacy to project
Description of Task to be completed?
Setup automatic builds by Travis CI, coverage reporting from coveralls.io, and code quality inspection from Codacy
How should this be manually tested?
Click each badge on the README file of the repo and confirm that the links lead to the respective third party sites with correct information on the project
Any background context you want to provide?
None
What are the relevant pivotal tracker stories?
#151991576 .
#151991421
Screenshots (if appropriate)
Questions:

Changes Unknown when pulling 8d7eaff8460e784f614b1ec964c6645954197fac on ch-status-badges-151991576 into ** on develop**.

Changes Unknown when pulling 8d7eaff8460e784f614b1ec964c6645954197fac on ch-status-badges-151991576 into ** on develop**.

Changes Unknown when pulling 8d7eaff8460e784f614b1ec964c6645954197fac on ch-status-badges-151991576 into ** on develop**.

Changes Unknown when pulling 8d7eaff8460e784f614b1ec964c6645954197fac on ch-status-badges-151991576 into ** on develop**.

Changes Unknown when pulling 8d7eaff8460e784f614b1ec964c6645954197fac on ch-status-badges-151991576 into ** on develop**.

Changes Unknown when pulling c9c8038026d5063e32b21aca99f0d91c995d8bf4 on ch-status-badges-151991576 into ** on develop**.

Changes Unknown when pulling b7ff457a5236eb9b916b3b4456a5313645ca179b on ch-status-badges-151991576 into ** on develop**.


v4 Context API Docs

PR for #4134

@SimeonC seems like there might be a few additions? getState, onMatch, subscribe

It seems that history is not exposed on context anymore.

I'm afraid this PR is a bit out-dated. v4 is settling down now, so you'll have much better luck getting something merged if you take a look at the current code.

Thanks for letting me know, I'll look at it when I can.


.net framework support

Hi,
is there a reason why we cant use DNNE if we are targeting .net 48? Basically the step to migrate a big app is to remove C++ CLI so it would be convenient to use DNNE to create the wrapper headers
thanks

is there a reason why we cant use DNNE if we are targeting .net 48?

@jmecosta DNNE is focused on .NET Core because the hosting API is substantially easier to work with in C and the resulting scenarios are simply optimized for better in .NET Core (For example, UnmanagedCallersOnly). This isn't to say DNNE couldn't be imbued with support for .NET Framework, it absolutely could.
You mentioned C++/CLI and that means you've increased the priority of this request. I'd really like to discuss this more to understand your needs. if you are willing, feel free to email me directly, my microsoft.com email is in my github profile. I'd be very interested in talking offline about your needs.

/cc @elinor-fung @jkoritzinsky

@AaronRobinsonMSFT  thanks. So basically our end goal is to target net5.0 since we are on a journey of making components able to run on linux/cloud. However we must remain backwards compatible for the time being so we dont break all our clients plugins and applications. So we, for a while will target what we can on .net standard and .net framework.
Our biggest problem is C++ / CLI we have  it everywhere and the only way i see this going forward is totally removing it and use something that can make our life as easier as the c++ cli.  DNNE sound a nice way of doing for doing the interop.
So we want to use it to help us get rid of the c++ cli and finally have native and manage stack that can be run both on net6.0 and net6.0 windows.
Let me know if can clarify it further, thanks... Or if you have some other alternatives those would be great...

Our biggest problem is C++ / CLI we have it everywhere and the only way i see this going forward is totally removing it and use something that can make our life as easier as the c++ cli. DNNE sound a nice way of doing for doing the interop.

Agree on this perspective. DNNE can help a lot here.

So we want to use it to help us get rid of the c++ cli and finally have native and manage stack that can be run both on net6.0 and net6.0 windows.

Perfect. I am onboard. What is your timeframe for this work? I would need to figure out some time to slot this work into my schedule.

Well, actually we need it already yesterday 😅. Luckily we have week
holidays coming up so nothing will move forward.  In about a month we will
have a update on how the work is going would be nice by then to have a full
picture of the work need and what we will use going forward
By the way I was checking to code out, isn't the work need only to add a
few more msbuild conditions? The tool that creates the header files can
still stay .net right?
On Fri, Feb 17, 2023, 21:55 Aaron Robinson @.***> wrote:

Our biggest problem is C++ / CLI we have it everywhere and the only way i
see this going forward is totally removing it and use something that can
make our life as easier as the c++ cli. DNNE sound a nice way of doing for
doing the interop.
Agree on this perspective. DNNE can help a lot here.
So we want to use it to help us get rid of the c++ cli and finally have
native and manage stack that can be run both on net6.0 and net6.0 windows.
Perfect. I am onboard. What is your timeframe for this work? I would need
to figure out some time to slot this work into my schedule.
—
Reply to this email directly, view it on GitHub
https://github.com/AaronRobinsonMSFT/DNNE/issues/151#issuecomment-1435166824,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH6HSCLIMYGK7KFAKHVLYTWX7JTBANCNFSM6AAAAAAU7PYQUY
.
You are receiving this because you were mentioned.Message ID:
@.***>

By the way I was checking to code out, isn't the work need only to add a
few more msbuild conditions? The tool that creates the header files can
still stay .net right?

A few MSBuild things need to be updated, but the real logic that needs to change is in platform.c. The MSBuild side is going to be annoying because we need to thread the needle of making sure when "net472", "net48" or another .NET Framework is targeted the proper flags are passed.
I actually have been working on this for about an hour and the new "platform" native code is working as expected. Now all I need to do is ensure it can be chained into the MSBuild logic and add some tests - that is the part I am most worried about. Basically, I would say within a few days I should be able to have a solution working. A few questions:

Are you okay with declaring and marking appropriate functions as described here. Defining a new Delegate won't be needed.

What style of project is being used? I assume SDK and defining TargetFramework, please confirm.

What version of .NET Framework is your project targeting? I am asking because I plan to only provide support for .NET Framework 4.x.

@jmecosta I was able to make this work without a ton of effort. Testing is a bit sparse, but it compiles and I've tested it locally for .NET v4. The branch is pushed up if you liked to try it out - https://github.com/AaronRobinsonMSFT/DNNE/tree/v2.
I'm about to push up the final release of version 1, 1.1 and then branch to 2. Only version 2 will have support for .NET Framework.

Hello,
In the sample project you have:
public class Exports
{
#if NETFRAMEWORK
    [DNNE.Export(EntryPoint = "FancyName")]
#else
    [UnmanagedCallersOnly(EntryPoint = "FancyName")]
#endif // !NETFRAMEWORK
    public static int MyExport(int a)
    {
        return a;
    }
}

For net4.x the attribute is DNNE.Export. For net6.0 the attribute is UnmanagedCallersOnly.
Is it possible to define the UnmanagedCallersOnly attribute for net 4.x?
Something like that:
#if NETFRAMEWORK
namespace System.Runtime.InteropServices
{
    [AttributeUsage(AttributeTargets.Method, Inherited = false)]
    public sealed class UnmanagedCallersOnlyAttribute : Attribute
    {
        public UnmanagedCallersOnlyAttribute()
        {
        }

        public Type[]? CallConvs;

        public string? EntryPoint;
    }
}
#endif

This way we could have the same attribute for both net4.0 and net6.0:
public class Exports
{
    [UnmanagedCallersOnly(EntryPoint = "FancyName")]
    public static int MyExport(int a)
    {
        return a;
    }
}

Is it possible?

Is it possible?

It is possible, but I wouldn't advise it because in .NET 6, the UnmanagedCallersOnlyAttribute type has a lot of semantic meaning and I'd like to avoid confusing the behavior with what is going on in .NET Framework. Right now, it wouldn't work due to the source generated, via dnne-gen, and the implementation of get_fast_callable_managed_function() in platform_v4.cpp. Either dnne-gen would need to change for .NET Framework or get_fast_callable_managed_function() would need to be implemented. The former isn't something I think is a good idea and the latter is lying because both get_fast_callable_managed_function() and get_callable_managed_function() would return the same thing.
From a ease of use perspective I get the desire. I'm simply leery of asking people to define a .NET 6+ type that when used in .NET 6 has profoundly different behavior than it would on .NET Framework.

Thank you for the answer.
To date my projects where I export a function are targeting net48. So I don't have to use both attributes.
In the future when I will eventually upgrading these projects to net6.0, I will eventually multitargetting net6.0 and net48 to be backward compatible.
For projects targetting net6.0 only I will use the UnmanagedCallersOnly attribute.
For projects targettting net4.8 only I will use the DNNE.Export attribute.
For projects targetting net6.0 and net48 I will use both attributes.
Having to use 2 different attributes when multitargetting is not a big problem for me.
Thank you very much for this great project.

On Sun, Feb 19, 2023, 04:12 Aaron Robinson @.***> wrote:

By the way I was checking to code out, isn't the work need only to add a
few more msbuild conditions? The tool that creates the header files can
still stay .net right?
A few MSBuild things need to be updated, but the real logic that needs to
change is in platform.c
https://github.com/AaronRobinsonMSFT/DNNE/blob/master/src/platform/platform.c.
The MSBuild side is going to be annoying because we need to thread the
needle of making sure when "net472", "net48" or another .NET Framework is
targeted the proper flags are passed.

I actually have been working on this for about an hour and the new

"platform" native code is working as expected. Now all I need to do is
ensure it can be chained into the MSBuild logic and add some tests -
that is the part I am most worried about. Basically, I would say within a
few days I should be able to have a solution working. A few questions:

Actually it would be ok also if you let customers do the msbuild logic.
That is it might not be a good idea to let a msbuild task handle this. We
might want to do the generation in a custom target before all the build. So
if you have a command line tool and some arguments that would be useful also

Are you okay with declaring and marking appropriate functions as
described here
https://github.com/AaronRobinsonMSFT/DNNE#experimental-attribute.
Defining a new Delegate won't be needed.
Should be ok. How about types? For example lists? We have some logic in
the c++ cli that converts list to vector.

What style of project is being used? I assume SDK and defining
TargetFramework
https://learn.microsoft.com/dotnet/standard/frameworks, please
confirm.
Yep. And u probably should support only sdk. Migration to it is simple
enough

What version of .NET Framework is your project targeting? I am asking
because I plan to only provide support for .NET Framework 4.x.
Yep 40 and above.

—
Reply to this email directly, view it on GitHub
https://github.com/AaronRobinsonMSFT/DNNE/issues/151#issuecomment-1435818442,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH6HSEEZTVR7V33Q6UBNETWYF6Q3ANCNFSM6AAAAAAU7PYQUY
.
You are receiving this because you were mentioned.Message ID:
@.***>

On Sun, Feb 19, 2023, 14:48 Jérémy Ansel @.***> wrote:

Hello,
In the sample project you have:
public class Exports
{
#if NETFRAMEWORK
[DNNE.Export(EntryPoint = "FancyName")]
#else
[UnmanagedCallersOnly(EntryPoint = "FancyName")]
#endif // !NETFRAMEWORK
public static int MyExport(int a)
{
return a;
}
}
For net4.x the attribute is DNNE.Export. For net6.0 the attribute is
UnmanagedCallersOnly.
Is it possible to define the UnmanagedCallersOnly attribute for net 4.x?
Something like that:
#if NETFRAMEWORKnamespace System.Runtime.InteropServices
{
[AttributeUsage(AttributeTargets.Method, Inherited = false)]
public sealed class UnmanagedCallersOnlyAttribute : Attribute
{
public UnmanagedCallersOnlyAttribute()
{
}
    public Type[]? CallConvs;

    public string? EntryPoint;
}

}
#endif
This way we could have the same attribute for both net4.0 and net6.0:
public class Exports
{
[UnmanagedCallersOnly(EntryPoint = "FancyName")]
public static int MyExport(int a)
{
return a;
}
}
Is it possible?

Yep i  an put the type in a lower level library so we don't if Def stuff
all over the place.

—
Reply to this email directly, view it on GitHub
https://github.com/AaronRobinsonMSFT/DNNE/issues/151#issuecomment-1435980326,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH6HSGGOMGOFFI4JEDCPFLWYIJDLANCNFSM6AAAAAAU7PYQUY
.
 Thank you a lot.
On Sun, Feb 19, 2023, 08:44 Aaron Robinson @.***> wrote:

@jmecosta https://github.com/jmecosta I was able to make this work
without a ton of effort. Testing is a bit sparse, but it compiles and I've
tested it locally for .NET v4. The branch is pushed up if you liked to try
it out - https://github.com/AaronRobinsonMSFT/DNNE/tree/v2.
I'm about to push up the final release of version 1, 1.1 and then branch
to 2. Only version 2 will have support for .NET Framework.
—
Reply to this email directly, view it on GitHub
https://github.com/AaronRobinsonMSFT/DNNE/issues/151#issuecomment-1435907140,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH6HSBO7GHFQND36EE6QRTWYG6NPANCNFSM6AAAAAAU7PYQUY
.
You are receiving this because you were mentioned.Message ID:
@.***>

Should be ok. How about types? For example lists? We have some logic in
the c++ cli that converts list to vector.

This will need to be done manually. DNNE is about providing the lightest weight export possible. This means only types that can naturally be expressed in C can be arguments for an export. See the readme.md for further details.

Hi. Do you think this could work on Linux as well?
I was trying to target the framework 4.7.2 using the examples but without success so far.
Thanks!

I was trying to target the framework 4.7.2 using the examples but without success so far.

@david-bouyssie There seems to be a confusion here. .NET Framework is exclusive to Windows. .NET (that is, 5+) is the cross-platform offering for .NET. This support was added for users of DNNE to have a simple native export scenario when targeting .NET Framework without having to use C++/CLI.

@AaronRobinsonMSFT/DNNE @.***>  feel free to close the
ticket. We have a working poc using done. Thank you again
On Tue, May 23, 2023, 20:24 Aaron Robinson @.***> wrote:

I was trying to target the framework 4.7.2 using the examples but without
success so far.
@david-bouyssie https://github.com/david-bouyssie There seems to be a
confusion here. .NET Framework is exclusive to Windows. .NET (that is, 5+)
is the cross-platform offering for .NET. This support was added for users
of DNNE to have a simple native export scenario when targeting .NET
Framework without having to use C++/CLI.
—
Reply to this email directly, view it on GitHub
https://github.com/AaronRobinsonMSFT/DNNE/issues/151#issuecomment-1559861719,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH6HSDHVEOK3ASZR4GF4KTXHTXENANCNFSM6AAAAAAU7PYQUY
.
You are receiving this because you were mentioned.Message ID:
@.***>

@AaronRobinsonMSFT thank you for your quick reply
Well I have some assemblies targeting based on net472 and I would like to use them from Linux through a DNNE wrapper.
Do you think that should be feasible?
Currently I'm using embeddinator-4000 and Mono but I would like to get rid of this.
I was currently investigating this
https://andrewlock.net/using-reference-assemblies-to-build-net-framework-libararies-on-linux-without-mono/
But was not successful so far.

Well I have some assemblies targeting net472 and I would like to use them from Linux through a DNNE wrapper.

The best approach here is to retarget your assemblies to netstandard2.0. These libraries can then be used running on .NET Framework 4.7.2 or .NET 6+.
If you have further questions please open a new issue and reference this one if needed. Thanks.


PSQL - /api/user/login is always returning localUser=false

if user authenticated via ldap, localUser should be false
if user authenticated via the database, localUser should be true
seems to be always returning false.
This is in a postgres environment.

this is no longer happening


Bump governance version.

$subject

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/5829342298

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/5863525047

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/5863525047
Status: failure


Align option on TIP

Currently Tip does not center the placement. The padding in the menu gives a false impression that it centers it.
Tip component needs to be extended with align option.

Opened in wrong repo. Moving to grommet/grommet


Message-box: fix multiple messagebox with duplicate title

Please make sure these boxes are checked before submitting your PR, thank you!

[x] Make sure you follow Element's contributing guide (中文 | English | Español).
[x] Make sure you are merging your commits to dev branch.
[x] Add some descriptions and refer relative issues for you PR.

Fix when multiple messagebox with duplicate title, for-example, the first one has title option, but the second one hasn't, and click the first one then the second one has the first title.
[jsfiddle] (https://jsfiddle.net/maj51e8z/3/)

OK, changed it.


json-rpc support for full node

What was wrong?
light and full nodes had some duplicate implementations, and the full node did not support requests over RPC
How was it fixed?
Not done, but:

unify the light and full node launch code some more
launch the RPC server with the full node (reusing the same logic from the base node implementation)

Some open issues:

shutdown is still ugly on the full node
had to stop using process pool as the default executor, because I couldn't get it to respect the signal handler (also GvR said it was probably a bad idea)
Directly initialized the Chain for use with the RPC server. Is that a bad idea? The ChainProxy didn't really support anything I needed.
probably linting and testing, I was only testing at the shell

Cute Animal Picture

Ok, I think this is ready for another look @pipermerriam . The logs stayed relatively clean, and now both full and light mode supports RPC requests (well, at least eth_getBlock*). I would normally have split this into a few smaller pieces, but I am starting to run out of time before I sign off for a while, and wanted to get this in.


API call is getting copied-

@AnandiKulkarni - this is not reproducible anymore - can you please check once?


Added German language translation.

I added a German translation of the messages shown in the banners.

This is my first pull request. I hope I did everything right. :-/

I don't know German, so I can only guess :p. Thanks!


o-sidebar in nuxt 3 throws error!

when using oruga with nuxt 3, o-input is working fine but o-sidebar throws the followinf error:
Cannot read properties of null (reading 'isCE')
Overview of the problem
Oruga version: 6
Vuejs version: 3
OS/Browser: google chrome

@fahdaddi Could you check again with verion 0.8.x?


Optimize get_columns method in SQLAlchemy (fix #75)

Nice, this looks good to me.
Thanks again @laughingman7743!