Can't use Fields of Science and Technology (OECD)

Describe the bug
When I try to select a value in the Fields of Science and Technology (OECD) of a Person, it will give me an error when saving or filing:
2023-06-30 18:03:36,816 ERROR 3ce6b6ae-a783-44d8-a5fa-f3d91694b9f1 de7e37f2-85d9-41df-9456-01a77600b6c4 org.dspace.app.rest.submit.SubmissionService @ The metadata field "datacite_subject_fos" is not authority controlled but authorities were provided. Values:"[oecd:1.02.01]"
java.lang.IllegalArgumentException: The metadata field "datacite_subject_fos" is not authority controlled but authorities were provided. Values:"[oecd:1.02.01]"
...

To Reproduce
Steps to reproduce the behavior:

Edit a Person.
Select any Fields of Science and Technology (OECD).

I am using cris-2023.01.00.

We can confirm the issue. To fix it, just add
authority.controlled.datacite.subject.fos = true

to your local.cfg.
As this field ( datacite.subject.fos) is part of the default submission form configuration of DSpace CRIS the configuration change should be applied to authority.cfg.

@santilococo, the problem you've mentioned also occurs in the edit project form.

Thanks @saschaszott!

@santilococo , currently there is no PR that fixes the missing configuration in authority.cfg. Since datacite.subject.fos is contained in the default submission forms provided by DS CRIS, the authority configuration should be adapted. Could you please open a PR to fix this or reopen this issue?

associated PR is https://github.com/4Science/DSpace/pull/353
I'm not sure if other authority controlled fields are still missing in authority.cfg.


Fix multipart chunk

In real life after #750 some issues have appeared.

For small requests read_chunks reads all content till EOF, so unread_data should allow to run at eof state.
If last but one chunk is incomplete (len < chunk_size), some bytes are skipped in part content.

LGFM, except linter assertion for tests. Could you fix it?

Fixed.

@tumb1er thanks!


Add support for iMXRT1061 and 1064

The PR adds two new features,

"imxrt1061"
"imxrt1064"

for supporting the 1061 and 1064 MCUs. These should be trivial to support, since they're so similar to the 1062.
Notable differences:

From brief inspection of the data sheet, the 1061 is missing the LCD/CSI/PXP peripherals. We don't have drivers for these peripherals today, so there's no concern. If they were to be added to the 0.4 HAL, we will have the feature flags to selectively enable the drivers.
1064 has 4MB on-board flash connected to FlexSPI2. Given the allocation, the IOMUXC marks the FlexSPI2 registers as "reserved." No problem there, since the imxrt-iomuxc crate doesn't have FlexSPI pin APIs. Only other safe API is available from the RAL, which already handles this difference.

Note that this PR targets the 0.4 branch, and may become the 0.4.3 release. Closes #105.

Fantastic, always great to see new people trying this out


CDAT Migration TODO: Update logic in get_ref_climo_dataset when ref data not available

There is one TODO item in most sets that is we'd like to change the logic when ref data is not available when getting the reference climatology dataset for the variable and season.
The current logic:
If the reference climatatology does not exist or could not be found, it
will be considered a model-only run. For this case the test dataset
is returned as a default value and subsequent metrics calculations will
only be performed on the original test dataset.
When refactor, it has been troublesome, e.g. it would be useful to provide explicit error info for trouble shooting, also it can be easily to use test data as ref by mistake based on my recent experience refactoring.
Reference TODO item logged by @tomvothecoder
        # TODO: This logic was carried over from legacy implementation. It
        # can probably be improved on by setting `ds_ref = None` and not
        # performing unnecessary operations on `ds_ref` for model-only runs,
        # since it is the same as `ds_test`. In addition, returning ds_test
        # makes it difficult for debugging.

I think we perhaps should prioritize this item before more sets are being converted.

Closed by #846


Flutter Web WebRTC running on Mobile

It would be useful for some use cases if WebRTC can run on Mobiles as a Flutter Web.

Allows decoupled application to be built.
Instant updates
Sucky perf though, but Flutter Web compiler is getting better and better.
Sandboxed security and easier for certain Orgs to use.
No Need to sign code.

It seems that the WebView on Mobile  does NOT give access to the required APIS.

SO that rules out using Flutter WebView plugin.

Try out the Flutter Web Webrtc on your IOS device in a browser.

Does it work ?

So what about as a PWA then.

PWA on IOS i have not used.
PWA on Android i have used and google are usign it too. E.g Google Travel and Google Drive so far
It maybe that a PWA on Mobile is using A WebView but its has the rights to do WebRTC !
Flutter Web does compile as a PWA. No problem there.

What about NOT as a PWA ?

Does Flutter Web version run in a browser on Mobile ?

What about Local notifications ?

BUT, it will mean that some things like Local Notifications wont work IF the App is NOT open ?

Flutter sdk moved to:
https://github.com/pion/ion-sdk-flutter
Please make issue there


Emulator Connection Issue

Instructions
VSCode plugin is thinking that emulator and flow.json keys don't match when using latest flow-cli, even though they do match.

Seems to be solved with the latest CLI


Use more opcache & supress PHP warnings

install opcache-modul (should come with php7.0 by default, but to be shure)

create config file
opcache should be reused even after restart of raspi
goto http://phoniebox.local/php/opcache to see status
https://github.com/MiczFlor/RPi-Jukebox-RFID/issues/554

supress PHP warnings and notices https://github.com/MiczFlor/RPi-Jukebox-RFID/issues/378

@RogoTe please resolve those conflicts by either rebasing with MiczFlor's develop branch or by merging that same branch's changes into this one.

@RogoTe, if you resolve the conflicts this PR could be merged.

How should we proceed on this PR?

PR has been dead since quite a while now and stretch isn’t supported anymore, so I’m closing this now. Feel free to reopen it.


Query 'Data Exch. Field Details' is missing in Business Central Symbols

Describe the bug
Query 'Data Exch. Field Details' (1232) is not found in shipped Application Symbols
To Reproduce
Steps and/or AL code to reproduce the behavior:
var
DataExchFieldDetails: Query "Data Exch. Field Details";
not found
Expected behavior
Should be part of symbols.  If I compile Query and download symbols again I am happy.
Screenshots
If applicable, add screenshots to help explain your problem.

Versions:

AL Langauge: 2.1.79379

Business Central: 13.3.27233.0-is

@gunnargestsson was this fixed in subsequent versions? This might have to go to support to track down the root cause.

We have had several object missing in symbols.  But we are going to AL so who cares...


fix: data race warnings

Fixes arf/planning-sdk-squad#2440
Problem
There were several warnings about race conditions (mostly about the tokenData field) when running the unit tests.
Reproduce
go test -tags=all -race
Solution
Introduced "getter" and "setter" functions for the authenticator's tokenData with mutex.

 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.

:tada: This PR is included in version 5.2.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


SB-30236 - Time range filter logic to OnDemandDruidExhaust Job

SB-30236  Time range filter on Program Dashboard

Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Type of change
Please choose appropriate options.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes in the below checkboxes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Ran Test A
[ ] Ran Test B

Test Configuration:

Software versions:
Hardware versions:

Checklist:

[ ] My code follows the style guidelines of this project
[ ] 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
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

@sowmya-dixit Please review and merge the PR

@sowmya-dixit please merge this PR


Customization in OTA flow between IOT device and IOT HUB service

Hi Everyone,
I am working on device update or OTA implementation with azure. Azure has device update feature with IOT hub.
I am utilizing same service for my task.
I want to customized the IOT device update code for OTA operation.
Normally IOT HUB Service initiate the all action(Download, Install, Apply) and based on request device will be acted, once requested action done ,device will update the state to IOT hub service and go ideal state where wait for next action..
I want to add one additional layer or confirmation layer for each action[Download, Install, Apply)] , mean when IOT hub Service request for any action,
device will received as twin properties update. Instead executing the respective process(e.g. downloading the Firmware), device will wait for confirmation/ approval  (which is customization part to be implemented ) from external/manual resource.
Once confirmation/approval received, device will resume with flow and execute the respective process( device will start downloading the firmware and update response to IOT HUB Service).
My Question based on above scenario as follow

Does it possible to implement above follow with current IOT HUB device update implementation from azure.
What will happen if device not reply to IOT  hub service for requested action ? Does it discard the whole OTA process ?
What is time period of waiting for IOT hub service when it request for any action and waiting for reply ? My target to make wait for 30 days and if no approval or confirmation receive the, reply back to IOT hub service with fail/Discard response.
Can I make 30 days waiting period for IOT hub service API response ?

Please answer me as soon as possible. As most of development depend on it.
Regards,
Gaurav Choubey

Yes, it should be straightforward to implement.
In the block of std::thread worker, before calling
Download(workflowId, updateType, info) {

it would first make call to your approval service as per its client/server protocol. For example, it could have long-lived keep-alive connection and block to wait for response, or poll over an interval of time and give up after max time (30 days)
, etc.
If the approval is denied, then download worker thread will need to set ADUC_Result result to an failure ResultCode and a reasonable ExtendedResultCode. e.g.
#define E_APPROVAL_DENIED <some 32-bit number>
{
    -1,
    E_APPROVAL_DENIED
}

It needs to continue calling WorkCompletionCallback so that the state machine can continue it transition to the next state. e.g.
workCompletionData->WorkCompletionCallback(workCompletionData->WorkCompletionToken, result);

What this means for PP Agent is it will send the failure to the cloud for Download UpdateAction and it will show as failed and twin will have extended result code.
For PPR Agent, it will similarly show the entire deployment as failed and twin data will also contain the extended result code.
Exiting early and not transitioning to a final success/fail state and then to Idle will make backend not about device status. For PPR, it will show as in-progress indefinitely and there is no timeout for deployment. It is clearer to allow it to transition to final state so it will show success/failure in portal UX and service operator can see the reason (Approval was denied in this case).
If approved, it would just continue on with the Download() call (and also call WorkCompletionCallback with result of download).

@jw-msft
I have successfully changed the agent with above requirement and its working fine.
Basically i found out the place where code bypass to my customized block of code that do some action and once action fullfilled , i resume agent code by calling same function that should be called in normal flow.
function name is adu_handleaction().


Use "kong" or get service name from env variable or config.

When I use Kong Zipkin plugins, the list of services in tracer dashboard is polluted with many services.
I think, we should to get service name from env variable (ex: KONG_ZIPKIN_PLUGIN_SERVICE_NAME), or add to config or just "kong".

When I use Kong Zipkin plugins, the list of services in tracer dashboard is polluted with many services.

Doesn't it end up being the same as the number of services that you have in Kong?
Why is this a problem? Wouldn't you want to drill down into per-service latencies?

just "kong" at here

We already set "kong" as the 'component'.

Doesn't it end up being the same as the number of services that you have in Kong?
If I use the same service name for spans in Kong service and in my service, it's difficult to get how many spans in Kong, how many spans in my service and their latency.
If I use a service name for spans in Kong service and another in my service, there are many services appearing in the list of services in tracer dashboard, so it's difficult to manage them.

Wouldn't you want to drill down into per-service latencies?
No no, I really want it. But I want more details.

@james-callahan any update on this feature request?


texpresso settings not found

When I go the texpresso extension settings, there is no setting to modify the path to the texpresso binary, making the extension unusable without copying the default extension "/Users/dominik/GitHub/texpresso/build/texpresso"

Your setting for TeXpresso extension is strange

Oh, apparently the issue was resolved after restarting the LaTeX Workshop extension.
Thanks!

Thanks, I should probably not hardcode my username into the extension 😅 Is there any reason to think there would be a path that works for several users?

Probably not unfortunately...
But personally I would've found it helpful if the need to change that setting in the path was made a little more explicit in the README.
My eyes kind of glossed over that part as is haha.


NativeScript drawer not working : " showDrawer() is not a function"

Hey, is it me or the official documentation at docs.telerik.com about the drawer is not right ?
I tried that in my app and it didn't work.
Here is the code i wrotein the ts file.
    toggleDrawer(){
        console.log("RRRR");
       let X = <RadSideDrawer>( frame.topmost().getViewById("drawer"));
        /*console.log(sideDrawer.toggleDrawerState())*/
        /*sideDrawer.toggleDrawerState()*/
        X.showDrawer();
    }

and the XML content
    <drawer:rad-side-drawer id="drawer">
        <drawer:rad-side-drawer.mainContent>

            <grid-layout>
                <slides>
                    <slide class="slide-1">
                        <StackLayout>
                            <GridLayout rows="60" columns="*, *, *" >
                                <Button class="btn btn-primary" col="2" text="Button" (tap)="rr()"></Button>
                            </GridLayout>
                        </StackLayout>
                        <Label text="This is Panel 1"></Label>
                    </slide>
                </slides>
            </grid-layout>

        </drawer:rad-side-drawer.mainContent>
        <drawer:rad-side-drawer.drawerContent>

        </drawer:rad-side-drawer.drawerContent>
    </drawer:rad-side-drawer>

Note i use the nativescript plugin slides, which should not by any means have any problems with the drawer.
so when i try to show the drawer like the docs says i get this error
JS: ERROR TypeError: X.showDrawer is not a function JS: ERROR CONTEXT [object Object]
any ideas if this is a bug or outdated docs ?

@moda20 there are few things to consider.
The above code seems to be for NativeScript Core application (JavaScript or TypeScript) and not for Angular application. If you need to create RadSideDrawer for Angular application see these documentation articles.
Another thing you can check if you got your reference to the side drawer compoennt.
is this portion of code returning the drawer reference.
let X = <RadSideDrawer>( frame.topmost().getViewById("drawer"));
console.log(X);`

You can check how the drawer examples in nativescript-ui=samples are getting reference by id here.
Closing this issue as it seems unrelated to nativescript-angular. Please post drawer related issues in nativescript-ui-feedback repository or in the community channels if they are how-to related.


Code editor

Now first off the code editor works great and there are no problems with it. But when you first click on the code editor there is a button that says Start Creating. but the rest of the screen besides top-bar and docs it is very blank and not much is there. I know this does not really matter just thought it might be nice to add a bit more to that spot. I have no suggestions just always thought it was a little blank in that spot

TODO - Add a loading... Message while pulling the system.js file.


updated Nuget packages to the latest...

@nitrix-reloaded,
Thanks for your contribution.
To ensure that the project team has proper rights to use your work, please complete the Contribution License Agreement at https://cla.microsoft.com.
It will cover your contributions to all Microsoft-managed open source projects.
Thanks,
Microsoft Pull Request Bot

 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: nitrix-reloaded sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Fix Date Filter

Coverage decreased (-0.002%) to 77.656% when pulling 0cc92997b45728af08f99110868ee9189b157a67 on jackyruslymoonlay:dev into 244b2c5ec580f42c73b12e9bfb961259d165bd74 on danliris:dev.


Connection issues

Hi,
when I try to connect to my FAM14 via USB cable I do the scan for serial ports. I seems to recognize that, but in the console I get the following error:
2024-07-24 08:58:08,579 INFO eltakobus.serial Serial communication started
2024-07-24 08:58:08,591 INFO eltakobus.serial Established serial connection to COM3 - baudrate: 9600
2024-07-24 08:58:08,622 INFO eo_man FAM14 detected on serial port COM3,(baudrate: 9600)
2024-07-24 08:58:08,749 INFO eltakobus.serial Serial communication stopped

Nevertheless, I can select COM3 after that in the tool and start the scan, but then the console delivers the following errors and the program hangs after that:
2024-07-24 08:58:22,137 INFO eltakobus.serial Serial communication started
2024-07-24 08:58:22,157 INFO eltakobus.serial Established serial connection to COM3 - baudrate: 57600
2024-07-24 08:58:22,188 INFO eo_man Serial connection established. serial port: COM3, baudrate: 57600
2024-07-24 08:58:23,229 ERROR eo_man Failed to load FAM14!!!
2024-07-24 08:58:23,248 ERROR root Failed to load FAM14!!!
Traceback (most recent call last):
  File "C:\Users\RA_2142\.venv\Lib\site-packages\eo_man\controller\serial_controller.py", line 435, in _get_fam14_device_on_bus
    self.current_base_id = await fam14.get_base_id()
                                 ^^^^^^^^^^^^^^^^^
AttributeError: 'BusObject' object has no attribute 'get_base_id'
Exception in thread Thread-6 (run):
Traceback (most recent call last):
  File "C:\Python312\Lib\threading.py", line 1052, in _bootstrap_inner
    self.run()
  File "C:\Python312\Lib\threading.py", line 989, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\RA_2142\.venv\Lib\site-packages\eo_man\controller\serial_controller.py", line 236, in run
    asyncio.run( self._get_fam14_device_on_bus() )
  File "C:\Python312\Lib\asyncio\runners.py", line 194, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "C:\Python312\Lib\asyncio\runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python312\Lib\asyncio\base_events.py", line 664, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "C:\Users\RA_2142\.venv\Lib\site-packages\eo_man\controller\serial_controller.py", line 444, in _get_fam14_device_on_bus
    raise e
  File "C:\Users\RA_2142\.venv\Lib\site-packages\eo_man\controller\serial_controller.py", line 435, in _get_fam14_device_on_bus
    self.current_base_id = await fam14.get_base_id()
                                 ^^^^^^^^^^^^^^^^^
AttributeError: 'BusObject' object has no attribute 'get_base_id'

How could that be solved?
I also checked the connection and the device readout with the PCT14 tool and that worked perfectly.
Thanks

Can you try again with the current Version?


continued session DoS recovery

By allowing sessions to survive beyond the lifetime of a connection we're creating a possible DoS scenario. The general flow would go something like:

create connection
create session
save session
goto 2 until TPM runs out of sessions
close connection

At the end of this no other connection will be able to create sessions.
One possible mitigation would be limiting the number of sessions a connection can open. Circumventing this will only require the attacker be able to create new connections / processes. So some sane maximums on the number of sessions per connection is a necessary but not sufficient to prevent a DoS. We'll also need a mechanism to allow an administrator to flush all abandoned sessions as a way to recover the system

@flihp did you see my comment here?
The relevant part for this discussion is:

On a TPM2_StartAuthSession() command, it could be that the TPM doesn't have a free handle to assign to a session. In this case, the TPM can either return a TPM_RC_SESSION_HANDLES or TPM_RC_SESSION_MEMORY response code. In case of the former, the resource manager is supposed to flush a session and in case of the latter, it's supposed to flush a transient object.

I can think of a design on which objects are flushed (since these can always be loaded) but sessions are kept active. If the resource manager gets a TPM_RC_SESSION_HANDLES, then it can do some cleanup and retry the command. For example it may use a LRU algorithm to remove old/stale sessions. That way resource exhaustion won't happen.
AFAICT neither the tpm2-abrmd nor the kernel resource manager handle these response codes currently.

I did see the thread, didn't see these specifics. Thanks for pull that over here. LRU algorithms like this sounds reasonable. Do you think that this could turn the DoS into a race if misbehaving process(es) just do a bit of work to keep their sessions more active than another user?
I guess in this case 'active' doesn't mean 'used'. Really it's a measure of the time between when a continued session was saved to when the resource limit is exceeded. If we limit the logic to cover only 'continued' sessions then it sounds safe enough to me.

I did see the thread, didn't see these specifics. Thanks for pulling that over here. LRU algorithms like this sounds reasonable. Do you think that this could turn the DoS into a race if misbehaving process(es) just do a bit of work to keep their sessions more active than another user?

To be honest I didn't give too much thought to this. More than my suggestion on the implementation details (I was mostly thinking aloud in that thread), I wanted to point out the TPM_RC_SESSION_HANDLES response code in case it may be useful for your DoS prevention code.

No worries @martinezjavier, I'm "shooting from the hip" here as well. I like the LRU method since it doesn't require any admin intervention or additional plumbing like an external command to trigger flushing would. I'll prototype something up and see how complicated it gets :smile:

@flihp I think that confuses me is that in your mentioned DoS scenario as well as the integration test in PR #195, you talk about saved sessions. But IIUC the issue, then is not only about saved sessions but created sessions.
In other words, sessions should remain "alive" (a.k.a not flushed) regardless if were saved or not. So sessions should only be flushed when:

An explicit call to TPM2_FlushContext passing a flushHandler to flush.
A command that has a TPM_ST_SESSIONS tag and the session continueSession attribute CLEAR.
The TPM2 returning TPM_RC_SESSION_HANDLES when a sessions is attempt to be created with TPM2_StartAuthSession (is still not clear to me how to choose the correct old session to flush, this seems like the kernel out-of-memory killer... where you could get unpleasant surprises).

So you should extend not only to check if a previous saved session context can be saved but also if the handle of a previous (not saved) sessions could be used.

I like the LRU method since it doesn't require any admin intervention or additional plumbing like an external command to trigger flushing would. I'll prototype something up and see how complicated it gets

Great, I'll try to do a review once you have it. I'm very far from being an expert on this, but I've read so many times the context management part of the spec that I hope I could be of any help :smile:

Wouldn't the DoS scenario already exist if I have a client that just stays connected and creates MAX sessions?

responding to comment from @martinezjavier: https://github.com/01org/tpm2-abrmd/issues/200#issuecomment-333682494
Sounds like the approach you suggest sort of flips the logic around a bit: Instead of requiring a connection to explicitly save a session for it to be 'continued' you're suggesting instead that we continue all sessions from a context unless they've been explicitly flushed by the connection owner? Do I have that right?
The problem that I have with this approach is that we're not saving users any work on the common case. The common case being: A connection creates sessions, uses them and then closes down the connection w/o flushing said context. I think what we'd see with this approach is every session being abandoned by a connection when it's closed (no one wants to clean up after themselves) but never being continued by another connection. The LRU algorithm or something similar when implemented would clean this up but we'd eventuaully end up in the situation where every new session created would require cleaning out an old session which I'm not wild about.
Also this would allow any connection that comes along after an earlier connection is closed to take over a session by guessing the handle. I'd much rather a connection need to be in possession of the context blob in order to continue a session. This requires that the context blob be passed to the holder of this new connection explicitly. This will allow any number of access control things be used to constrain the mechanism used to pass the blob. SELinux would be useful here maybe?

replying to comment from @williamcroberts: https://github.com/01org/tpm2-abrmd/issues/200#issuecomment-333927834
Currently we don't implement restrictions on session creation. So there's a DoS potential there flat out. I think this is a separate issue though and one that can be resolved using a similar approach as the limits we do place on transient objects. If there's a fixed number of sessions that the TPM can have saved at a time (~64?) then we can make sure we're under this limit through a combination of connection limits and limits on sessions per connection.

@flihp I'm just saying that the DoS issues already exists, and this really doesn't compound that issue very much.

Sounds like the approach you suggest sort of flips the logic around a bit: Instead of requiring a connection to explicitly save a session for it to be 'continued' you're suggesting instead that we continue all sessions from a context unless they've been explicitly flushed by the connection owner? Do I have that right?

@flihp That's correct.
I didn't find in any part of the specification an explicit relation between the connections and the sessions. It seems to me as if the TPM2 state is somehow independent on how the TCTI layer sends commands to the TPM2.

The problem that I have with this approach is that we're not saving users any work on the common case. The common case being: A connection creates sessions, uses them and then closes down the connection w/o flushing said context. I think what we'd see with this approach is every session being abandoned by a connection when it's closed (no one wants to clean up after themselves) but never being continued by another connection. The LRU algorithm or something similar when implemented would clean this up but we'd eventuaully end up in the situation where every new session created would require cleaning out an old session which I'm not wild about.

Kept in mind that sessions used by commands without the continueSession SET will be flushed automatically. So this is only when the last command explicitly asked for the connection to be alive after the command ends.
Now, if a user needs to do a TPM2_ContextSave() anyways, the continueSession attribute seems to be less useful to me.
It's true though that a user can establish a connection, create a lot of sessions and then close the connection. But to prevent those spammy users, maybe the LRU algorithm could have some heuristics and for example penalize sessions that were created in the same connection but never used or something along those lines?

Also this would allow any connection that comes along after an earlier connection is closed to take over a session by guessing the handle. I'd much rather a connection need to be in possession of the context blob in order to continue a session. This requires that the context blob be passed to the holder of this new connection explicitly. This will allow any number of access control things be used to constrain the mechanism used to pass the blob. SELinux would be useful here maybe?

To be clear, I'm not against only keeping the sessions whose context was saved. I just want this to be a deliberate and documented design decision rather than a consequence of only supporting saved sessions.
If that's the case (and security is a very good point indeed) then we should review the assumptions made currently by the tpm2-tools (which in a way are a reference implementation for people to know how the tpm2-tss should be used).
For example, the tpm2_createpolicy tool has a -e, --extend-policy-session option that prints the session handle, i.e: EXTENDED_POLICY_SESSION_HANDLE: 0x03000000. That's on the assumption that the next command will be able to take that session handle and use it (most tpm2_tools have a -S, --input-session-handle for that).
This worked from the lua shell (or any other execution environment) just because the shell kept the connection open. But it obviously doesn't work from the command shell since a new connection is used for each command.
So if only sessions with saved context are supported, the tools should be modified to:

The tpm2_createpolicy tool not print the session handle but instead do a TPM2_ContextSave().
The tools get a session context instead of a handle and do a TPM2_ContextLoad()
The tools set the session continueSession attribute to SET and do a TPM2_ContextLoad(), since sessions can only be loaded once so the old one created by tpm2_createpolicy will already be invalid.
Have a tpm2_session_flush tool or something that flushes the session when is not needed anymore or the tools have an option to set continueSession attribute to CLEAR.

Thoughts? I don't know if @idesai is following this discussion but it would be very good to have his input since he did most of the session changes in the tpm2-tools.

I'd much rather a connection need to be in possession of the context blob in order to continue a session. This requires that the context blob be passed to the holder of this new connection explicitly. This will allow any number of access control things be used to constrain the mechanism used to pass the blob.

This sounds like the correct approach to me. It may be a little easier to pass around handles instead of blobs, but there is no strong reason not to use blobs. Users are already used to that anyway for object blobs, so doing the same for sessions should not be a problem.

I didn't find in any part of the specification an explicit relation between the connections and the sessions.

There was this quote from the specification "Session contexts MUST be loadable by the same connection that saved them". Allowing also other connections to load those contexts does not seem to contradict the statement.

But to prevent those spammy users, maybe the LRU algorithm could have some heuristics and for example penalize sessions that were created in the same connection but never used or something along those lines?

Whatever algorithm you come up with, there will be someone who intentionally or unintentionally works around it. If you want to prevent DoS attacks, having hard limits/guaranteed resources as suggested by @flihp is the only way.

If there's a fixed number of sessions that the TPM can have saved at a time (~64?) then we can make sure we're under this limit through a combination of connection limits and limits on sessions per connection.

How exactly would this work if you allow session contexts to be loaded by different connections? Then even if you set a limit of one saved session per connection, I could just create 64 connections (not at the same time, but one after the other) and save a session with each connection to exhaust the limit.

This sounds like the correct approach to me. It may be a little easier to pass around handles instead of blobs, but there is no strong reason not to use blobs. Users are already used to that anyway for object blobs, so doing the same for sessions should not be a problem.

@webmeister Yes, I do agree with @flihp and you.
My point was that this isn't what I understood in https://github.com/01org/tpm2-tools/issues/510 from @williamcroberts and @idesai explanations. IIUC they mentioned that the tpm2-abrmd should be modified to keep the sessions alive between connections, even if their contexts have not been saved.
And that's exactly what the tpm2-tools expect, since tpm2_createpolicy prints the session handle and the assumption is that this handle should be passed to the tools. The tools neither have an option to load a saved session context nor save a session context after a command that uses sessions.
So I just asked if restricting to sessions whose context have been saved was a deliberate design decision and if that's the case, to document this and modify the tools accordingly.

There was this quote from the specification "Session contexts MUST be loadable by the same connection that saved them". Allowing also other connections to load those contexts does not seem to contradict the statement.

Right, I read that before but that's for sessions whose contexts have been saved. What I tried to say is that I didn't find a place where says that not saved sessions can't be used by other connections or that not saved sessions should be flushed after a connection closes.
In fact the whole concept of connection isn't properly defined in the specification AFAICT.

How exactly would this work if you allow session contexts to be loaded by different connections? Then even if you set a limit of one saved session per connection, I could just create 64 connections (not at the same time, but one after the other) and save a session with each connection to exhaust the limit.

@webmeister: I'm not entirely sure how this will work. I can't see any real reason to allow a connection to continue more than a single session but as you point out, this just shifts the problem. In any case I think we'll need an administrative interface to flush sessions that have been continued but not claimed by another connection.
In any case it's probably a good idea to document this on the wiki.

What I tried to say is that I didn't find a place where says that not saved sessions can't be used by other connections or that not saved sessions should be flushed after a connection closes.

Found it: "The TAB MUST prevent connections from accessing transient handles or session handles that belong to other connections." (Chapter 3.7 Isolation)
And also: "When the TAB/RM discovers that a connection is shutdown [...]: The RM SHOULD flush any objects, sequences, or sessions owned by the connection" (Chapter 3.12 Connection Shutdown)
Together that makes it pretty clear that sessions should not be shared between multiple connections. If we do support it nonetheless (by passing the session context blobs around), this functionality should probably be off by default, so that a user needs to explicitly enable it (and is then aware of the consequences, e.g. manual recovery, see below).

In any case I think we'll need an administrative interface to flush sessions that have been continued but not claimed by another connection.

Administrative interface in the sense of a manual way for the admin to recover when things break? I cannot really see a way to automatically recover from such a situation without potentially breaking other scenarios.

Found it: "The TAB MUST prevent connections from accessing transient handles or session handles that belong to other connections." (Chapter 3.7 Isolation)
And also: "When the TAB/RM discovers that a connection is shutdown [...]: The RM SHOULD flush any objects, sequences, or sessions owned by the connection" (Chapter 3.12 Connection Shutdown)

@webmeister Thanks a lot for the pointer. This is a document that I still didn't find time to read in detail.

Together that makes it pretty clear that sessions should not be shared between multiple connections. If we do support it nonetheless (by passing the session context blobs around), this functionality should probably be off by default, so that a user needs to explicitly enable it (and is then aware of the consequences, e.g. manual recovery, see below).

Agreed after reading what you shared. And IMHO the tools should be modified to not expect a session handle as I mentioned before.
BTW: I'm on paternity leave for some weeks, so I may not be able to follow discussions during that time.

Together that makes it pretty clear that sessions should not be shared between multiple connections. If we do support it nonetheless (by passing the session context blobs around), this functionality should probably be off by default, so that a user needs to explicitly enable it (and is then aware of the consequences, e.g. manual recovery, see below).

From what I've been able to find out, this feature didn't make it into the spec for this very reason. Being able to pass a session from one connection to the next is extremely useful but LRU algorithms for eviction make for bugs with weird timing behaviors (aka "heisenbugs"). The language from the spec:

When the TAB/RM discovers that a connection is shutdown [...]: The RM SHOULD flush any objects, sequences, or sessions owned by the connection" (Chapter 3.12 Connection Shutdown)

doesn't prohibit this behavior (SHOULD, not MUST) but it seems to strongly discourage it. I'm definitely open to alternatives and it may be that allowing a session to be passed from one process to another ends up being a better approach. My goal is to prototype both so that we can weigh pros / cons side by side.
Thanks again for helping collect the data in this thread. Very helpful.

the LRU implementation went in a while back: 209fc962fc8eea56119a789498c949e1e5aaa963


Please switch to safe baseURL for example config

Apparently a scammer has registered the default base url genreated by hugo ("http://replace-this-with-your-hugo-site.com") and has some malware, ads, etc on it. See: spf13/hugoThemes#171.
Your theme doesn't use this base url but it still points to a website that could be or is already registered. To avoid such abuse in the future I would recommend to switch to a base url like "https://www.example.com".
Thanks

Thanks @digitalcraftsman !


Documentation on quantization

What does this PR do?

Small fix in the docstring related to quantization in ONNX Runtime
Conceptual guide on what quantization is all about

Fixes: #549

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Improvement for k8s.io/docs/concepts/overview/working-with-objects/names/

By convention, the names of Kubernetes resources should be up to maximum length of 253 characters and consist of lower case alphanumeric characters, -, and ., but certain resources have more specific restrictions.

Please link to document listing objects with stricter name length limitations.
I see a link already [1]. But it is not listing any exceptions as far as i can tell.
[1] https://github.com/kubernetes/community/blob/master/contributors/design-proposals/architecture/identifiers.md

It is not possible to exhaustively list all name conventions. Design proposal is always a proposal, we care more about the things that are landed.
For example, https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/

When creating the manifest for a CronJob resource, make sure the name you provide is a valid DNS subdomain name. The name must be no longer than 52 characters. This is because the CronJob controller will automatically append 11 characters to the job name provided and there is a constraint that the maximum length of a Job name is no more than 63 characters.

/close


'Show icon' is not unselectable

The option for show icon under the menu bar settings is not unselectable. I want only the next event to show up and that doesn't seem to work.

Yeah, that's intended. If you hide everything, there's no way to access the app settings anymore.

You can hide it if you show the date. You need to have one of them or both.


migate ginepro to tonic 0.9

Migrate to tonic 0.9, main PR is https://github.com/pinecone-io/pinecone-db/pull/1639/

Don't you need to update the cargo.lock file as well?


Job environment debug dump filter

Adjust verbosity of GRpcHeartBeatServiceImpl
Configurable filtering of job environment debug dump
Reorder properties

Coverage decreased (-0.02%) to 93.187% when pulling 917f6b957b8c805984d4225930a8b922b847f794 on mprimi:GENIE-690-env-filter into b0f90d1add2a4453a3b6675a2f8f24a06e02d91c on Netflix:master.


Pointpillars pfe.onnx parsing error

Hi, I was trying to run your Pointpillars codes in my own environment and I noticed that all pretrained pfe.onnx(https://github.com/ApolloAuto/apollo/blob/4eb1312df1a7839a68ca51a88fe0e02df3f09179/modules/perception/production/data/perception/lidar/models/detection/point_pillars/pfe.onnx    AND   https://github.com/ApolloAuto/apollo/blob/3c89c6f02fc1b96f9a6f744283702d46ddd3a278/modules/perception/production/data/perception/lidar/models/detection/point_pillars/pfe.onnx ) couldn't be parsed by TensorRT properly. The parsing of rpn.onnx seems fine.
It seems like there's problem with the Reshape.

Just wondering did you meet the problem and how did you solve it?
Error message:
Input filename:   /media/pfe.onnx
ONNX IR version:  0.0.4
Opset version:    9
Producer name:    pytorch
Producer version: 1.3
Domain:
Model version:    0
Doc string:
WARNING: onnx2trt_utils.cpp:220: Your ONNX model has been generated with INT64 weights, while TensorRT does not natively support INT64. Attempting to cast down to INT32.
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
[New Thread 0x7fff9e7fc700 (LWP 17115)]
ERROR: ../builder/myelin/codeGenerator.cpp (401) - Myelin Error in compileGraph: 64 (myelinProgramAnalysisError : Mistmatched number of elements in op (Unnamed Layer_ 46) [Shuffle]reshape input tensor 49' shape [30000,1] and specified output shape [30000,60,1]
)
ERROR: ../builder/myelin/codeGenerator.cpp (401) - Myelin Error in compileGraph: 64 (myelinProgramAnalysisError : Mistmatched number of elements in op (Unnamed Layer 46) [Shuffle]_reshape input tensor 49' shape [30000,1] and specified output shape [30000,60,1]
)
System information

Linux Ubuntu 18.04:
TensorRT 7.2.1:
CUDA 11.1:

@hz3014 PointPillars model is expected to run with TensorRT 7.0.0 and CUDA 10.2 which are Apollo 6.0's requirements. We haven't tested PointPillars model with TensorRT 7.2.1 nor CUDA 11.1.

@hz3014 Please use Apollo Dev container (or your own env with the same CUDA/cuDNN/TensorRT versions as @jeroldchen mentioned) to do your experiment first. Support of CUDA 11.x is still WIP.

Thanks, just downgrade some environments and the onnx parsing is working now.


Add paper types endpoints

Is your feature request related to a problem? Please describe.
Issue https://github.com/ag-gipp/NLP-Land-frontend/issues/19 requires some things to be implemented in the backend.
Describe the solution you'd like
Implement the following endpoints:

[x] Paper types as list (paged if necessary)
[x] Paper types aggregated and counted by year
[x] Top paper types and their amount of published papers
[x] Stats like median, whiskers, etc. for the boxplot
[x] All endpoints should support filters

Describe alternatives you've considered
Some endpoints might be dropped depending on the choices made in the frontend.

Added in #58


Configure Client section only has instructions for deprecated SQL Server Native Client driver

The SQL Server Configuration Manager section is called "SQL Native Client 11.0 Configuration" which indicates this is not applicable for MSOLEDBSQL driver or .NET SqlConnection class but only for deprecated SQLNCLI11 driver.

If MSOLEDBSQL driver or .NET SqlConnection class DO use these setting, then an explicit note on this would take away uncertainty.
If MSOLEDBSQL driver or .NET SqlConnection class do NOT use these setting, then instructions on how to request encrypted connections should be added IMO

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

ID: dfa20275-e415-5531-3ef4-7472d859753b
Version Independent ID: cc1346a6-9336-91ba-bcff-9fff79847c35
Content: Enable encrypted connections - SQL Server
Content Source: docs/database-engine/configure-windows/enable-encrypted-connections-to-the-database-engine.md
Product: sql
Technology: configuration
GitHub Login: @VanMSFT
Microsoft Alias: vanto

@JoukeNuman -- thank you for your logical feedback.  Please consider these resources:

SQL Server on Microsoft Q&A
DBA Stack Exchange
Stack Overflow

@VanMSFT -- please look into this issue.

Hi @JoukeNuman - Thanks for providing feedback on this topic. As of today, SQL Server 2019 still ships with SNAC 11, and the only configuration for the client driver in SQL Server Configuration Manager is SNAC 11. There's no option to set the configuration for the OLE DB provider MSOLEDBSQL. The referenced article only provide simple encryption instructions, and if you are looking on how to get a client side encryption, I'd recommend that you visit the article for each individual driver/provider.
Please let us know if you have any questions. Thanks!

Hi Van To,
Thx for confirming that the instructions only apply to SNAC 11.
Suggest to update the section title and/or the text to make this explicit
and refer the reader
to go to the respective driver/provider to get client side encryption as
you mentioned below.
Regards, Jouke
On Thu, Jul 15, 2021 at 11:06 PM Van To @.***> wrote:

Hi @JoukeNuman https://github.com/JoukeNuman - Thanks for providing
feedback on this topic. As of today, SQL Server 2019 still ships with SNAC
11, and the only configuration for the client driver in SQL Server
Configuration Manager is SNAC 11. There's no option to set the
configuration for the OLE DB provider MSOLEDBSQL. The referenced article
only provide simple encryption instructions, and if you are looking on how
to get a client side encryption, I'd recommend that you visit the article
for each individual driver/provider.
Please let us know if you have any questions. Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/sql-docs/issues/6559#issuecomment-881013209,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEYV2QWI7C37YNRAMXNZYXDTX5EUFANCNFSM47T63ZSQ
.

Thanks, @JoukeNuman. That's valid feedback and we will consider those changes in future iterations of this document.


Cannot add new visit to Hospital Application

Server Times out when trying to add new visit.
On Sami's local PC , he was able to fix this by setting the auto increment property on the Referral Table in SQL.

Error Message after debugging. The Auto increment property was already fixed on the Hospital application.

If $ is undefined, then you are probably not including jQuery properly. Are your script tags set properly?


Remove iter and contains from Connection in storage

@tseaver WDYT?
This is part of a movement towards making Connection more of a background / low-level / raw interface (like it is for datastore).
What's more
for bucket in connection.get_all_buckets():
    ...

seems much more clear than
for bucket in connection:
    ...

We could potentially make up for __contains__ by adding a Bucket.exists method / property.

Also related to removing __contains__ is #588

@tseaver Gonna work on this.


DOC: Fix typos in various subdirectories

Included are Utilities/, Testing/, Examples, and CMake
Found via codespell -q 3 -S ./Modules/ThirdParty,./Documentation/ReleaseNotes -L ans,ba,boun,childrens,developpement,dum,fiter,inout,ist,nd,normaly,numer,ot,positionn,pullrequest,reson,serie,te,unser
Signed-off-by: luz paz<EMAIL_ADDRESS>PR Checklist

[x] No API changes were made (or the changes have been approved)
[x] No major design changes were made (or the changes have been approved)
[ ] Added test (or behavior not changed)
[ ] Updated API documentation (or API not changed)
[ ] Added license to new files (if any)
[ ] Added Python wrapping to new files (if any) as described in ITK Software Guide Section 9.5
[ ] Added ITK examples for all new major features (if any)

Refer to the ITK Software Guide for
further development details if necessary.

A few lines need to be re-wrapped after these corrections, details here:
https://github.com/InsightSoftwareConsortium/ITK/runs/7598698416?check_suite_focus=true

Thank @dzenanz! BTW, what's the fancy curl oneliner that I can use to apply these diffs quickly ?

Applied clang-format fixes, squashed and force pushed


Delete button not working

Delete button not working.
Once signed in, there is an option to delete a group. The button with this function does not seem to do anything.

@lckrohjr Thank you for trying chirp.social !
The code should be fixed the button will now delete the group.
It will send you back to the login page.
The directory may take an hour or so to update before it no longer shows the group.
Right now the site is extremely slow so you might have to wait a minute or two to log in and delete it.
Sorry about this!

Please let me know if you still have an issue, thanks!


Automated cherry pick of #7023

Cherry pick of #7023 on release-5.29.
/cc  @crspeller

Will try to auto merge this PR once all tests and checks are passing. This might take up to an hour.

Trying to auto merge this PR.

Pull Request successfully merged
SHA: e4b442ed74c9d2e86c01f7bbfd98c8e622c0cff2


⚠ Jenkins Plugins Artifactory has degraded performance

In efe99e5, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1358 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 3a811da after 1 hour, 33 minutes.


Release version 2.0.0 for JS client

Release the client version 2.0.0. Before releasing, the following items need to be done:

[x] Add OpenSearch 2.0 to the integration test matrix.
[x] Bump the client version to 2.0.0.
[x] Cut a 2.0 branch for the client.

get 2.0.0 published.
close this issue.


NameError: name 'SetupUtility' is not defined

Traceback (most recent call last):   File "run_oaisys.py", line 111, in <module>     SetupUtility.extract_file(blender_install_path, file_tmp, "TAR") NameError: name 'SetupUtility' is not defined
What‘s the exact python packages or module that should be installed？

choose to install the Blender manually；then insert the path of _blender_path_ to the code to skip the part of automatic installation
`
blender_path = 'path to blender'
If forced reinstall is demanded, remove existing files
if os.path.exists(blender_path) and args.reinstall_blender:
print("Blender installation already exit!")
shutil.rmtree(blender_path)
`


Document how to add a new domain family

Why would you want to?
How to do it

The new approach makes this issue redundant


Cannot find module 'cache-loader/package.json'

Version
3.0.0-beta.11
Reproduction link
https://github.com/Shokas/vue-error-test-project
Steps to reproduce
npm install
npm run serve
What is expected?
Get project served at localhost:8080
What is actually happening?
npm complaining about missing module, after installing one after another, it gets to this error "vue-loader was used without the corresponding plugin. Make sure to include VueLoaderPlugin in your webpack config."

$ vue create [project]
pick default preset (babel, eslint)
$ cd [project]
$ npm run serve

npm i cache-loader -D

It does not help. As I wrote, errors about missing modules keep coming:
Cannot find module 'eslint-loader/package.json'
Cannot find module 'vue-loader/package.json'
Cannot find module 'babel-loader/package.json'
Cannot find module 'babel-core'
Cannot find module 'eslint-plugin-vue'
and finally
"vue-loader was used without the corresponding plugin. Make sure to include VueLoaderPlugin in your webpack config."
2 Solutions I've found:
downgrade vue-loader to 14.2.2 or update node, npm and vue-cli to latest versions

@yyx990803
cli-plugin-babel<EMAIL_ADDRESS>  "@babel/core": "^7.0.0-beta.49"，会造成版本冲突，会报错
Cannot find module 'babel-loader/package.json' #1384

https://github.com/vuejs/vue-cli/blob/dev/packages/%40vue/cli-plugin-babel/package.json
"dependencies": {
    "@babel/core": "7.0.0-beta.47",
    "@vue/babel-preset-app": "^3.0.0-beta.12",
    "babel-loader": "^8.0.0-0"
  },


Feature request

Hi,
As you know, in most Deep Learning developments, preprocessing plays a crucial role in preparing the data for training. For example, in one of my developments where I want to add an API to an object detection model, image conversion in tfrecord is required. I would like to include this preprocessing step in my API. Users will have the option to perform this step themselves during model training. Those unfamiliar with this process can use this built-in preprocessing step to easily convert their data into tfrecord. I would like to see this method included in the API.
Another valuable feature would be an evaluation method. After users train a model on the new dataset, they may want to compare its performance to the older version of the model on a new test dataset using certain metrics they define. By integrating this method into the API, users can efficiently evaluate and compare the performance of the model on the test dataset.
Thank you for taking the time and effort to include these additions

In a very general case, data-processing might be an asset in itself, like we may have modules which do only 'training' (e.g. benchmarks), we may have modules with only predict (well-trained model, only inference is published), why not to complement with modules which focus on data-processing. Not sure, but this could be, e.g.:
GET /v3/dataops/usermodel/  # returns list of dataops methods available, e.g. [acquire, parse, augment, clean, convert]
POST /v3/dataops/usermodel/acquire        # configure and execute data acquisition
POST /v3/dataops/usermodel/parse           # configure and execute parsing of data
POST /v3/dataops/usermodel/augment     # data augmentation
POST /v3/dataops/usermodel/clean            # data cleaning
POST /v3/dataops/usermodel/convert        # data format conversion
POST /v3/dataops/usermodel/process        # execute combination of dataops, input is RequestBody JSON with corresponding dataop and parameters (?)
OR it is still under "models":
GET /v3/models/usermodel/dataops/   # returns list of dataops methods available
POST /v3/models/usermodel/dataops/acquire
POST /v3/models/usermodel/dataops/parse
POST /v3/models/usermodel/dataops/augment
POST /v3/models/usermodel/dataops/clean
POST /v3/models/usermodel/dataops/convert
POST /v3/models/usermodel/dataops/process
For evaluation it should be easy:
POST /v3/models/usermodel/evaluate/       # to evaluate model on the testing dataset (e.g. model changed or test data changed)


Fluent API - method prefix is changed from with to use

Ref : https://github.com/highsource/jaxb2-basics/blob/77fc1a3d5b3561af68d19ebe8e01adb9d567f5bd/basic/src/main/java/org/jvnet/jaxb2_commons/plugin/fluent_api/FluentMethodType.java#L165
https://github.com/patrodyne/hisrc-basicjaxb/blob/55c97f36245584b704c0ae7d9ea6c50e1ac98fdb/plugins/src/main/java/org/jvnet/basicjaxb/plugin/fluentapi/FluentMethodType.java#L167
Is it possible to make it configurable.   Cause it's breaking existing logics.

Yes, it is possible to make it configurable. I have parameterized a new option in this commit 9c28463. The option will be included in the next release (no ETA).

I have verfied the changes working as expected.

The option to configure the Fluent method prefix (ex: "with" instead of "use") is available in HiSrc BasicJAXB Release 2.2.0.


Request: Log Cleanup

First off, thank you for this script! It's awesome.
Just wanted to throw in a suggestion of allowing the user to set how long they want to keep the logs for (maybe in days) and then have the script do some cleanup. I had an issue with the process lock and generated almost 20,000 logs in the span of a week or so.
Great work and thanks again!
-M

@vikadev
You can set server log limit in the global config
https://github.com/patrix87/PowerShellGSM/blob/main/global.psm1#L17

I'm looking into a fix to exclude state checks from the logs. since those run every two minutes.

This is fixed in the last release

Thank you both for this! Sorry about getting back to you so late!


Clarify options on the SQL exporter dialog

The options "Include Schema" and "Include Contents" in the SQL exporter dialog can be a bit mysterious for users.
Proposed solution
Just like concrete SQL commands are included in the UI text elsewhere in the dialog ("DROP"), we could expand these phrases to mention the corresponding SQL commands ("CREATE TABLE", "INSERT").
Alternatives considered
We could also drop the mentions of the commands elsewhere, but I think they are useful (and clear for users who know SQL).

Do you have an example on where can I add the UI text, and how UI text is added in the other commands?
Thanks in advance.

@Armaxxx To locate where to do your code changes, you could try this method: https://github.com/OpenRefine/OpenRefine/issues/3137#issuecomment-691649962

#3385

Can someone help me, why was my PR rejected when all I did was change some text

@Armaxxx bear with us as we just migrated to GitHub Actions instead of Travis and so our CI (continuous integration) is not quite ideal yet.  There was an error when submitting to Coveralls.  But rest assured @wetneb will review your changes and then we'll merge this in.  Thanks for your patience and enjoy your weekend!


(bug?)java.lang.NoClassDefFoundError: org/ballerinalang/stdlib/time/nativeimpl/CurrentTime

version: 1.0.1
OS: WSL 2 Ubuntu
I test the Time example of  ballerina by example
ballerina build time
java -jar target/bin/time.jar
output:
[2019-10-24 13:50:42,174] SEVERE {b7a.log.crash} - org/ballerinalang/stdlib/time/nativeimpl/CurrentTime
java.lang.NoClassDefFoundError: org/ballerinalang/stdlib/time/nativeimpl/CurrentTime
	at ballerina.time.timelib.currentTime(timelib.bal:158)
	at elecbuggy.time.main.main(main.bal:6)
	at elecbuggy.time.___init.$lambda$main$(time)
	at org.ballerinalang.jvm.scheduling.SchedulerItem.execute(Scheduler.java:493)
	at org.ballerinalang.jvm.scheduling.Scheduler.run(Scheduler.java:238)
	at org.ballerinalang.jvm.scheduling.Scheduler.runSafely(Scheduler.java:208)
	at java.lang.Thread.run(Thread.java:748)
**Caused by: java.lang.ClassNotFoundException: org.ballerinalang.stdlib.time.nativeimpl.CurrentTime**
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 7 more

But if I directly run:
ballerina  run   time
it output :
Current system time in milliseconds:<PHONE_NUMBER>287
Created Time: 2017-03-28T23:42:45.554-05:00
Parsed Time: 2017-06-26T09:46:22.444-05:00
Current system time in ISO format: 2019-10-24T13:53:13.287+08:00
Current system time in custom format: 2019-10-24-Thu
Year: 2019
Month: 10
Day: 24
Hour: 13
Minute: 53
Second: 13
Millisecond: 287
Weekday: THURSDAY
Date: 2019:10:24
Time: 13:53:13:287
After adding a duration: 2020-11-24T13:53:14.287+08:00
After subtracting a duration: 2018-09-24T13:53:12.287+08:00
Before converting the time zone: 2017-03-28T23:42:45.554-05:00
After converting the time zone: 2017-03-29T10:12:45.554+05:30

I tried the time example with build and jar (ubuntu) and i didn't observe any issue.
$ ballerina -v
Ballerina 1.0.1
Language specification 2019R3

$ ballerina build time.bal
Compiling source
	time.bal

Generating executables
	time.jar
waruna@warunaj:time$ java -jar time.jar
Current system time in milliseconds:<PHONE_NUMBER>519
Created Time: 2017-03-28T23:42:45.554-05:00
Parsed Time: 2017-06-26T09:46:22.444-05:00
Current system time in ISO format: 2019-10-31T13:53:44.519+05:30
Current system time in custom format: 2019-10-31-Thu
Year: 2019
Month: 10
Day: 31
Hour: 13
Minute: 53
Second: 44
Millisecond: 519
Weekday: THURSDAY
Date: 2019:10:31
Time: 13:53:44:519
After adding a duration: 2020-11-30T13:53:45.519+05:30
After subtracting a duration: 2018-09-30T13:53:43.519+05:30
Before converting the time zone: 2017-03-28T23:42:45.554-05:00
After converting the time zone: 2017-03-29T10:12:45.554+05:30

@chenjianxin Are you still facing this issue?

Update: This issue arise when you compile the sample as a module.
Looks like this happens because the current module name time is same as one of the imported module names ballerina/time. The org-name seems to be ignored. If I change the module name of the sample to something else, then it works fine.

Update: This issue arise when you compile the sample as a module.
Looks like this happens because the current module name time is same as one of the imported module names ballerina/time. The org-name seems to be ignored. If I change the module name of the sample to something else, then it works fine.

The same was reported in https://github.com/ballerina-platform/ballerina-lang/issues/19927 and should be fixed with https://github.com/ballerina-platform/ballerina-lang/pull/20261. @grainier

#20261 only fixes compile time issue. But even after that, I'm getting;
grainier@Grainiers-MacBook-Pro  ~/Desktop/timetest/target/bin > java -jar time.jar
error: java.lang.NoClassDefFoundError message=org/ballerinalang/stdlib/time/nativeimpl/ExternMethods cause=error java.lang.ClassNotFoundException message=org.ballerinalang.stdlib.time.nativeimpl.ExternMethods
	at ballerina.time:externCurrentTime(timelib.bal:65535)
	   ballerina.time:currentTime(timelib.bal:288)
	   grainier.time:main(main.bal:5)

Closing since this issue is no longer relevant in SL


doc(README): remove typo

Description:
This Pull Request fixes a typographical error in the README.md file.
Changes Made:

Corrected "comptibility" to "compatibility" in the README.md file.

Additional Information:
This fix is not related to any existing issue. It's a minor typo that I noticed while reviewing the README.
Thank you for considering this contribution.

Thank you.


'retry until' fails when 'headers' has a null value

myproject_TL-RetryFailures.zip
The attached project demonstrates the issue.  The first scenario in users.feature provides an offeringId for the headers and it successfully retries three times.  The called feature expects responseStatus 204, so it always fails and retries.
The second scenario doesn't provide offeringId, so the corresponding header has a null value.  In this case the first attempt works but the are no retries.

@tlebhar thanks, this is fixed in develop. the __arg is a special variable with some issues we will fix in the next version. for now, can you avoid it. one tip: when you pass data as a call argument, they will automatically be available in the called feature by name, try it out. __arg is intended as a convenience when you want to grab the call arg as a single JSON
we'll keep this open until 1.0 is released

1.0 released


Investigate new registry stacks not executed in odo v3 tests

Which area this feature is related to?
/kind bug

Which area this bug is related to?

/area registry
Bug Summary
Describe the bug:
Adding the udi stack (https://github.com/devfile/registry/pull/177) should run against the odo v3 test. Instead, the tests is skipped even though the stack is correctly found.
related: https://github.com/devfile/api/issues/1097
To Reproduce:
Add the udi stack to the registry and run the github actions against the stack.
Expected behavior
The resulting test should show that the udi stack is not skipped and that it also fails.
Any logs, error output, screenshots etc? Provide the devfile that sees this bug, if applicable

https://github.com/devfile/registry/actions/runs/4669480312/jobs/8267987204?pr=177#step:9:80

The issue here is that the odo v3 tests generate dynamic a Ginkgo spec for Stacks that have at least one starter project defined in the devfile:
https://github.com/devfile/registry/blob/c7264bef3473f89aad86e3a55297989474fb562f/tests/odov3/odo_test.go#L152-L156
This caused stacks with no starter projects (like udi) to have no test spec generated, which is why we had this issue.
https://github.com/devfile/registry/pull/218 has updated this behavior to also test stacks with no starter projects (using the odo dev --no-commands command introduced in odo v3.12.0), to make sure that the Dev Session could still start properly.

Done in https://github.com/devfile/registry/pull/218
/close


CI test "test_radius.py::test_authenticator_plugin" fails randomly

Bug Summary
Across multiple commits and PRs, test_radius.py::test_authenticator_plugin appears to fail randomly in the same way:
backend_cls = <MagicMock name='RADIUSBackend' id='140395987507952'>
unauthenticated_api_client = <rest_framework.test.APIClient object at 0x7fb07cf5a8e0>
radius_configuration = {'PORT': 1812, 'SECRET': 'testingsecret', 'SERVER': 'localhost'}
radius_authenticator = <Authenticator: Test RADIUS Authenticator>
user = <User: user>

    @mock.patch("rest_framework.views.APIView.authentication_classes", [SessionAuthentication])
    @mock.patch("ansible_base.authentication.authenticator_plugins.radius.RADIUSBackend")
    def test_authenticator_plugin(backend_cls, unauthenticated_api_client, radius_configuration, radius_authenticator, user):
        """
        Test RADIUS authenticator logic.

        Test that the RADIUS backend is created with the correct settings.
        Test that login credentials are passed to the backend's authenticate() method call.
        Test that associated AuthenticatorUser record is created.
        """
        backend = backend_cls.return_value
        backend.authenticate.return_value = RADIUSUser(
            username="user",
            groups=["users", "managers"],
            is_staff=False,
            is_superuser=False,
        )

        client = unauthenticated_api_client
        client.login(username="user", ***)

        url = reverse(authenticated_test_page)
        response = client.get(url)
        assert response.status_code == 200

>       backend_settings = backend_cls.call_args[0][0]
E       TypeError: 'NoneType' object is not subscriptable

test_app/tests/authentication/authenticator_plugins/test_radius.py:77: TypeError

This case fails in devel commit https://github.com/ansible/django-ansible-base/commit/0b4d0138f3572829ba6e21efbf16758dadba26fb and the PR to revert this commit: #426
Since applying and undoing this patch both produce this error, I do not think the commit is the root cause.
Bug Reproduction: I cannot reproduce this locally. I have attempted restricting local pytest worker counts to 4 (the amount used by GitHub actions job)
I have not tried testing running pytest in a virtualized Ubuntu instance.
Expected Resolution: One of the below

Figure out the trigger for this failure, and fix the root cause (ideal)
Refactor the test case test_radius.py::test_authenticator_plugin to be more resilient to the random failure (not as good)
xfail test_radius.py::test_authenticator_plugin (not good solution)

I will be working on this myself, just thought I'd open an issue in the event anyone else has any ideas.

I saw this in the checks for a docs PR https://github.com/ansible/django-ansible-base/pull/425, ping @john-westcott-iv , because her was working on this in some respect.
What doesn't make any sense to me is how this could be flaky, since the None is coming from the mock argument. That doesn't make any sense to me. It should be deterministic.


Separating Contact and Name field for client keys

Separating contact and name fields of clients keys. This way contact can be used for logging and is uniquely identifiably for TTD tracking while the name can be anything, allowing users to give keys names relevant to them. Names do not have to unique anymore. Contact will still be unique and is generated based on a combination of the site name and the keyId.

Adjusted client key page to show these changes.

Changing the contact of a key will require the new contact to be filled in in a new popup along with a second confirmation.

I think parts of the UI are still unintuitive to me. For instance, the first three inputs under Existing Key only require Contact while the next two require Roles or Site Id to be populated and the last one (Rename Client Key) only requires a Contact but then opens a dialog to input the new contact name.
e.g. Updating a Site requires these inputs
.
I think consistency would be good here, we could either:

Change the form so that each button has its own inputs, e.g. Reveal Client Key has its own Contact field, so does Disable Client Key, etc., or
Change the Set Roles and Update Site buttons to also use dialogs.

Also open to other ideas - what are your thoughts?

I think the dialogs makes more sense to me. I'll put those in and see what it looks like.

Have updated to look like this.  Also updated description.

 Have updated to look like this. Also updated description.

nice! what are your thoughts on changing New Key to Add Key and Existing Key to Edit Key? Perhaps Add Client Key could be changed to a button since it is not part of a list of operations now?

Yeah that sounds good. Have made those changes.


problem with rest_cherrypy

HELP
I have a question about rest_cherrypy.
import urllib2
import urllib
url = "https://localhost:8000"
headers = {"Accept": "application/json","X-Auth-Token":"0f1c9285ccbdcadef5738f4100ea7027d290b955"}
handler = urllib2.HTTPSHandler(debuglevel=1)
opener = urllib2.build_opener(handler)
urllib2.install_opener(opener)
postdata = {
'client':'local',
'tgt':'dev-salt',
'fun':'user.add',
'arg':'test'
}
postdata = urllib.urlencode(postdata)
req = urllib2.Request(url=url,data=postdata,headers=headers)
urllib2.urlopen(req,cafile="localhost.crt").read()

this is ok. I can add user.
but when I want to add more args in user.add func.
how can I use it.
'arg':['test',groups='sudo']  doesn't work.

Closing in favor of saltstack/salt#22279.


Remove the deprecated --preview-dart-2 flag

Pull Request Test Coverage Report for Build 57

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 88.571%

Totals

Change from base Build 55:
0.0%

Covered Lines:
62

Relevant Lines:
70

💛  - Coveralls


[question] how to layout this?

I'd like to create UI like this:
Label1 Btn1 (top, left)                                         label2, btn2(top, right)
                 big label (center, occupy as much as possible)
Label3 Btn3 (bottom, left)                                   label4, btn4(bottom, right)
~~~

but I can't create it easily by combined line layouts only.
maybe grid layout is the right way to do it. any suggestion or play to support this?

Hi @zhangpy - I gave this a try to see if the LinearLayout.SizeMode could be (ab)used to achieve this, but the two dimensions of flow make that impossible.
A GridLayout would be a good solution for this - I have also been thinking about some sort of RelativeLayout. These would be somewhat complicated to use without a visual designer, which is another idea I have also been toying with.
I'm afraid the short answer is, unless we add more containers, this doesn't seem particularly easy or possible right now.

Humm, I linked the GridLayout to the TableLayout issue - but actually they might be two separate concepts. The TableLayout proposed uses adapters, which wouldn't work well in this case.

OK. thanks to confirm.
I will change my design, then.
If you plan to add more layout, we could keep this issue open.
Or please close it. thanks.

I would definitely like a GridLayout at least, or a layout that has pixel based positioning inside (probably not good though).


Add /auth/token/revoke route

For a single-process deployment with an internally-generated secret key, we can store revoked tokens in memory. For a deployment with an externally-specific secret key that may be used by other (concurrent or future) processes, we'll need to stash the revoke tokens somewhere persistent --- possibly Redis or postgres.

This is done, with Postgres.


[range-v3] Update to new version.

This updates range-v3 to a non-release version - basically today's tip-of-trunk - to get recent MSVC improvements. This should restore /std:c++17 support, and removes the need to use MSVC's conforming preprocessor (/experimental:preprocessor, soon to be /Zc:preprocessor).

Thanks!


Add multithreading example

Description
Introduce a functioning mulithreading with web weorkers demo.
Fixes #2070
Checklist

[x] I have run cargo make pr-flow
[x] I have reviewed my own code

I'm not sure if there's any more config that's needed, I did a grep for the OG multi_thread example and added this example in the same spots.
Let me know!

For context, I didn't look at the contents of the example, only ported it
to work with master + set it to work with the repo 😋
The comments made are valid and would make it easier for users to baviage
the example so I'll put through those changes!
Thanks for the review
On Sun, 26 Sep 2021, 10:10 pm mc1098, @.***> wrote:

@.**** requested changes on this pull request.
Awesome stuff 😍
The "Thanks to" section is a nice way to give a shout out to @insou22
https://github.com/insou22, so I appreciate that ❤.
Most of my comments below is just me being picky for the most part :)
In examples/multi_thread/README.md
https://github.com/yewstack/yew/pull/2087#discussion_r716189949:

+The multi-thread example is a conceptual WIP and is currently blocked on a future Trunk feature

Could even add a link to your new example as an alternative here :)
In examples/web_worker_fib/README.md
https://github.com/yewstack/yew/pull/2087#discussion_r716190708:

@@ -0,0 +1,23 @@

+# Web Worker Demo

+Calculate fibbonnaci value of a number in the worker thread,
+without blocking the main thread.

+You can access a live version here:

+## notes
+This example is NOT built with trunk.
+Multi-threading in yew does not currently build with Trunk, due to issues described in the multi_thread example.

+Instead, the example is built with wasm_bindgen.
⬇ Suggested change
-Instead, the example is built with wasm_bindgen.
+Instead, the example is built with wasm-pack directly.
I think this is more correct?
In examples/web_worker_fib/static/index.html
https://github.com/yewstack/yew/pull/2087#discussion_r716191178:

+<!doctype html>

+

<meta charset="utf-8">

<title>Yew web worker demo</title>

+
space indent over tab - more for consistency then hate for tabs :)
In examples/web_worker_fib/src/lib.rs
https://github.com/yewstack/yew/pull/2087#discussion_r716191315:

@@ -0,0 +1,19 @@

+#![recursion_limit = "1024"]
+#![allow(clippy::large_enum_variant)]
Is this needed?
In examples/web_worker_fib/src/app.rs
https://github.com/yewstack/yew/pull/2087#discussion_r716191919:

               if let Ok(value) = input.value().parse::<u32>() {

                   // start the worker off!

                   self.worker.send(WorkerInput { n: value });

               }

You can use HtmlInputElement::value_as_number here then cast from f64 to
u32 - doing this you may want to set max attribute on the input, which I
don't think is a bad idea in of itself so that people don't try and workout
the fib of too large a number 😅
In examples/web_worker_fib/src/app.rs
https://github.com/yewstack/yew/pull/2087#discussion_r716192265:

worker: Box<dyn Bridge>,

fibonacci_output: String,

+}

+pub(crate) enum Message {

Click,

RunWorker,

WorkerMsg(WorkerOutput),

+}

+impl Component for Model {

type Message = Message;

type Properties = ();

fn create(ctx: &Context) -> Self {

   let worker = Worker::bridge(ctx.link().callback(Self::Message::WorkerMsg));

⬇ Suggested change

   let worker = Worker::bridge(ctx.link().callback(Self::Message::WorkerMsg));

   let worker = Worker::bridge(ctx.link().callback(Message::WorkerMsg));

Purely a style suggestion - if you prefer the Self:: prefix then keep
them :)
If you change this one then there are others but I won't highlight them
until you've made a decision here.
In examples/web_worker_fib/src/app.rs
https://github.com/yewstack/yew/pull/2087#discussion_r716192450:

@@ -0,0 +1,123 @@

+use serde::{Deserialize, Serialize};
+use yew::prelude::*;
+use yew::web_sys::HtmlInputElement;
+use yew_agent::{Agent, AgentLink, Bridge, Bridged, HandlerId, Public};

+pub(crate) struct Model {

clicker_value: u32,

n_ref: NodeRef,

Very picky nit:
I don't mind input_ref or fib_input_ref but I think it should be bit more
expressive a name in this example.
In examples/web_worker_fib/src/app.rs
https://github.com/yewstack/yew/pull/2087#discussion_r716192768:

       <>

 { "Web worker demo" }

 { "Output: " } { &self.fibonacci_output }

           <input ref={self.n_ref.clone()} type="number" />

           <button onclick={ctx.link().callback(|_| Message::RunWorker)}> { "submit" } </button>

 { "Main thread value: " } { self.clicker_value }

           <button onclick={ctx.link().callback(|_| Message::Click)}> { "click!" } </button>

       </>

Nit:
All the examples, as far as I remember 🙃, have the same format when it
comes to tags and braces:
{ "Space around this string lit only" }

In examples/web_worker_fib/src/app.rs
https://github.com/yewstack/yew/pull/2087#discussion_r716192991:

+pub(crate) struct Worker {

link: AgentLink,

+}

+#[derive(Serialize, Deserialize)]
+pub(crate) struct WorkerInput {

n: u32,

+}

+#[derive(Serialize, Deserialize)]
+pub(crate) struct WorkerOutput {

value: u32,

+}

+impl Agent for Worker {

type Reach = Public;

type Message = ();

type Input = WorkerInput;

type Output = WorkerOutput;

fn create(link: AgentLink) -> Self {

   Self { link }

}

fn update(&mut self, _msg: Self::Message) {

   // no messaging

}

fn handle_input(&mut self, msg: Self::Input, id: HandlerId) {

   // this runs in a web worker

   // and does not block the main

   // browser thread!

   let n = msg.n;

   fn fib(n: u32) -> u32 {

       if n <= 1 {

           1

       } else {

           fib(n - 1) + fib(n - 2)

       }

   }

   let output = Self::Output { value: fib(n) };

   self.link.respond(id, output);

}

fn name_of_resource() -> &'static str {

   "wasm.js"

}

+}
I think the Agent stuff can go in it's own file
In examples/web_worker_fib/Cargo.toml
https://github.com/yewstack/yew/pull/2087#discussion_r716193398:

@@ -0,0 +1,14 @@

+[package]
+name = "yew-worker-demo"
+version = "0.1.0"
+edition = "2018"

Feel free to add yourself as the author here 🎉
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/yewstack/yew/pull/2087#pullrequestreview-763686674,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGVFWMN27ZNH52E4CVK2YTLUD4EUVANCNFSM5EYUBBYQ
.

Aware I've left this for a while - will get a chance to polish it this weekend

... I think i did a whoopsy


Parent directory modification time not updated

When I create a new file on S3, it's visible instantly in the mounted filesystem, but the modification time of the new file's parent directory is not updated. When I un/re-mount, the parent's modification time is correct.
[xbmc@htpc ~]$ ls -lR /mnt/media/testing
/mnt/media/testing:
total 4
drwxr-xr-x 2 root root 4096 Aug 26 16:03 dir

/mnt/media/testing/dir:
total 1
-rw-r--r-- 1 root root 10 Aug 26 16:02 one.txt
[xbmc@htpc ~]$ # dir/ and dir/one.txt were created together, these timestamps are accurate
[xbmc@htpc ~]$ # in another terminal I'm now going to upload two.txt
[xbmc@htpc ~]$ ls -lR /mnt/media/testing
/mnt/media/testing:
total 4
drwxr-xr-x 2 root root 4096 Aug 26 16:03 dir

/mnt/media/testing/dir:
total 1
-rw-r--r-- 1 root root 10 Aug 26 16:02 one.txt
-rw-r--r-- 1 root root 10 Aug 26 16:04 two.txt
[xbmc@htpc ~]$ # you can see two.txt has a timestamp of 16:04, but dir/'s timestamp didn't change
[xbmc@htpc ~]$ # if i unmount and remount, dir/'s timestamp will be corrected at that point
[xbmc@htpc ~]$ sudo systemctl restart media.service
[xbmc@htpc ~]$ ls -lR /mnt/media/testing
/mnt/media/testing:
total 4
drwxr-xr-x 2 root root 4096 Aug 26 16:05 dir

/mnt/media/testing/dir:
total 1
-rw-r--r-- 1 root root 10 Aug 26 16:02 one.txt
-rw-r--r-- 1 root root 10 Aug 26 16:04 two.txt

This causes a problem with Kodi which looks at directory modification times to know if it should ignore a given directory as part of library-update. When I add new media on S3, even though they're visible in the directory tree right away, I have to un/re-mount it before Kodi will find it.

how did you create the file in s3? through the same goofys mountpoint or uploading directly?

Uploading directly, aws s3 cp in another terminal (on another machine, actually).

not sure if there's much goofys can do here. It's possible for us to return a newer mtime, but only if we notice there's a new file, which would mean that you still need to do a ls before the mtime on the dir would change. On the other hand, if a new file is written to the mountpoint via goofys, it makes sense that we should update the mtime then.

How/when is the mtime of a directory computed now? As a naive user, I would expect an explicit stat of the directory to return a correct mtime, even in the face of changes made remotely. Assuming Kodi is doing some (probably C-equivalent) of this operation, that would suit my needs.
However, as someone who understands S3, I know that that would require finding the max mtime of the directory's contents (recursively), I assume, so that could be too slow to be a viable action to take at any time other than initial mount.

expecting stat to always return the correct mtime is unrealistic, since even a non-recurisve listing of a directory can take a very long time, and goofys can't do that every time someone does a stat. Right now goofys always return the mount time as the mtime for directories but we can do better. ie: if a readdir is done and we noticed there are newer files, or if someone had written a file via goofys.


Image broken (Does not boot to display manager)

Hello,
I know that this image has not been updated in a while, but I decided to try using it anyways!
The image boots, but there's seemingly no display manager that pops up. I had to ctrl+alt+f2 to get to a terminal and then run cosmic-session manually to get into COSMIC and even still some things were missing:

cosmic-settings wasn't available
cosmic-store wasn't available
cosmic-term wasn't available
I couldn't use the meta/super key to pop up the cosmic launcher either.
Seemingly no wallpaper functionality

Until a display manager is implemented for cosmic, perhaps using GDM would be nice.
My device is an ASUS GA402RJ with an AMD Ryzen 9 6900hs and a Radeon 6700S dGPU
Great work on COSMIC/Smithay by the way!

I'm working on trying to get an updated build on my own fork: https://github.com/ryanabx/infinity
Currently the CI is having issues because github runners went down in total storage since this was made, and it runs out of storage when downloading the fedora image...

Related: https://github.com/pop-os/cosmic-greeter/issues/8
I fixed this in my fork by using GDM for the time being. Not ideal but it provides a 'working' experience for now

The remaining stuff is because the image wasn't up-to-date. Closing this issue

I think the big problem with greetd is selinux support right now. I am personally still using this image and with selinux disabled it mostly works fine.
But obviously this isn't exactly a workable solution for a proper cosmic spin. Btw, feel free to ping me, should you create a SIG for this. :)

I think the big problem with greetd is selinux support right now. I am personally still using this image and with selinux disabled it mostly works fine.

Hi, turns out the issue was that there was no cosmic-greeter user being created. I went ahead and made a PR at cosmic-greeter https://github.com/pop-os/cosmic-greeter/pull/13 that solves this on my image, it uses systemd-sysusers and systemd-tmpfiles to make a temporary system user and home directory for it.

But obviously this isn't exactly a workable solution for a proper cosmic spin. Btw, feel free to ping me, should you create a SIG for this. :)

I will keep you posted! I plan on making a matrix chat soon. Hopefully the SIG takes off :)

@Drakulix the matrix server has been created! https://matrix.to/#/#fedora-cosmic:fedora.im
The Fedora Rust SIG wants to work with the COSMIC SIG as they are the ones who package a lot of Rust packages for Fedora


Support for Custom Value Serializer in Log4jEventBuilder#addKeyValue() and Asynchronous Serialization

Hello all,
Thank you for providing detailed comments here.
The mechanism introduced in SLF4J 2.x with the addKeyValue method looks very promising, but I found a couple of issues preventing my team from fully utilizing it:

Complex Objects Serialization: The current implementation relies on String.valueOf(value), which is insufficient for handling complex objects, especially when structured logging is required.
Performance: The serialization happens synchronously, which can degrade performance in high-performance systems where complex objects need to be logged frequently.

I would like to request an enhancement in Log4j that allows users to set a custom serializer.
In the current Log4jEventBuilder#addKeyValue(String key, Object value) implementation, complex objects are serialized using String.valueOf(), which lacks flexibility. My suggestion is to allow users to provide a custom serializer that can handle more complex serialization needs (e.g., converting objects to JSON).
Current Implementation in Log4j:
@Override
public LoggingEventBuilder addKeyValue(final String key, final Object value) {
    if (keyValuePairs == null) {
        keyValuePairs = new HashMap<>();
    }
    keyValuePairs.put(key, String.valueOf(value));  // Uses String.valueOf(value)
    return this;
}

Additionally, I propose that the serialization of the value should happen asynchronously, offloading the potentially expensive serialization task to a separate thread. This will prevent blocking the thread that calls logging methods (such as log.info()), thus improving performance in high-throughput logging environments where structured logging is used extensively.
Thank you for your consideration.

LOL.  @vy Remember the Renderer I wanted to add for use in ScopedContext? Here is another use for it.

Remember the Renderer I wanted to add for use in ScopedContext?

@rgoers, yes, I do. Note that I wasn't against the Renderer concept, but introducing a new interface where existing ones (e.g., StringBuilderFormattable, MultiFormatStringBuilderFormattable) can perfectly suffice. See my comment.

Here is another use for it.

User is using SLF4J. You're suggesting him to

either completely switch to the Log4j API and use ScopedContext1
or combine SLF4J with Log4j API's ScopedContext1 (hence, effectively use both logging APIs).

@AlexxeyKa will be the judge of this.
1 ScopedContext will be released in the future as a separate module to enhance Log4j API with a scoped thread context pretty much identical to the one you would get with Java's ScopedValue.

It is worth noting that in #1813, we agreed to that addKeyValue() should generate a MapMessage instead of adding keys to the context data of the log event.
For those not accustomed to the difference between log message and event, there is a note in the Messages documentation page.
Currently addKeyValue() fills the content of "labels", whereas it should fill the content of "message" in the example below:
{

  "log.level": "INFO",
  "message": "Unable to insert data into my_table.",
  "error.type": "java.lang.RuntimeException",
  "error.message": null,
  "error.stack_trace": [
    {
      "class": "com.example.Main",
      "method": "doQuery",
      "file.name": "Main.java",
      "file.line": 36
    },
    {
      "class": "com.example.Main",
      "method": "main",
      "file.name": "Main.java",
      "file.line": 25
    }
  ],
  "marker": "SQL",
  "log.logger": "com.example.Main",

  "tags": [
    "SQL query"
  ],
  "labels": {
    "span_id": "3df85580-f001-4fb2-9e6e-3066ed6ddbb1",
    "trace_id": "1b1f8fc9-1a0c-47b0-a06f-af3c1dd1edf9"
  },

  "@timestamp": "2024-05-23T09:32:24.163Z",
  "log.origin.class": "com.example.Main",
  "log.origin.method": "doQuery",
  "log.origin.file.name": "Main.java",
  "log.origin.file.line": 36,
  "process.thread.id": 1,
  "process.thread.name": "main",
  "process.thread.priority": 5
}

@ppkarwasz Thank you for noticing this.
If the map with key-values passed via addKeyValue() remains as Map<String, Object> in the Message (and values will not be stringified) it should solve my request.


Add release build script

From a build vm, you can now build any tag or branch (release) found on each of
the repositories, manageiq, manageiq-appliance, and
manageiq-appliance-build by running:
./release-build.sh capablanca-1-alpha1
cc @abellotti @carbonin @simaishi @Fryguy
Note, this assumes you want to upload the release to the website also.

:+1:


[Bug]: {isValid} = useFormContext return true although the field is required and empty.

Which packages are impacted?

[X] remix-validated-form
[ ] @remix-validated-form/with-zod
[ ] @remix-validated-form/with-yup
[ ] zod-form-data

What version of these packages are you using?
"remix-validated-form": "^4.5.7",
"@remix-validated-form/with-zod": "^2.0.2",

Please provide a link to a minimal reproduction of the issue.
https://codesandbox.io/s/nifty-khorana-pbkm86?file=/app/routes/index.tsx
Steps to Reproduce the Bug or Issue
the form is marked as invalid
Expected behavior
should not be valid if there is a required field that is empty
Screenshots or Videos
No response
Platform

OS: [e.g. macOS, Windows, Linux]
Browser: [e.g. Chrome, Safari, Firefox]
Version: [e.g. 91.1]

Additional context
No response

Hi!
Could you provide more details? Do you mean initially before the user does anything?

Hi,
Yes, I mean initially before the user does something.

In that situation, this is the intended behavior ([more details] (https://github.com/airjp73/remix-validated-form/issues/158#issuecomment-1221561650)).
This may be worth clarifying in the documentation, since it's come up before.


feat: update secrets related types and interfaces

What type of PR is this?
/kind feature

What this PR does / why we need it:
update secrets management related api typs and interfaces.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?

Additional documentation e.g., design docs, usage docs, etc.:

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.1%) to 75.372%

Files with Coverage Reduction
New Missed Lines
%

pkg/engine/operation/watch.go
1
85.93%

Totals

Change from base Build<PHONE_NUMBER>:
0.1%

Covered Lines:
6479

Relevant Lines:
8596

💛  - Coveralls


Change date format

It should be possible to change the date format, preferably an input field to change it to anything.
Or otherwise respect the application date/time format.

You can choose between two date formats:

yyyy-mm-dd hh24:mi:ss
yyyy-mm-dd

Other formats are not available in the used Excel template, so it's not possible to change to another date format.


Feat/vm-runner layers

What ❔
Add VM runner layers:

The Basic Witness Input Producer (BWIP) gathers the necessary pub data for basic witness generation, validates it, and stores it in object storage.

The ProtectiveReadsLayer stores VM logs in the database during L1 batch processing. This layer is crucial for tracing batch execution, as it records processing start and end times by storing data in the protective_reads table protecting against conflicts or race conditions.

Why ❔
Those layers are required to validate the l1 batch execution.
Testing
After adding a dummy l1 batch the layers process it.

Checklist

[X] PR title corresponds to the body of PR (we generate changelog entries from PRs).
[X] Tests for the changes have been added / updated.
[ ] Documentation comments have been added / updated.
[X] Code has been formatted via zk fmt and zk lint.

@steph-rs this PR can be merged after the fix related to genesis initialization.


Get name from resource id

Is your feature request related to a problem? Please describe.
I've hit a problem trying to deploy a prviate endpoint in complete mode as I have logged here: https://github.com/MicrosoftDocs/azure-docs/issues/100941
The issue is that it seems the private endpoint auto creates a network interface that isn't defined my template. Subsequently the ARM deployment (complete mode) tries to delete it again but it can't because its in use by the private endpoint and deployment hangs for an hour then fails with no useful error details.
Having spent a few hours figuring this out,, I am trying to get the network interface into my bicep template.
The property on the private endpoint to set network interface is readonly so that's no good - I was initially thinking i'll create a network interface myself, and then create the private endpoitn with that network interface set explicitly - but yeah - read only.
So my final plan, is allow it to auto create the nic, and then bring it in as an existing resource so that ARM doesn't try to delete it.
However after the private endpoint is created, it's read only property that exposes the auto created nic only contains the id of the nic, not the name.
So when attempting to bring in the existing nic, bicep wants a name to be use not an id. I can see there is a bicep function to get the id for a resource - can't see another fucntion to do the reverse i.e get the name from an id?
Here is my attempt:

resource privateEndpoint 'Microsoft.Network/privateEndpoints@2022-05-01' = {
  name: name
  location: location
  properties: {
    privateLinkServiceConnections: [
      {
        name: name
        properties: {
          privateLinkServiceId: serviceId
          groupIds: [
            groupId
          ]
        }
      }
    ]
    subnet: {
      id: subnetId
    }
// networkInterfaces: [
//   {
//     "VnetEncryptionSupported": false,
//     "Id": "/subscriptions/**************/resourceGroups/my-test/providers/Microsoft.Network/networkInterfaces/foo-bar.nic.awjdawd-some-guid"
//   }
// ]
  }
}

resource privateEndpointNetworkInterface 'Microsoft.Network/networkInterfaces@2022-05-01' existing =  {
  name: privateEndpoint.properties.networkInterfaces[0].id  // we want the name here but only have id.
}

output networkInterfaceId string = privateEndpointNetworkInterface.id

this results in an error like:

Describe the solution you'd like
as per above

So I was able to get the name just be splitting the id and taking the last segment, however the ARM deployment is still running forever and eventually failling despite showing all resources as completed - can no longer see any error activity log in relation to it attewmpting to delete the nic however so I think the following "works" from the perspective:
resource privateEndpoint 'Microsoft.Network/privateEndpoints@2022-05-01' = {
  name: name
  location: location
  properties: {
    privateLinkServiceConnections: [
      {
        name: name
        properties: {
          privateLinkServiceId: serviceId
          groupIds: [
            groupId
          ]
        }
      }
    ]
    subnet: {
      id: subnetId
    }
  }
}

resource privateEndpointNetworkInterface 'Microsoft.Network/networkInterfaces@2022-05-01' existing =  {
  name: last(split(privateEndpoint.properties.networkInterfaces[0].id, '/'))
}

output networkInterfaceName string = privateEndpointNetworkInterface.name

However I am guessing it's more than just a nic that is auto created.. so now I have to go down the rabbit hole. Has anyone ever deployed a private endpoint for sql server using complete mode?

split() is the right way to solve this today, though we would like to make this first class.
Having said that -- an existing reference will not prevent us from trying to delete the NIC with complete mode as you are still not deploying that resource in this template. This will be resolved with #2690.
Going to move this to discussion for now.


Update Cadence downstream dependencies

Context
The downstream dependencies of Cadence are outdated.
Update them from v0.10 to v0.12
Definition of Done

[x] Contracts

[x] FT
[x] NFT
[x] Core Contracts

[x] Go SDK
[x] Flow Go
[x] Emulator
[x] CLI
[x] Cadence Language Server
[x] Playground API
[ ] Playground FE

PRs for all projects are merged or opened, done

PRs for all projects are merged or opened, done