Merge to live!

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/develop/authorize-to-microsoft-graph.md
:white_check_mark:Succeeded

docs/develop/create-sso-office-add-ins-aspnet.md
:white_check_mark:Succeeded

docs/includes/file-get-started-excel-jquery.md
:white_check_mark:Succeeded

docs/includes/file-get-started-onenote.md
:white_check_mark:Succeeded

docs/includes/file-get-started-powerpoint.md
:white_check_mark:Succeeded

docs/publish/centralized-deployment.md
:white_check_mark:Succeeded

docs/toc.yml
:white_check_mark:Succeeded

docs/word/search-option-guidance.md
:white_check_mark:Succeeded

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


[beta] Cannot login with email

Browser Name, Version: Chrome
Operating System: Win7-x64
Mobile, Desktop, or Tablet: Laptop

When trying to login with email, I'm getting
- Invalid username or password

When trying to restore the password, I'm getting
- access token invalid

The main website works fine both login with email and reset password.
Note: I've tried main and beta with the same email address.

On the beta site you have to do a fresh sign up. Didn't see that on the OP. Is it the case?
I can sign-in and reset password after I created an account.

@raisedadead, same with me :+1:


Add 0.5.2 or later scripts support

add support for scripts folder like psych engine 0.5.2h or later versions
Im making a mod with this engine but... i need some scripts for this
can u update this engine?
or just port the code for 0.5.2h...

ive asked joolian before (the owner of strident crisis, and who basically tells what to do on the engine and stuff) and he will not move to 0.5.x, sorry but no :P

lol


select2 npm package is not loaded

no matter what kind of import syntax we use, it just cant be loaded
only way it worked is through this
import * as select2 from  'https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.full.min.js';
but this wont work
import * as select2 from 'select2/dist/js/select2.full.js';

$ is available after that!

We should create a different issue, how to automatically shim jquery


Android 14 Issue

Seems like TextEmbedder causes the application to crash on Android 14

@rahul-exp Could you share the application crash logs from the logcat of Android Studio? I'm developing this app on a physical Android 14 device from the beginning. It would be great if you can also share the details of the test device.

Hey Shubham, changing the mediapipeText library version to "0.10.14" doesn't cause it crash.
My test device was S24 Ultra. It causes a native crash:
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x46db75649b7324 in tid 29516 (ubham0204.docqa), pid 29516 (ubham0204.docqa)
2024-05-31 13:23:30.727 29560-29560 DEBUG                   pid-29560                            A  Cmdline: com.ml.shubham0204.docqa
2024-05-31 13:23:30.727 29560-29560 DEBUG                   pid-29560                            A  pid: 29516, tid: 29516, name: ubham0204.docqa  >>> com.ml.shubham0204.docqa <<<
2024-05-31 13:23:30.727 29560-29560 DEBUG                   pid-29560                            A        #00 pc<PHONE_NUMBER>4faf48  /data/app/~~SlCleGe9e0Z71M_HviwhmQ==/com.ml.shubham0204.docqa-cRL9VwcVNEGcJKJkZbDMGQ==/base.apk (offset 0x3324000)
2024-05-31 13:23:30.727 29560-29560 DEBUG                   pid-29560                            A        #01 pc<PHONE_NUMBER>4fc35c  /data/app/~~SlCleGe9e0Z71M_HviwhmQ==/com.ml.shubham0204.docqa-cRL9VwcVNEGcJKJkZbDMGQ==/base.apk (offset 0x3324000)
2024-05-31 13:23:30.727 29560-29560 DEBUG                   pid-29560                            A        #02 pc<PHONE_NUMBER>25abe8  /data/app/~~SlCleGe9e0Z71M_HviwhmQ==/com.ml.shubham0204.docqa-cRL9VwcVNEGcJKJkZbDMGQ==/base.apk (offset 0x3324000)
2024-05-31 13:23:30.728 29560-29560 DEBUG                   pid-29560                            A        #47 pc<PHONE_NUMBER>00485c  <anonymous:754c96f000> (com.ml.shubham0204.docqa.domain.embeddings.UniversalSentenceEncoder.setupTextEmbedder+0)
2024-05-31 13:23:30.728 29560-29560 DEBUG                   pid-29560                            A        #52 pc<PHONE_NUMBER>00482c  <anonymous:754c96f000> (com.ml.shubham0204.docqa.domain.embeddings.UniversalSentenceEncoder.<init>+0)

Currently, the version of mediapipe-task-texts is pointed with latest.release. So, fixing the version to 0.10.14 does not cause the crash on your device?

Yes. It doesn't crash with 0.10.14 on Android 14.

Ok, for now I'm fix the version to avoid any crashes that are caused due to some abrupt changes in the library builds pointed by latest.release


Bug: H hotkey is not working

Don't forget about this :)

Hi there! I'm closing this now since the H key behavior has been fixed on the develop branch :)


DC Bus current limit

Many people think that they need a 80A power supply to run ODrive motors at 75A. This is not the case in general, since the motor current != DC bus current.
We should implement a DC bus current limit feature so that people can safely use not-crazy power supplies.
At the same time, we can make a note about how to dimension the power supply: using output power specification.

Implementation proposal:
Use _current_control_integral_d/q (multiplied by V_to_mod) to obtain the "nominal" modulation vector. Use this modulation vector to clamp the motor current such that Ibus = nominal_mod_d * Id + nominal_mod_q * Iq is within required bus current bounds. We will need to use a margin on Ibus to account for the difference between nominal and actual modulation vector.
This 2D dynamic motor current limiting can only be implemented once #380 is complete.

Note that once we involve the current controller feed forward terms, we should no longer use current_control_integral_d/q, as the steady state voltage is no longer fully captured by them. Instead we should in general split the voltage into slow components and dynamic component (d(I)/dt), and use only the slow component for determining the current limit.


Dangling comment not attach to any ast node

Steps to reproduce

esprima.parse('function foo() {return /*comment*/;}', { comment: true })

Expected output

{
  "type": "Program",
  "body": [
    {
      "type": "FunctionDeclaration",
      "id": {
        "type": "Identifier",
        "name": "foo"
      },
      "params": [],
      "body": {
        "type": "BlockStatement",
        "body": [
          {
            "type": "ReturnStatement",
            "argument": null,
            "danglingComments": ["comment"],  // attach to ReturnStatement ast node
          }
        ]
      },
      "generator": false,
      "expression": false,
      "async": false
    }
  ],
  "sourceType": "script",
  "comments": [
    {
      "type": "Block",
      "value": "comment"
    }
  ]
}

Actual output

{
  "type": "Program",
  "body": [
    {
      "type": "FunctionDeclaration",
      "id": {
        "type": "Identifier",
        "name": "foo"
      },
      "params": [],
      "body": {
        "type": "BlockStatement",
        "body": [
          {
            "type": "ReturnStatement",
            "argument": null
          }
        ]
      },
      "generator": false,
      "expression": false,
      "async": false
    }
  ],
  "sourceType": "script",
  "comments": [
    {
      "type": "Block",
      "value": "comment"
    }
  ]
}

Here "comment" become a "dangling comment".
Relevant references

ReturnStatement:
    return ;

In this case, it's true that "comment" is out of both the leading and trailing range of ReturnStatement according to the specification but it will be more convenient if this comment be attached to the ast node.

Just to confirm, did you actually mean this one?
esprima.parse('function foo() {return /*comment*/;}', { attachComment: true })

Without attachComment (i.e. just comment), every comment won't be attached to the node.

@ariya
I tried enable attachComment, comment and both.
esprima.parse('function foo() {/*good comment*/return /*bad comment*/;}', { attachComment: true, comment: true })

the result is:  (version 4.0.0)
{
  "type": "Program",
  "body": [
    {
      "type": "FunctionDeclaration",
      "id": {
        "type": "Identifier",
        "name": "foo"
      },
      "params": [],
      "body": {
        "type": "BlockStatement",
        "body": [
          {
            "type": "ReturnStatement",
            "argument": null,
            "leadingComments": [
              {
                "type": "Block",
                "value": "good comment",
                "range": [
                  16,
                  32
                ]
              }
            ]
          }
        ]
      },
      "generator": false,
      "expression": false,
      "async": false
    }
  ],
  "sourceType": "script",
  "comments": [
    {
      "type": "Block",
      "value": "good comment"
    },
    {
      "type": "Block",
      "value": "bad comment"
    }
  ]
}

good comment is attached while bad comment is not.

Hi @w-y, unfortunately this is the expected behavior due to the limitation of the logic in the comment attacher. In your case, bad comment would have been attached to the argument of return. But, since return has no argument (it is null in the AST), then the comment is not attached anywhere. It can not be attached to the return statement either because the comment appears before the semicolon.
It is not likely that this corner case is going to be tackled. In fact, the whole comment attachment feature is not necessarily fully supported. But do not despair! It is very easy to come up and plug in your own attachment logic. Take a look at the source code, in particular src/comment-handler.ts.

@ariya How hard would it be to keep a running list of unattached comments and add them to whichever node is finalised next?


Rails 6 autoload issue

Upgrade to Rails 6.0
DEPRECATION WARNING: Initialization autoloaded the constants RecurringSelectHelper, and RecurringSelectMiddleware.

Being able to do this is deprecated. Autoloading during initialization is going
to be an error condition in future versions of Rails.

Reloading does not reboot the application, and therefore code executed during
initialization does not run again. So, if you reload RecurringSelectHelper, for example,
the expected changes won't be reflected in that stale Class object.

These autoloaded constants have been unloaded.

Please, check the "Autoloading and Reloading Constants" guide for solutions.
 (called from <top (required)> at /home/tim/rails/krtschmr/config/environment.rb:5)

should be fixed!


Thumbnails Not Sync'ing From Brightcove to AEM

Hi,
Thumbnails are not sync’ing from Brightcove to AEM when the overnight sync runs or when the sync is run manually via the AEM Brightcove Admin console.  Based on the error in the log, it appears to be an SSL issue.  We are using OpenJDK 1.8.  Here is the exception:
2023-01-05 14:32:06.387 DEBUG [com.coresecure.brightcove.wrapper.utils.HttpServices] getSSLConnection: https://cf-images.us-east-1.prod.boltdns.net/v1/jit/624142960001/d010aa36-8a1f-4870-a10a-d4779e39e36c/main/160x90/2s688ms/match/image.jpg PROXY: DIRECT 2023-01-05 14:32:06.397 ERROR [com.coresecure.brightcove.wrapper.utils.HttpServices] Error! {} javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure 	at sun.security.ssl.Alert.createSSLException(Alert.java:131) 	at sun.security.ssl.Alert.createSSLException(Alert.java:117) 	at sun.security.ssl.TransportContext.fatal(TransportContext.java:311) 	at sun.security.ssl.Alert$AlertConsumer.consume(Alert.java:293) 	at sun.security.ssl.TransportContext.dispatch(TransportContext.java:185) 	at sun.security.ssl.SSLTransport.decode(SSLTransport.java:152) 	at sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1397) 	at sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1305) 	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:440) 	at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559) 	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:197) 	at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:167) 	at com.coresecure.brightcove.wrapper.utils.HttpServices.executeFullGet(HttpServices.java:515) [com.coresecure.brightcove.cq5.brightcove-services:5.6.2] 	at com.coresecure.brightcove.wrapper.utils.HttpServices.getRemoteBinary(HttpServices.java:715) [com.coresecure.brightcove.cq5.brightcove-services:5.6.2] 	at com.coresecure.brightcove.wrapper.schedulers.asset_integrator.callables.VideoImportCallable.createAsset(VideoImportCallable.java:113) [com.coresecure.brightcove.cq5.brightcove-services:5.6.2] 	at com.coresecure.brightcove.wrapper.schedulers.asset_integrator.callables.VideoImportCallable.call(VideoImportCallable.java:264) [com.coresecure.brightcove.cq5.brightcove-services:5.6.2] 	at com.coresecure.brightcove.wrapper.schedulers.asset_integrator.callables.VideoImportCallable.call(VideoImportCallable.java:67) [com.coresecure.brightcove.cq5.brightcove-services:5.6.2] 	at java.util.concurrent.FutureTask.run(FutureTask.java:266) 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 	at java.lang.Thread.run(Thread.java:750)
Any suggestions on how to resolve would be greatly appreciated.  Thank you!

Hi Bill,
Have you logged a ticket with Brightcove by chance? Upon first glance, it sounds like there might be a JDK issue or library mismatch.
Something similar:
https://bugs.openjdk.org/browse/JDK-8221674
Are you using certificates successfully elsewhere in your implementation?
Thanks,
Paul

Hi Paul,
We did log a ticket with Brightcove and they responded suggesting to try upgrading to the newest version of the connector which we tried a few weeks ago, however that did not resolve the issue.
The issue is now resolved.  A few days ago right before I opened this issue we switched AEM from running on Oracle Java SE 1.8 to OpenJDK 1.8 to match our Production environment where the issue was not occurring.  After the switch and the restart of AEM, the issue still existed.  However, testing today and the issue now seems to be resolved, so not sure if that was what fixed it or was something else.  Anyway, thanks for the help!
Bill

I'm glad the error seems to be resolved and thank you for the update! Perhaps less satisfying than other resolutions, but a win nonetheless! Good luck and take care.


Update dependencies and translations to the most recent versions

Note that this is another step towards #17928 because eslint-plugin-no-unsanitized (see https://github.com/mozilla/eslint-plugin-no-unsanitized/releases/tag/4.1.0) now supports ESLint 9 and eslint-plugin-import (see https://github.com/import-js/eslint-plugin-import/releases/tag/v2.30.0) now has support for flat configuration, which is a prerequisite for supporting ESLint 9 later on.

/botio-linux preview

/botio test

[...] and eslint-plugin-import (see https://github.com/import-js/eslint-plugin-import/releases/tag/v2.30.0, the "add support for Flat Config" item) are now compatible with ESLint 9.

Does that plugin actually support ESLint 9 now though, given that https://github.com/import-js/eslint-plugin-import/issues/2948 is still open?
While support for the Flat Config format is a pre-requisite for ESLint 9 compatibility, it may not be the only thing required.

You're right; looking at https://github.com/import-js/eslint-plugin-import/pull/3018 confirms that this mainly lays the foundation for supporting ESLint 9, but that's indeed a separate issue. I have amended the PR description to reflect that.

/botio-windows integrationtest

/botio test

It looks like the Puppeteer 23.3.0 update causes some integration tests to fail due to suddenly different expectations. I have change the update to Puppeteer 23.2.2 instead to find out if that is the last working version, and if so this PR becomes unblocked and I'll make a follow-up issue to update Puppeteer to version 23.3.0 and above since that'll require more debugging for what's going on on Windows and I don't have a Windows machine at the moment to do that (see https://github.com/mozilla/pdf.js/pull/18708#issuecomment-2336715567).

I have removed the Puppeteer update due to a couple of sudden integration test failures on Windows only (see http://<IP_ADDRESS>:8877/562f5aeb62a0629/output.txt). I'll create a follow-up issue to investigate that later.
/botio test

Hm, it failed again, even without the Puppeteer update. It might then be caused by a browser update on the bots. I'll retry on a clean PR without any other changes to confirm.

It turns out that the Windows failures are not caused by this PR, but are a regression from #18698 where they showed up in https://github.com/mozilla/pdf.js/pull/18698#issuecomment-2336406803 already. I have reverted this PR to the original state with the Puppeteer update again so this is now unblocked.
/botio test


Remove unnecessary debugging output, which isn't correctly pointing to ::Rails.logger anyway

Why?
Resolves [LRE-1062](https://seismic.atlassian.net/browse/LRE-1062)
NoMethodError: undefined method logger' for Slimy::Rails:Module`
What?
During app startup and bootstrapping, Slimy is initialized.  Later, if it's unable to get a active_span from Datadog, it advises the developer.  The logging code is written as Rails.logger.warn ... which isn't actually pointing to the Rails from Ruby on Rails, rather a different Rails modules that's local to the Slimy module.
Fixes:

Remove unnecessary debugging output, which isn't correctly pointing to ::Rails.logger anyway
Update Slimy::Reporters::RailsLogReporter in Slimy which appears as though it's specific purpose is to make the application Rails logger accessible - yet isn't used anywhere and suffers from the same underlying problem, referring to the wrong Rails module.

With #2 fixed, and #1 removed because it was useless outside a local dev environment, developers of this package can no log to Rails by way of Slimy::Reporters::RailsLogReporter.
Testing Notes
Ensure app starts up and responds to requests, without any new issues occur.
Browser Compatibility
N/A
Reset/Before you go tasks:
None
Review App Tasks
None
Caveats
None
Alternatives Considered
None
Further Reading
None
Merge Instructions
Please DO NOT squash my commits when merging

The changes look reasonable. However, I don't know how to test this before it goes to production (& in production I would be checking Honeybadger to see if the NoMethodError: undefined method logger' for Slimy::Rails:Module` error went away).
@matthewcorven Once this is in production will the core app need to be modified to point to the latest slimy version?

Yes @gardengeek, an accompanying PR will be created to install this gem to Core.


upload extension to the Open VSX registry

can you upload your extension here? https://open-vsx.org/

Hi, @vyrsh @nobody-famous . Now, we could use this plugin on open-vsx.org!
https://open-vsx.org/extension/rheller/alive
Cheers.


NRF: pinctrl disregards PWM channel selected in DT and forces a default channel

Describe the bug
The current pinctrl implementation for NordicSemi microcontrollers disregards the channel selected in the device-tree (eg. via pwms property). For instance, on the nRF52840, there are 4 PWM peripherals and each of them provides 4 channels that can be used simultaneously, however pinctrl does not take into account the selected channel and forces PWMn to use channel n, eg. PWM2 uses channel 2.
It all boils down to the implementation of API function pinctrl_configure_pins() in zephyr/drivers/pinctrl/pinctrl_nrf.c:
		case NRF_FUN_PWM_OUT0:
			NRF_PSEL_PWM(reg, OUT[0]) = pin;
			write = NRF_GET_INVERT(pins[i]);
			dir = NRF_GPIO_PIN_DIR_OUTPUT;
			input = NRF_GPIO_PIN_INPUT_DISCONNECT;
			break;
		case NRF_FUN_PWM_OUT1:
			NRF_PSEL_PWM(reg, OUT[1]) = pin;
			write = NRF_GET_INVERT(pins[i]);
			dir = NRF_GPIO_PIN_DIR_OUTPUT;
			input = NRF_GPIO_PIN_INPUT_DISCONNECT;
			break;
		case NRF_FUN_PWM_OUT2:
			NRF_PSEL_PWM(reg, OUT[2]) = pin;
			write = NRF_GET_INVERT(pins[i]);
			dir = NRF_GPIO_PIN_DIR_OUTPUT;
			input = NRF_GPIO_PIN_INPUT_DISCONNECT;
			break;
		case NRF_FUN_PWM_OUT3:
			NRF_PSEL_PWM(reg, OUT[3]) = pin;
			write = NRF_GET_INVERT(pins[i]);
			dir = NRF_GPIO_PIN_DIR_OUTPUT;
			input = NRF_GPIO_PIN_INPUT_DISCONNECT;
			break;

To Reproduce
Set a devicetree to use a PWM channel not matching the PWM peripheral ID.
Expected behavior
Impact
Without any workaround, NRF micros can only use up to 4 pwm-driven pins instead of 16, and care has to be put in selecting a channel matching the PWM ID.
Logs and console output
N/A.
Environment (please complete the following information):
Still present in the latest version in main
Additional context
N/A

It all boils down to the implementation of API function pinctrl_configure_pins() in zephyr/drivers/pinctrl/pinctrl_nrf.c:

Could you describe what exactly you think is wrong with this implementation?

To Reproduce
Set a devicetree to use a PWM channel not matching the PWM peripheral ID.

Like this, for example?
https://github.com/zephyrproject-rtos/zephyr/blob/5c901052ec2a105594a91e33b8fb43d40c34b88f/boards/arm/nrf52840dongle_nrf52840/nrf52840dongle_nrf52840.dts#L49-L60

I have been doing more investigation, and it appeared that the channel is retrieved from the pinctrl definition and not from pwms.
What is the purpose of having to specify the channel in the pwms property since now pinctrl is the way to go?

I have been doing more investigation, and it appeared that the channel is retrieved from the pinctrl definition and not from pwms, and I had selected mismatching channels. What is the purpose of having to specify the channel in the pwms property since now pinctrl is the way to go?

With pinctrl you assign a pin to a PWM channel, with pwms you select a given PWM channel to be used for a particular purpose.


Deprecate/ExpressionBuilder.Lambda from public api (internal use only)

Heavily used in unit tests, so those should still work. Debatable if it is needed in public api at this stage at this stage.
Must be going through some pipeline, then dynamically invoke a method in the dll loaded into a AssemblyLoadContext (previously AppDomain)

Must be going through some pipeline, then dynamically invoke a method in the dll loaded into a AssemblyLoadContext (previously AppDomain)

Investigate using the faster expression compiler (FastExpressionCompiler?)

Closed again since the original work was completed. Investigating to use faster expression compiler FastExpressionCompiler mentioned above moved into a new issue #491 491


Implement Run for ECS.

Closes https://github.com/remind101/empire/issues/570
This implements detached runs using the ECS RunTask api. I probably won't merge this until we have a solution for showing one off tasks like this within emp ps.

Going to hold on this until we have a better way of showing one-off's in emp ps.


Adjust installation restart steps for 2023.6.2

In 2023.6.2 (or maybe 2023.6.1) we need to enable the custom integration first before we can put it in the configuration.yaml

Thank you


0 duration "X" event is sometimes not rendered

With the attached json
trace-tree-chrome.json.txt
if you zoom in a lot near the bottom right, you can see

Notice the selection box, that should contain 2 "Identifying work" events, which are not displayed.
In the json, they correspond to events 4235 and 4238

Later on, there is event 4250, that has a zero duration too

and it's properly displayed, see the "arrow" in the first screenshot
Is there a bug preventing the "Identifying work" events to be rendered properly ?

Almost certainly what's happening here is that you have two events with identical timestamps down to the nanosecond and these are causing depth computation to break due to event ordering. I remember seeing another bug filed for this recently.
This stuff only happens in JSON because of the lack of precision but the JSON format is also supported on a best-effort basis. Patches to fix this are welcome but it's reasonably unlikely we will get to this.

https://github.com/google/perfetto/issues/359 is what I was thinking about.

@LalitMaganti thanks for the quick answer. I understand. We'll try to switch to the proto trace format then.

@LalitMaganti sorry to bother you again
I'm now trying to switch to a protobuf-based solution (shifting the timestamp by 1 might cause some other troubles for us) IIUC it should be feasible.
First of all, are the .proto files the ones in https://cs.android.com/android/platform/superproject/+/master:external/perfetto/protos/perfetto/ ?
What's the best way to consume them ?
For now I copied them in my project.
Then, I'm generating Java classes from them, via the com.google.protobuf Gradle plugin.
I'm having trouble generating the given event types.
In my trace, I have Complete Events (phase X) and Metadata Events (phase M).
How can I properly set the phase / event type for those kind of events ?

ChromeTraceEvent.newBuilder()
                    .setName("process_name")
                    .setPhase( ... )

How do I set the phase here, given it's an int ?
I tried to find enums in the proto files, corresponding to those types, but I only found TrackEvent.Type, which has UNDEFINED, SLICE_BEGIN, SLICE_END, INSTANT, COUNTER.
I can probably convert the Complete Events to pairs of SLICE_BEGIN/SLICE_END, but what about the metadata event (that I use for my process and thread names) ?
Also, the proto files says that ChromeTraceEvent is deprecated, and that I should use TrackEvent instead.
But then, how do I use TrackEvent or TrackEvent.LegacyEvent to generate Chrome trace events, as it seems to be way more generic and don't provide detailed fields as the chrome trace event has.
Eventually, what I need is to know how to convert in protobuf those kind of json chrome trace events
    {
        "name": "process_name",
        "ph": "M",
        "ts":<PHONE_NUMBER>152000,
        "pid": 1,
        "tid": 1,
        "cat": "",
        "args": {
            "name": "Worker Lease "
        }
    }

and
    {
        "name": "Run build",
        "ph": "X",
        "ts":<PHONE_NUMBER>152000,
        "dur": 122010000,
        "pid": 1,
        "tid": 1,
        "cat": "",
        "args": {
            "thread": "main @@ Daemon worker @@ 29"
        }
    }

What's the best way to consume them ?

Copy https://cs.android.com/android/platform/superproject/+/master:external/perfetto/protos/perfetto/trace/perfetto_trace.proto which is a single file amalgamation of all our protos.

In my trace, I have Complete Events (phase X) and Metadata Events (phase M).

Neither of these are 1:1 present in the new format. Complete events should be encoded as a pair of begin/end events. Metadata events usually can be represented some other way in the format

How do I set the phase here, given it's an int ?

Yeah I wouldn't use ChromeTrackEvent. Just use TrackEvent directly as descrived in the comments of the proto

I can probably convert the Complete Events to pairs of SLICE_BEGIN/SLICE_END, but what about the metadata event (that I use for my process and thread names) ?

Before you emit a packet for a tid/pid, emit a packet containing TrackDescriptor with the thread_descriptor field set for thread names. Set the UUID of this to some random value and then use this UUID to associate events to (i.e. you need a map<pid, map<tid, uuid>>). For process names emit a ProcessDescriptor for the first thread where you see pid is not in the map.

But then, how do I use TrackEvent or TrackEvent.LegacyEvent to generate Chrome trace events, as it seems to be way more generic and don't provide detailed fields as the chrome trace event has.

TrackEvent is not going to be a 1:1 correspondence with the JSON format but it's much much more powerful in pretty much every respect.

Eventually, what I need is to know how to convert in protobuf those kind of json chrome trace events

Yeah I've basically provided ad-hoc advice to this over the years (both internally and externally) and I've long wanted to write a guide but it never seems to be high priority. Let me know if you have trouble with this and I'll see if I can spare some time to write that up.

awesome @LalitMaganti this is immensely helpful. I tried hard to find some guidance on the web, but failed and resorted to ask here.

hmmm and now I have a list of TracePacket objects, but I don't know the logic to serialize it :/

If you're using java protobuf, isn't that just toByteArray() (see https://developers.google.com/protocol-buffers/docs/javatutorial#parsing-and-serialization)?
Note that also it's important you serialize Trace not a vector of TracePackets. You should add the vector of TracePackets into Trace before serialization.

That's what's wrong. I was trying to serialize the vector of packets

One thing that was also needed is to set the "trusted packet sequence ID" to some non-0 numbers on all my TracePackets
then all is good and can be displayed.
As you mentioned, I had to use the (deprecated) setProcessDescriptor to name my PIDs
I didn't manage to make it work by using a setTrackDescriptor where I use setThread and also setProcess inside.

One thing that was also needed is to set the "trusted packet sequence ID" to some non-0 numbers on all my TracePackets
Yup this is a fair point - forgot to point this out to you!

As you mentioned, I had to use the (deprecated) setProcessDescriptor to name my PIDs
Yeah ProcessDescriptor is easier but as you say it's deprecated and could be removed at some point (though the cost of keeping it around it around is low so there's no particular need to do so atm. TrackDescriptor is the supported way but it's a bit more tricky to get right.

Yeah ProcessDescriptor is easier but as you say it's deprecated and could be removed at some point (though the cost of keeping it around it around is low so there's no particular need to do so atm. TrackDescriptor is the supported way but it's a bit more tricky to get right.

would be good if you can explain how to work with track descriptor then, for setting process names.
I have
events.add(TracePacket.newBuilder()
                    .setTimestamp(beginTime)
                    .setTrustedPacketSequenceId(1)
                    .setProcessDescriptor(ProcessDescriptor.newBuilder()
                        .setPid(ctProcessId)
                        .setProcessName("my process name "+ctProcessId)
                    )
                    .build()
                )

and also
events.add(TracePacket.newBuilder()
                    .setTimestamp(beginTime)
                    .setTrustedPacketSequenceId(1)
                    .setTrackDescriptor(TrackDescriptor.newBuilder()
                        .setUuid(uuid)
                        .setThread(ThreadDescriptor.newBuilder()
                            .setPid(ctProcessId)
                            .setTid(ctThreadId)
                            .setThreadName(record.threadDescription)
                        )
                    )
                    .build()
                )

but I couldn't make it work when I tried to also declare my process (and thus its display name) in a track descriptor packet.
bonus question:
when setting a process (or thread name), Perfetto appends to it an internal index, eg

where the process name is Worker Lease 2, and the thread name is main @@ Execution worker @@ 134. Any way to prevent that from happening by default ?

You should not put both in the same packet: we parse only one of those two fields in each trace packet.
You should instead set the uuid of the process TrackDescriptor to some random value: doesn't matter what this is because you're not emitting any process scoped events (i.e. nestable async events in the json spec).
The association between the thread/process is not done by UUIDs but is handled by pid/tid. So to summarize the ordering of events is as:

Emit the process descriptor at the start of the trace with uuid=random(), pid=your_pid
Emit the thread descriptor at the start of the trace with uuid=random(), pid=your_pid, tid=tid
Emit all your events with track_uuid=thread descriptor's track_uuid

The debug_annotations field is designed for exactly this purpose: https://cs.android.com/android/platform/superproject/+/master:external/perfetto/protos/perfetto/trace/perfetto_trace.proto;l=9613.
See the comment on the proto on how to fill it: https://cs.android.com/android/platform/superproject/+/master:external/perfetto/protos/perfetto/trace/perfetto_trace.proto;l=8599

Closing this, as it's getting out of hand and talks about many different things. All resolved. Thanks for your help 👍


Using discriminatedUnion with schemas typed as  z.ZodType<MyType> raise TS error

We have a fairly complex recursive set of types and schemas that require us to define our types before our schemas and use z.ZodType when defining schemas. This is along the lines of this pattern -  https://zod.dev/?id=recursive-types
We've noticed that when we define our schemas this way we get type errors when trying to create a discriminated union on these types.
A simple reproduction
This compiles fine.
const catSchema = z.object({type: z.literal('cat'), scratches: z.boolean()})
const dogSchema = z.object({type: z.literal('dog'), barks: z.boolean()})
const petSchema = z.discriminatedUnion('type', [catSchema, dogSchema]);

type Cat = z.infer<typeof catSchema>;
type Dog = z.infer<typeof dogSchema>;
type Pet = z.infer<typeof petSchema>;

This won't compile and results in the ts error following
type Cat = { type: 'cat'; scratches: boolean;};
type Dog = { type: 'dog'; barks: boolean;};
type Pet = Cat | Dog;

const catSchema: z.ZodType<Cat> = z.object({type: z.literal('cat'), scratches: z.boolean()})
const dogSchema: z.ZodType<Dog>= z.object({type: z.literal('dog'), barks: z.boolean()})
const petSchema: z.ZodType<Pet>  = z.discriminatedUnion('type', [catSchema, dogSchema]);

Type 'ZodType<Cat, ZodTypeDef, Cat>' is missing the following properties from type 'ZodObject<{ type: ZodTypeAny; } & ZodRawShape, UnknownKeysParam, ZodTypeAny, { [x: string]: any; type?: unknown; }, { [x: string]: any; type?: unknown; }>': _cached, _getCached, shape, strict, and 14 more.ts(2740)

Is there a supported way to achieve discriminated unions on schemas defined in this way?

Yeah, unfortunately that won't work as those recursive schemas are types as ZodType, whereas z.discriminatedUnion only accepts object types at the moment. This is one of the fundamental problems I'm aiming to solve with Zod's next major version (coming soon™)

Thanks for replying to quickly Colin.
The reason this has come up for us now is that we faced a sudden and dramatic parsing performance issue on a largish dataset after adding one more type to the existing union of six types (not discriminated). I remembered reading at an earlier time that using a regular union vs discriminated could be quite a bit less performant due to the need to test for each during parsing so I tried moving to discriminated and was reminded of why they weren't initially setup like that.
Interestingly as an experiment I annotated the type errors caused by changing to a discriminated union with @ts-ignore and parsing was very fast but it also worked which I wasn't necessarily expecting. I haven't explored why this is ok or whether it's safe to do in the interim yet but it certainly shows the difference in performance.


Windows input: Editor livelock when alt-tab while right mouse is pressed.

Tested versions

Reproducible in 4.2.1
Reproducible in 4.3.beta bd2300d77

System information
Godot v4.3.beta (bd2300d77) - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3090 (NVIDIA; <IP_ADDRESS>13) - Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz (16 Threads)
Issue description
When the editor is defocused while the mouse is captured due to right click drag in 3D, if the editor pops up an alert, the user will be unable to acknowledge the alert due to mouse being captured by the underneath editor window, but unable to focus the editor window due to the alert.
I show how to escape this in the video but it is extremely difficult and most users will probably be forced to kill godot.
https://github.com/godotengine/godot/assets/39946030/a1a178c2-ad64-4535-885f-c875d65aade5
Unlike other issues I filed today, this is not a new bug, but it is made far more common due to issues such as #92304
Steps to reproduce

Open two copies of the editor in the same project so that Godot pops up a Please Confirm...newer on disk popup. Click Cncel.
Hold right mouse button
Alt+Tab
re-focus the godot editor.
The mouse will be captured but there will be a Please Confirm popup on top, but the mouse cannot move.
To escape, use another window to position the mouse on top of the cancel button of the blocking dialog, then click left button. Sometimes this is not enough: it might be necessary to press enter while the mouse is held.

Minimal reproduction project (MRP)
Reproduces in empty project.

@bruvzg As posted on the other similar issue, you might want to look at 12fda2fc13426799bd4376c1fbd99b179c685559. While I can't be 100% certain this is it, after a fair amount of bisecting, I'm beginning to reckon this might have caused a regression.

I tested this issue in 4.0.4.stable (works normal), v4.1.beta1.official [828ec2c5d] (broken) and latest master v4.3.beta.custom_build [be56cab58] (broken) and bisecting points to #69318 as the culprit:

Also when the bug happens, you can press alt+f4 that will close the popup, after that press the right mouse button and the mouse will appear again

Tested latest master (96a386f) and #92424 already fixed this issue


feat: check permission before updating mocked api

Issue
https://github.com/gravitee-io/gravitee-cockpit/issues/1303
Description
Check permission before updating mocked api

Gravitee.io Automatic Deployment
📚 View the storybook of this branch here

Gravitee.io Automatic Deployment
Congrats, all the CI steps were 🟢 . The Bot was able to deploy the build of this PR, so you can now try it directly here! 🚀
Notes: The deployed app is linked to the management API of the Element Zero team's environment.

Gravitee.io Automatic Deployment
📚 View the storybook of this branch here

Gravitee.io Automatic Deployment
Congrats, all the CI steps were 🟢 . The Bot was able to deploy the build of this PR, so you can now try it directly here! 🚀
Notes: The deployed app is linked to the management API of the Element Zero team's environment.

Gravitee.io Automatic Deployment
📚 View the storybook of this branch here

Gravitee.io Automatic Deployment
Congrats, all the CI steps were 🟢 . The Bot was able to deploy the build of this PR, so you can now try it directly here! 🚀
Notes: The deployed app is linked to the management API of the Element Zero team's environment.


Failure to generate is silent

Someone just reported that on running out of memory their generation did this:
🕐 File loading time: 395ms
👎 Program node exited with error code: null

and then silently proceeded instead of erroring out.
Looking at the code, this looks like logging from executeCmd in script-util.js which has this:
    let c = spawn(cmd, args)
    c.on('exit', (code) => {
      if (code == 0) resolve(ctx)
      else {
        console.log(`👎 Program ${cmd} exited with error code: ${code}`)
        reject(code)
      }
    })

and the presumed caller here is zap-generate.js, which has:
scriptUtil
  .stampVersion()
  .then(() => scriptUtil.rebuildBackendIfNeeded())
  .then(() => scriptUtil.executeCmd(ctx, 'node', cli))
  .then(() => {
    scriptUtil.doneStamp(startTime)
    process.exit(0)
  })
  .catch((code) => {
    process.exit(code)
  })

So presumably this ends up doing process.exit(null), which I am guessing coerces null to a number, which would be 0, which is success.
We need to either figure out why spawn is handing out null as an error code and fix that, or convert null to some nonzero code in our on('exit') handler.  We can't have silent failures to generate like this; it causes a huge amount of wasted time.
@tecimovic

The docs at https://nodejs.org/api/child_process.html#child_process_event_exit (which I assume are relevant here) say that there are two args passed to an exit handler: code and signal.  One or the other can be null.  The code is if the process exited on its own; the signal is if it was terminated by signal (as in this case, running out of memory).

To add some context this silent error was coming (seems to) from the size allocated for node.
Few months ago i also ran into mem issues but with a backtrace/dump and solve those by doing
export NODE_OPTIONS="--max-old-space-size=5120"
If that can help to figure out the issue...
Here below this dump
`022-02-25 16:59:46,989 root INFO    Found test target chip-tool (via examples/chip-tool/templates/tests/templates.json)
2022-02-25 16:59:46,990 root INFO    Generating target: ./scripts/tools/zap/generate.py src/controller/data_model/controller-clusters.zap -t examples/chip-tool/templates/tests/templates.json -o zzz_generated/chip-tool/zap-generated
🚀 Executing: git log -1 --format={"hash": "%H","timestamp": %ct}
🔍 Git commit: aeaa21a71496f3c002e3781b68964fb09d1fa3fc from Fri Feb 04 2022 03:21:40 GMT+0100 (Central European Standard Time)
🚀 Executing: npm run build-backend

<EMAIL_ADDRESS>build-backend /home/jo/DEV/CHIP_MASTER/connectedhomeip/third_party/zap/repo
npx tsc --build ./tsconfig.json
🚀 Executing: node dist/src-electron/main-process/electron-main.js generate --noUi --noServer --stateDirectory ~/.zap --zcl /home/jo/DEV/CHIP_MASTER/connectedhomeip/src/app/zap-templates/zcl/zcl.json --generationTemplate /home/jo/DEV/CHIP_MASTER/connectedhomeip/examples/chip-tool/templates/tests/templates.json --out /home/jo/DEV/CHIP_MASTER/connectedhomeip/zzz_generated/chip-tool/zap-generated /home/jo/DEV/CHIP_MASTER/connectedhomeip/src/controller/data_model/controller-clusters.zap
🤖 ZAP generation started:
🔍 input files: /home/jo/DEV/CHIP_MASTER/connectedhomeip/src/controller/data_model/controller-clusters.zap
🔍 output pattern: /home/jo/DEV/CHIP_MASTER/connectedhomeip/zzz_generated/chip-tool/zap-generated
🔍 using templates: /home/jo/DEV/CHIP_MASTER/connectedhomeip/examples/chip-tool/templates/tests/templates.json
🔍 using zcl data: /home/jo/DEV/CHIP_MASTER/connectedhomeip/src/app/zap-templates/zcl/zcl.json
🔍 zap version: ver. 2022.2.4, featureLevel 67, commit: aeaa21a71496f3c002e3781b68964fb09d1fa3fc from 2022-02-04T02:21:40.000Z
🕐 Setup time: 1s 104ms
👉 using input file: /home/jo/DEV/CHIP_MASTER/connectedhomeip/src/controller/data_model/controller-clusters.zap
👉 using output destination: /home/jo/DEV/CHIP_MASTER/connectedhomeip/zzz_generated/chip-tool/zap-generated
🕐 File loading time: 356ms
⇝
<--- Last few GCs --->
[112106:0x4c846f0]    22976 ms: Mark-sweep (reduce) 2046.9 (2052.7) -> 2046.7 (2054.4) MB, 1308.1 / 0.0 ms  (average mu = 0.099, current mu = 0.002) allocation failure scavenge might not succeed
[112106:0x4c846f0]    24316 ms: Mark-sweep (reduce) 2047.7 (2056.4) -> 2047.6 (2057.4) MB, 1207.2 / 0.0 ms  (+ 131.2 ms in 16 steps since start of marking, biggest step 74.5 ms, walltime since start of marking 1340 ms) (average mu = 0.051, current mu = 0.
<--- JS stacktrace --->
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
⇝  1: 0xa04200 node::Abort() [node]
⇝  2: 0x94e4e9 node::FatalError(char const*, char const*) [node]
⇝  3: 0xb7978e v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]
⇝  4: 0xb79b07 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]
⇝  5: 0xd34395  [node]
⇝  6: 0xd34f1f  [node]
⇝  7: 0xd42fab v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [node]
⇝  8: 0xd46b6c v8::internal::Heap::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [node]
⇝  9: 0xd1524b v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationType, v8::internal::AllocationOrigin) [node]
⇝ 10: 0x105b23f v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [node]
⇝ 11: 0x1401219  [node]
👎 Program node exited with error code: null`

At the moment we probably need to increase the value at https://github.com/project-chip/connectedhomeip/blob/2358a9a7f4add4354ee8636457d7cf7d65f1f735/scripts/tools/zap/generate.py#L193 t something like 16384.
I tend to think that a bit part of the memory allocation issue is from the YAML test template - I have a patch that should reduce it drastically but this not going to be this week...


Code_Review Trial Project

Status: REQUIRED CHANGES ♻
Check the comments under the review.

[ ] Kindly make sure to update your PR title and PR description by proving a well-detailed summary and title which makes your PR clean and professional and even self-explanatory. 😉

Example of good PR Summary

[ ] Kindly make sure to use the Microverse README template which will help to explain your repository contents and have a clean and professional Readme. Please make sure to customize it according to your project and fill in the needed information and remember all main sections must be included except the FAQ section which is optional.

[ ] Kindly make sure to add linter because of the requirements of Microverse flow.

[ ] Kindly make sure to add text.md file and it must be presented into gitignore file and make sure that it is not represented in your repository anymore. Kindly fix that.

In text.md file,

-> @@ -0,0 +1 @@
+This file should be ignored by git.

Optional suggestions
Every comment with the [OPTIONAL] prefix is not crucial enough to stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me @DanielAD10  in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.


Fix pycodestyle E305 using autopep8

Using pycodestyle v2.3.1 (successor to the tool pep8) to check coding style, there were hundreds of cases of:
E305 expected 2 blank lines after class or function definition
These were fixed using:
$ autopep8 --version
autopep8 1.3.4 (pycodestyle: 2.3.1)
$ autopep8 --select E305 --in-place ...

Closes #8388
Cross ref #8384 for updating TravisCI to use pycodestyle in place of pep8 for style checks.

Since #8384 was merged, I have updated this to enforce the E305 check.

While I am a fan of good style I'm not sure if this will lead to clearer code in some places.
e.g. scipy/stats/_continuous_distns.py. There a lot of the distribution objects are instantiated by a one liner on the line after the class. That seems cleaner to me.

@andyfaff I had similar feelings in another project where we had a file with class/function definitions followed by invocations. As far as I can tell, there is no easy way to ignore E305 on a file level.
On balance I am happy with enforcing E305 (Special cases aren’t special enough to break the rules.), but I'm content either way - this is a choice for the SciPy team to make.

At least this PR only adds blank lines, so git blame won't get muddled with style-only changes.
My other concern is the added burden on new/occasional contributors, who'll see style-related CI failures more frequently with stricter checking. GitHub makes it easy for maintainers to add fixup commits, though, so that's probably not too bad here either.

There's a conflicting file that's going to prevent merging at the moment.
Not surprisingly it's in _continuous_distns. Are you able to fix the problem @peterjc?

I'll update this - PEP8 style changes can be a pain if they touch code being worked on in other pull requests.

Especially if they are a large changeset.
On 20 February 2018 at 20:36, Peter Cock<EMAIL_ADDRESS>wrote:

I'll update this - PEP8 style changes can be a pain if they touch code
being worked on in other pull requests.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/scipy/scipy/pull/8391#issuecomment-366920421, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAq51mUfZsbdTx7AYc5H6HUryH0rZrdmks5tWpIJgaJpZM4SALRL
.

--

Dr. Andrew Nelson

I'm going to squash and merge this tomorrow if no one has any objections.

"Fixes, Closes..." clauses needs to be in the body of the PR description for GitHub to register it.

Merged now, to avoid having to resolve any more conflicts with other PRs.


Add another dimension to PermutationImportance.results_

Currently, PermutationImportance.results_ is a "list of score decreases for all experiments." If you have, for example, n_iter=3 and 5-fold CV, then you have 15 experiments.
A first issue with this is that the documentation doesn't describe what order the list is in. Based on the values I got, I'm guessing that the order is:

1st fold, 1st iter
1st fold, 2nd iter
1st fold, 3rd iter
2nd fold, 1st iter
...

Can someone confirm this is correct?
Second, for time series problems using something like a TimeSeriesSplit, it's important to know how average feature importances are changing over time. I would like to take the average importance for each feature within each fold, and compare those between folds.
If results_ were structured as an array of, say, n_splits x n_iter x n_features, it would be trivial to calculate results_.mean(axis=1). Given the current structure, one has to write a loop to average across iterations without averaging across folds.
I'm requesting the addition of another dimension to PermutationImportance.results_. Or at the very least, documenting what order the results list is in.

Hi eli5-ers. I'm working on a new project that uses eli5 and still wondering what order the PermutationImportance.results_ are in. Can anyone tell me?


Typo in FILE.sadl: createBy -> createdBy

https://github.com/ge-high-assurance/RACK/blob/40b89be3b7c412913ef7e6881d45fed3ee0c8d41/RACK-Ontology/ontology/FILE.sadl#L39

Corrected as part of merge of analysis_enhancement branch.


WIP: fix & enhance

some things I did ...

wip because test is failing:
make test-sqlite#TestUserOrgs do still get org when it should not :/
generated sql:
--                                 get user             // filter by user id                                                          // make sure user set membership visible                                                              	// return only org's actor is allowed to see
-- TestUserOrgs: unrelated user should not get private org membership of privateMemberUsername
SELECT `id`, `...`, `lower_name`,  FROM `user` WHERE   `user`.`id` IN (SELECT org_user.org_id FROM org_user WHERE org_user.uid=4) AND `user`.`id` IN (SELECT org_user.org_id FROM org_user WHERE org_user.is_public= true OR org_user.uid=5) AND (`user`.visibility IN (public,limited) OR `user`.`id` IN (SELECT org_user.org_id FROM org_user WHERE org_user.uid=5)) ORDER BY `user`.`name` ASC; -- [4 true 5 public limited 5] - 81.88µs
SELECT count(*)                    FROM `user` WHERE   `user`.`id` IN (SELECT org_user.org_id FROM org_user WHERE org_user.uid=?) AND `user`.`id` IN (SELECT org_user.org_id FROM org_user WHERE org_user.is_public= ?    OR org_user.uid=?) AND (`user`.visibility IN (?,?)             AND `user`.`id` IN (SELECT org_user.org_id FROM org_user WHERE org_user.is_public= ?)                      AND `user`.visibility=?;                                 -- [4 true public] - 26.57µs


[VideoService] contradicting description about post video

Describe your question
In videoRecord.java it says:
    /**
     * The public time of this video, can be null
     */
    private Timestamp publicTime;

Hence, I interpret this as the publicTime can be null and the video with null publicTime is visible once it is reviewed.
However, when benchmarking on videoService#postVideo, I get multiple wrong answers. And I find out that if I simply add a constraint to return null when publicTime is null, I can pass all testcases.
So the question is which description is correct: the one in videoRecord.java (can be null) or the result from benchmark (can't be null)?

follow the benchmark...

@WhatWEat
Thank you for your reply. But I have another question, in PostVideoReq.java it says:
/**
     * The video's public time.
     *

     * When posting a video, the owner can decide when to make it public.
     * Before the public time, the video is only visible to the owner and superusers.
     *

     * If the video is already published
     * (when this DTO is used to {@link io.sustc.service.VideoService#updateVideoInfo(AuthInfo, String, PostVideoReq)}
     * update a video), this field should be ignored.
     */
    private Timestamp publicTime;

Does this ignore mean we should not update the publicTime?
Then in this case, can publicTime be null?
It seems that my answer is wrong if I do as above (if video is published, allow publicTime in PostVideoReq to be null and don't update current publicTime) when benchmarking.

That's also my mistakes in doc... But you might get the old version? I have edited the description of publicTime in PostVideoReq.java which means when posting or updating the video, you should provide a exact time(not null and after now()) to make the video public.
    /**
     * The video's public time.
     *

     * When posting a video, the owner can decide when to make it public.
     * Before the public time, the video is only visible to the owner and superusers.
     *

     * This field can't be null.
     */
    private Timestamp publicTime;

Thank you for your reply.


Nothing is showing

nothing is showing, how do i add a badge to a channel?

Same problem. How is this plugin actually used?


Add prober for verifying Rekor write correctness

Signed-off-by: Cody Soyland<EMAIL_ADDRESS>
Summary

This adds a verification flow to the prober to ensure new entries have valid verification material (inclusion proof and SET).
Fixes #351
Release Note

Documentation

@priyawadhwa Thanks for the review! FYI, I don't have permission to merge.


[Feature Request] how to clear all annotation of target element like the   cornerstoneTools.clearToolState(element, toolName);

What feature or change would you like to see made?
is there function to do this in cornerstoneTools.annotation
Why should we prioritize this feature?
the funtion like  cornerstoneTools.clearToolState this is very useful

cornerstoneTools.annotation.state.removeAllAnnotations(groupKey: string, toolName?: string)


Add support for IterableDataset to TorchDataLoaderAdapter.

Fixes https://github.com/keras-team/keras/issues/19156
The IterableDataset can optionally implement __len__.

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

Comparison is base (c8700f4) 80.14% compared to head (073afe6) 53.87%.
Report is 26 commits behind head on master.

Files
Patch %
Lines

keras/backend/tensorflow/linalg.py
18.68%
74 Missing :warning:

keras/backend/jax/trainer.py
0.00%
43 Missing :warning:

keras/ops/linalg.py
89.17%
22 Missing and 7 partials :warning:

keras/callbacks/tensorboard.py
0.00%
27 Missing :warning:

keras/backend/jax/linalg.py
42.85%
24 Missing :warning:

keras/backend/torch/linalg.py
42.10%
22 Missing :warning:

keras/backend/tensorflow/numpy.py
0.00%
13 Missing :warning:

keras/backend/jax/core.py
0.00%
8 Missing :warning:

keras/backend/jax/numpy.py
0.00%
7 Missing :warning:

keras/backend/tensorflow/core.py
0.00%
7 Missing :warning:

... and 9 more

Additional details and impacted files
@@             Coverage Diff             @@
##           master   #19176       +/-   ##
===========================================
- Coverage   80.14%   53.87%   -26.28%
===========================================
  Files         341      362       +21
  Lines       36163    38916     +2753
  Branches     7116     7551      +435
===========================================
- Hits        28982    20965     -8017
- Misses       5578    16450    +10872
+ Partials     1603     1501      -102

Flag
Coverage Δ

keras
53.87% <58.75%> (-26.12%)
:arrow_down:

keras-jax
?

keras-numpy
53.87% <58.75%> (-3.22%)
:arrow_down:

keras-tensorflow
?

keras-torch
?

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

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


Google Chrome 49 bug

After update Google Chrome 49.0.2623.75 (64-bit) stable version which was released yesterday I saw bug with evil-icons: in my rails 4.2 application I have two pages: landing and auth, on landing page evil-icons works perfectly and on auth page I can't see them.
In previous version I have not had such problems with evil-icons.
Live example:
landing with icons on footer - https://foodiegram.ru
auth icons doesn't visible - https://foodiegram.ru/auth
In other browsers everything works as usual.
rails <IP_ADDRESS>
evil_icons 1.8.0
Thanks for help.

Will investigate, thank you for the report.

I found a problem: in my layout a have an <base href="/"> for angular html5 mode.
After I removed <base href="/"> and replace
$locationProvider.html5Mode(true)
with
$locationProvider.html5Mode
  enabled: true
  requireBase: false

evil-icons appears.


Open infoWindow manually

I'm displaying markers and infoWindow using directives.
I have exact same list on right side of the map, which show list of address's (markers).
I want to let user click on thous address, which will open marker infoWindow and center the map to that marker.
How can I open infoWindow manually for directive marker > infoWindows?

https://github.com/SebastianM/angular2-google-maps/issues/378#issuecomment-225368565


Stardust does not increase

Is the bot not collecting stardust? The bot gained many levels but stardust amount never changed!

Its not updates in client until you spent it or relogin

@vertangelx If you got any other issues/questions feel free to open a new issue.


⚠ Bofrost.fr has degraded performance

In ee7756e, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1391 ms

Resolved: Bofrost.fr performance has improved in 4b395b8 after 3 hours, 2 minutes.


tacker installation issue

when we run this command  "openstack vim register --config-file vim_config.yaml --description 'free5gc vim' --is-default free5gc".
it shows "public endpoint for nfv-orchestration service not found".
before that, we follow every step exactly.but it seems we did not install tacker successfully.
what happend?

Feeling maybe vim_config.yaml not set parameters complete the file needs to be updated to conform to the environment
You can test command "openstack vnf list" to see if Tacker is successfully installed

stack@user:~$ openstack vnf list
openstack: 'vnf list' is not an openstack command.

It seems that you did not install successfully Tacker
You can refer to https://docs.openstack.org/tacker/latest/ to install Tacker


Windows 10 api-ms-win-core-wow64-11-1-0.dll not found

On my Windows 10 system, C:\Windows\SysWOW64\WS2_32.dll shows a dependency on api-ms-win-core-wow64-11-1-0.dll but cannot find it. Does it need to be added to Dependencies?
The error message when clicking on it is also a little odd. "We could not find api-ms-win-core-wow64-11-1-0.dll file on the disk anymore, ...". Was it ever there?
p.s. Thanks for bringing us this updated implementation!

Hi,
Can you test it please with the current master build : https://ci.appveyor.com/api/buildjobs/u9dgn4w6dgf9j549/artifacts/output%2FDependencies_x64_Release.zip ?
I've tested on my side and I can't reproduce your issue, I've recently fixed a bug in the api-set resolver so I may also fixed your issue.
Cheers

That does the trick. This time there are no complaints about missing
modules.
Thanks! You can close this issue.

From: lucasg<EMAIL_ADDRESS>Sent: April 18, 2020 03:26
To: lucasg/Dependencies
Cc: Richard Sargent; Author
Subject: Re: [lucasg/Dependencies] Windows 10
api-ms-win-core-wow64-11-1-0.dll not found (#135)
Hi,
Can you test it please with the current master build :
https://ci.appveyor.com/api/buildjobs/u9dgn4w6dgf9j549/artifacts/output%2FDe
pendencies_x64_Release.zip ?
I've tested on my side and I can't reproduce your issue, I've recently fixed
a bug in the api-set resolver so I may also fixed your issue.
Cheers

You are receiving this because you authored the thread.
Reply to this email directly, view
https://github.com/lucasg/Dependencies/issues/135#issuecomment-615837857
it on GitHub, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AA7S2BAKSRAMKSPJXYBHVR3RN
F53VANCNFSM4MI7BA4Q> .
<https://github.com/notifications/beacon/AA7S2BA5EOHQ2IDDWT7G443RNF53VA5CNFS
M4MI7BA42YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOES2PBII
.gif>

@lucasg It would be great if you published a release that includes this fix. Thanks!


wrong chars inside .log file  and [39m when using colorize()

winston version?

[ ] winston@2
[x] winston@3

node -v outputs: v8.11.1
Operating System? (Windows, macOS, or Linux): macOS
Language? (all | TypeScript X.X | ES6/7 | ES5 | Dart): ES6

What is the problem?
When I add colorize(), my .log file contains  and [39m.
Why is it happening?
This is my code:
'use strict';

const { format, createLogger, transports } = require('winston');

const logger = createLogger({
    format: format.combine(
        format.colorize({ all: true }),
        format.simple()
    ),
    transports: [
        new transports.File({ filename: 'combined.log' }),
        new transports.Console({ handleExceptions: true })
    ]
});

logger.info('Hello there. How are you?');
logger.info('Hello again distributed logs', {
    pippo: {
        pluto: 'cio',
        ooo: 2.4,
        sasas: [1, 2, 3],
        ole: {
            prova: true
        }
    }
});
logger.warn('some foobar level-ed message');
logger.error('some baz level-ed message');
logger.silly('some bar level-ed message');

This is the result log:
info: Hello there. How are you?
info: Hello again distributed logs {"pippo":{"pluto":"cio","ooo":2.4,"sasas":[1,2,3],"ole":{"prova":true}}}
warn: some foobar level-ed message
error: some baz level-ed message

Removing this line from my code: format.colorize({ all: true })
My log file become correct:
info: Hello there. How are you?
info: Hello again distributed logs {"pippo":{"pluto":"cio","ooo":2.4,"sasas":[1,2,3],"ole":{"prova":true}}}
warn: some foobar level-ed message
error: some baz level-ed message

What do you expect to happen instead?
Log file shouldn't contains [32m and [39m

Strange!  I think those chars are supposed to be what set the colors, not quotes.  Do you know if you've done anything special regarding your terminal environment (is this stock os x terminal, some IDE, etc.), any custom settings?  Could be an issue with colorize, not totally sure at first glance.

 I think those chars are supposed to be what set the colors, not quotes.
Yes, it's possible.
Nothing special about my terminal. I'm using iterm2, but the same issue happens with the stock terminal of macos.
My terminal configuration is created with this repo, but I don't see anything strange: https://github.com/Ks89/Dotfiles_macOS

Fixed using colorize ONLY inside transports.Console, instead of globally. I don't know why but it's working.
...
if (process.env.NODE_ENV !== 'production') {
    logger.add(new transports.Console({
        ...
        format: format.combine(
            format.colorize({
                all: true
            }),
           ...
        ),
    }));
}

Hello @Ks89 ,
I don't know where colorize is so that I can remove it, here is my code:
  new winston.transports.File({
    format: winston.format.combine(
      winston.format.colorize({ // I added this but it's still not helping
        all: false,
        message: false,
        level: false,
      }),
      winston.format.label({ label: 'API' }),
      winston.format.timestamp(),
      winston.format.printf(({ level, message, label, timestamp }) => {
        return `${timestamp} [${label}] ${level}: ${message}`;
      }),
    ),
    filename: environment.logDirectory,
    level: 'http',
    maxsize: 1024 * 1024 * 10,
  }),

In main.ts, I have
import { WINSTON_MODULE_NEST_PROVIDER } from 'nest-winston';
app.useLogger(app.get(WINSTON_MODULE_NEST_PROVIDER));

In AppModule.ts, I have the following:
import { WinstonModule } from 'nest-winston';
...
    WinstonModule.forRoot({
      transports,
    }),

I can't find anywhere else that uses colorize() and I don't know how can I disable it.

@SDAdham hey sd. I have the same problem as you. And after research & debug, I found that the problem was occurred by winston.format.colorize(.
Pls remove that setting. It'll be ok


New Password question on codeforces

hi , I want to solve this question using C++...
Please assign this issue to me under LGM-SOC21.
Looking forward to contribute here...
question link: https://codeforces.com/contest/770/problem/A

hey, i can try this plz assingn me

Go Ahead @ChetasShree

hey, i can try this plz assingn me

Hey @vishal46556 you can Participant in LGM SOC or not

okk  sorry@vishal46556 issue was first asking by chetashree you work on different issue

I will write in different languages I know java and c++ both if he written in c++ then I write in java with different manner

go Ahead @vishal46556


fix: Fix possible panic! in response.

This closes #208.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

33 of 34 (97.06%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.004%) to 93.149%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/imap4rev1/response.rs
29
30
96.67%

Totals

Change from base Build<PHONE_NUMBER>:
0.004%

Covered Lines:
8471

Relevant Lines:
9094

💛  - Coveralls


svg from plotgitsch in wrong directory

Hello,
I'm running Kiri with old schematics that require plotgitsch. During the launch I've dozen of windows popping on my screen showing each .sch svg (they look ok) for each project commit (it's ... a lot). After the processing is done, every svg is reported as 404 in the web interface. In the project directory, svg are left in the middle of the schematics (with prefix from_* or to_*) instead of the .kiri directory
My setup
I run Arch Linux, Kiri is installed from AUR : https://aur.archlinux.org/packages/kiri-git
plotgitsch wasn't properly compiled. So I built and installed it separately from https://github.com/jnavila/plotkicadsch
I've got Kicad 7, I've still to figure out why python can't find the pcbnew import but it seems unrelated to the issue, no other error reported with "kiri -V -r [...]"
Do you know what may be missing ? You mentioned in an other issue that you have forked plotgitsch but it doesn't show in the .gitmodules so I'm not sure it still true.
Thanks

Hello @chrisnoisel
I am not responsible for this AUR repo so I cannot add much here.
I recommend you install it with the instructions found in the README.md. The installation is pretty straightforward. You just have to run 2 scripts (copy and paste). One is going to install the basic dependencies and the second one will install Kiri (with Kidiff and plotgithsh). If you do that, you can share the issues with me, then I will fix the installer if needed. However, if you prefer to fix yourself with the AUR package, feel I won't be able to update my scripts to share them with others that use Arch and have the same issues you have.

During the launch I've dozen of windows popping on my screen showing each .sch svg (they look ok) for each project commit (it's ... a lot)

This seems to be something broken on kiri however I could not reproduce it by my side.. kiri should not show svgs while running (unless maybe, you are using the wrong version of plotgitsh or maybe my fix script is not in front in the PATH of one that plotgitsh runs).

I run Arch Linux, Kiri is installed from AUR : https://aur.archlinux.org/packages/kiri-git plotgitsch wasn't properly compiled. So I built and installed it separately from https://github.com/jnavila/plotkicadsch

Alright, so schematics are good to go, right?
For layout, Kiri uses Kidiff, which uses Python module PCBNew. This module comes with Kicad. Now, Kicad 7 may have changed something for Arch or the AUR maintainer could have done that too.  So you have to play a bit with kidiff to check if you can tune it to make it work.
The latest kiri with kicad 7 has the option to plot the layout using kicad-cli. It may work for you. But it is not the default since it takes ages. But if you want to give it a try before of fixing kidiff/pcbnew module
     -k|--kicad-cli   Force kicad-cli to plot layout

To test everything, you can go inside your kicad repo and run kiri with -V flag. So it will show every command it uses to generate each step. Then you can use those commands independently to try to fix each tool for each step.
For instance:
kiri -r -V

This will remove old runs and show the commands.
For instance...

Then you are going to see the command in Yellow (here) and the directory from which it runs that command.
Then you can rerun this command inside the given directory to evaluate if the tools are working.

You mentioned in an other issue that you have forked plotgitsch but it doesn't show in the .gitmodules so I'm not sure it still true.

I forked it in the past, but I think I am not using my version anymore.
Plotgitsh uses this git-imgdiff script, so I have a version that should be in front of it in the PATH.
Check from where this script comes with which git-imgdiff
It should come from .../kiri/bin/ folder.

Hi @leoheck

I am not responsible for this AUR repo so I cannot add much here.
Yeah don't worry I'm just here to have some clues as the project has multiple layers of dependencies, it's not easy to track everything. If I can pinpoint the problem I might contribute to the AUR later.

Alright, so schematics are good to go, right?
It's the other way around, sorry if I wasn't clear enough. PCB layouts are good (both with --kicad and Kidiff, I've fixed the import pcbnew). The problem are the schematics.

Check from where this script comes with which git-imgdiff
It should come from .../kiri/bin/ folder.
And that's it ! Displaying was the initial behavior of git-imgdiff I didn't get that.

It seem to work now, thank you !
I've still to think about how I'd like to package that. Ideally I'd rather not override the git-imgdiff in the .bashrc from a perfectly fine standalone plotgitsch install, I guess that would be patched at runtime, what do you think ?

Good!

I guess that would be patched at runtime, what do you think?

This script is used inside plotgitsch tool. When I forked it I could replace it easily. But then everything would be redirected to my fork, and I would like to give the whole traffic to the original tool.
I saw that I could override this  git-imgdiff with my custom script to make kiri happy =)
How would you suggest to patch this script at the runtime?
It has to be in the path so plotgitsch finds it.
Ah, I could source it at the runtime if this is what you are suggesting since it is inside kiri repo.
But then I would lose the ability to run plotgitsch commands in the command line easily, unless I add this as an instruction to each line.

To me, if you don't use a specific fork, plotgitsch should be available in its original form from the command line since it's expected to follow its documentation/behavior etc. or that could be considered a bug, or disturb other programs relying on it.
Altering the program in command line should be an optional conscious decision from the user (like using a virtual env in python or LD_PRELOAD), that is : willingly setting up a bashrc or having a command modifying the PATH at will etc.
I think Kiri could silently do something like that : internally appending the PATH with its own git-imgdiff first during runtime or plotgitsch call.
(Other solution : plotgitsch could provide an argument to set a path to a custom git-imgdiff script, that would be a clean solution)

To me, if you don't use a specific fork, plotgitsch should be available in its original form from the command line since it's expected to follow its documentation/behavior etc. or that could be considered a bug, or disturb other programs relying on it.

Agree, but no one will use it if they are using kiri, honestly. I never heard anyone complaining. But I totally agree with you. this is why I chose to use the original version. You can override the path with the kiri's git-imgdiff whenever you want.
As a workaround for you... you can remove the custom git-imgdiff from kiri/bin and put it somewhere else. And then if you want to run kiri you have to preload the PATH with this new place where the custom git-imgdiff is. This way you can have a customizable environment with the original plotgitsch.

(Other solution : plotgitsch could provide an argument to set a path to a custom git-imgdiff script, that would be a clean solution)

I tried many times, but the dev does not understand me or he does not want to help me.
Then I forked it once, but after some time I chose to not fork it anymore. Forking it won't help anything since Kiri users are going to use my version o plotgitsch anyway, which can be a totally different app. Also, modifying plotgitsch is hard since that language (or maybe that code in particular or both) is a bit complex for me to understand. I would love to fork it and add this flag that adds an extra ability to change the script or even an environment variable, when set, to use a different tool to replace that script. If you feel that you can help me change it, I totally agree to do that. But I have failed many times.
Another easy way out of this is to rename the plotgitsch/plotkicadsch to something else, whithing this fork.. then it will be a different tool, then the git-imagediff could be renamed as well. So we can have both repos concurrently installed. This could be another option and could be easier to make it work.

Another easy way out of this is to rename the plotgitsch/plotkicadsch to something else

I think that is more work than having Kiri switching the git-imgdiff when needed. It allows you to keep your bashrc config too.
Since I want to have Kiri managed by pacman, I'll probably create dependency packages instead of submodules with an install script. I'll see.
For now my issue is resolved. Thanks for your time !


RibbonWindow

When Dock is used with ribbonwindow, Dock cannot receive mouse events correctly.
https://github.com/jinyuttt/PlatApplication.git
https://github.com/jinyuttt/PlatApplication/pull/2
https://github.com/wieslawsoltes/Dock/issues/168

Thanks for the heads-up on this. I've reached out to this Dock project to try to learn more about the problem, in the hopes that I'll then be able to fix it. Sorry for the inconvenience.

@Splitwirez  Thank you for your efforts. I got a lot of things.

??


Expose ModelMultipleChoiceFilter query parameters in swagger

Show users that some API endpoints can accept the same parameter several times to enable further filtering.  Could be nice to expose this with swagger if possible. For example: GET /api/ipam/aggregates?slug=apnic&slug=ripe.

This doesn't seem possible using Swagger. We might have better luck using the new built-in docs under Django REST Framework 3.6 (if I can get them working).


pallet-beefy: ensure mandatory block once per session

BEEFY mandatory blocks are defined as one per session, regardless of whether authority set changed.
This PR changes the BEEFY authority set each session, even when the authorities stay the same. A new set with a new ID is created each session.
Fixes: https://github.com/paritytech/grandpa-bridge-gadget/issues/411

Alternative solution:
Another option would be to keep the BEEFY validator set in sync with GRANDPA, and add new (slimmer) Beefy::NewSession or Beefy::MandatoryBlock header digest that gets deposited once per session.
AuthoritiesChange digest would only be deposited on actual ValidatorSet changes.
Alternative PROS:

follows GRANDPA validator set changes, but not seeing any particular advantages in doing so
somewhat slimmer headers, but inconsequential since we're talking about 1 digest per session

Alternative CONS:

losing Mandatory Blocks 1:1 mapping with Validator Sets - in current PR, even if validators within the set doesn't change, the validator set id increases monotonically alongside BEEFY mandatory blocks (and frame sessions) - with the alternative described above, we'd lose that.

Personal recommendation:
Stay with current PR proposal.

I don't have any questions about the code changes, but can you, please explain here shortly (for those who are out of loop, like me):

Good point, I've added the info below in the PR description as well.

the same document states that the algorithm for BEEFY and GRANDPA is the same: "Since GRANDPA is considering session boundary blocks as mandatory as well, session_start block will always have both GRANDPA and BEEFY Justification". But iiuc you're saying that if GRANDPA authorities are not changed, the begin-session header is not mandatory for GRANDPA. Could it be that the document is wrong here and we shall leave everything as-is;

I'm not sure if GRANDPA justification is guaranteed for session_start block if authorities are not changed in said session. I will find out and update the BEEFY doc if it turns out it's mistaken in this case.

follow up of ^^^: if the document is correct, then what's the reason to mark begin-session headers as mandatory? What we want to achieve/prove with this justification?;

The reasoning for one mandatory BEEFY block per session is to make sure we don't go for long periods without any BEEFY justification.
In the particular case of Lean BEEFY, this also helps restarted nodes to start voting faster since they will start voting after first witnessed mandatory BEEFY block justification.

dumb q: what is meant by "the underlying economic identities may have changed". Is it validator stake or something else?

Right! I think stake changes are relevant too, also I believe you could have new validator elections resulting in the same set as before; even though keys didn't change, a new validator set was in fact elected.

I'm not sure if GRANDPA justification is guaranteed for session_start block if authorities are not changed in said session. I will find out and update the BEEFY doc if it turns out it's mistaken in this case.

It is not guaranteed, only for blocks that change the authorities (and therefore start a new "set id").

Note that the spec does not mention the digest items at all. IMHO the description here is a bit misleading, cause it assumes that "mandatory blocks" are the ones with the BEEFY digest. While practically it's probably desirable and that's exactly how it works now, I'd consider this an implementation detail of the gadget code and not the actual spec requirement (BEEFY does not deal with headers at all). I.e. we had mandatory blocks at session boundaries even now, but we fail to "detect" them in the digest.
Might be worth adding some sort of documentation about that to the spec imho.

bot merge


Type of property 'prototype' circularly references itself in mapped type

Hello, I have already asked this question but didn't manage to reproduce it, so I open a new issue.
This is what is happening:
Type of property 'prototype' circularly references itself in mapped type '{ [K in keyof Blob]-?: K extends string ? NonNullable<Blob[K]> extends object ? `${K}${NonNullable<Blob[K]> extends unknown[] ? "" : "."}${StringPathLeaves<...> & string}` : never : never; }'.

And it happen when I add a file field to the schema.
eg:
export const customerSchema = z.object({
	id: z.string(),
	name: z.string(),
        ....
        logo: z.string().nullable(),
	_logo: z.instanceof(File).optional(),
});

Ps. I'm using shadcn-svelte in the screenshot but it's the same if I use super forms directly.
Is someone experiencing this and found a solution? It also breaks svelte check, so I cannot deploy without removing the file from schema.

Closing, as files aren't supported in the schema.


[GOBBLIN-2102]Concurrent flow status check fix

Dear Gobblin maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[x] My PR addresses the following Gobblin JIRA issues and references them in the PR title. For example, "[GOBBLIN-XXX] My Gobblin PR"

https://issues.apache.org/jira/browse/GOBBLIN-2102

Description

[x] Here are some details about my PR, including screenshots (if applicable):
There's a bug that causes GaaS multileader to kick off unintended concurrent flows which happens in the order described below:

Host A checks the latest flow execution status to ensure the prior flow is not running, sees that the prior execution is still running.
Host A fails the flow pending execution as it cannot run concurrent flow, this emits a FAILED event to GaaS which is ingested by the JobStatusMonitor.
Host B checks the latest flow execution status, sees the current flow execution ID which is FAILED (considered a finished flow).
Host B kicks off the pending flow execution when it shouldn't be
We are changing the so that it checks all the flow status and sees if they are in terminal state or not.
Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

How about having a SKIPPED status, instead of FAILED, when the dag is not run because another flow is runnings.
@Will-Lo  you had some opinion about this. Can you remind me?

How about having a SKIPPED status, instead of FAILED, when the dag is not run because another flow is runnings. @Will-Lo you had some opinion about this. Can you remind me?

Hey Arjun, But we still will need to check all the flow statuses in the resume flow case as was mentioned by @abhishekmjain . For ex : Given flow, flowExecId1 got failed, flowExecId2 completed successfully, but someone triggered resume command for flowExecId1. In this case, for flowExecId3 to run non-concurrently, we need to check for flowExecId1's running status right, even though it is not the latest flowExecId.

@arjun4084346 @pratapaditya04
Ideally we do have a skipped flow status, and ideally this can just be all detected during query time when fetching the job statuses such that iteration isn't needed. The challenge with the skipped flow status is that introducing another flow status will change a few of the clients in Gobblin-as-a-Service, so care should be taken to introduce these semantics and the ramifications need to be well understood. I consider that outside of the scope of this PR which focuses primarily on fixing this concurrency bug.


Add documentation for mb-search-multiple

The documentation for the mb-search-multiple is missing in the docs folder.

Most of the documents used to be autogenerated from the jsdocs. That’s not currently happening now.


Run debug_render_scene before lines are drawn

The debug lines are still out of sync with #192. My understanding is that the ordering this PR adds is necessary because debug_render_scene updates the DebugLines resource which update (system that has the draw_lines label) uses to render the lines.

This is a good point, thanks!


Make kaobook more configureable

Summary
Allow more configurations using package options.
Details
Currently, when I want to make changes to kaobook (kaobiblio, kaorefs, kaotheorems, ...) I have to copy the corresponding file and make the changes. This, however, brings the file out of sync with any new features that are developed in kaobook.
Therefore I would like to have kaobook more configureable, e.g., ~if I don't want to have the backrefs in the bibliography it should be possible to just write:~ (EDIT: this is working)
\usepackage[backref=false]{kaobiblio}

It seems that such a feature existed at some point as the documentation says:

For instance, if you want to use the ‘philosophy-modern’ style for your bibliography, you might have something like this in the preamble:
\usepackage[style=philosophy-modern]{styles/kaobiblio}

Note that the documentation still contains a reference to the old styles folder.

I agree, copying the file and making changes is not something that I'd like users to do on a regular basis. Admittedly, I used to suggest this practice in the beginning, and often it is the only way to do something because of the lack of configurability in kaobook, but this cannot be an option if we want to submit kaobook to CTAN. I'll definitely try to add more options...
However, backref in kaobiblio works for me. If I use \usepackage[backref=false]{kaobiblio}, I don't get the back references. Not sure what's going wrong for you: if you still have this problem, could you provide an MWE? Also, suggestions about which options to implement are most welcome.

You are absolutely right, \usepackage[backref=false]{kaobiblio} is working, I must have made some changes to my local kaobook that destroyed the functionality 😕
I will also think about settings that should be configureable.

FYI, I had to comment out the following line. I hope it will become configurable. https://github.com/fmarotta/kaobook/blob/2a82b3a8a3556d646d47bd719829d6d65e34895b/kaobiblio.sty#L68


Resizing columns in datagrid causes other columns to change sizes as well

Select one ...  (check one with "x")
[x] bug
[ ] feature request
[ ] enhancement

Expected behavior

When I resize one column, other columns should not change their size.
Actual behavior

Given a data grid whose columns were sized to a specific content. When that content changes and one column is resized by the user, the other columns are adjusted to the new content:

Reproduction of behavior

Create a data grid with some initial content
Update that content such that column sizes do not fit anymore
Resize one column
Observe that other columns are resized as well

Plunkr: https://plnkr.co/cKRZCyXzkwlhOea3YHuK
Instructions:

Press "Set Content" and observe that the new text is clipped because it does not fit anymore.
Resize a single column.
Observe that the other columns are stretched to fit the content.

Environment details

Clarity version: 0.9
Browser: all

@oliverhanappi
Thanks for the plunkr. It was very helpful. It appears that this only occurs after the content has been replaced and only with columns that have not already been resized. For example, if I...

Open the plunkr
Resize the second column (while it only has the "s" in it)
Then click "Set Content"
Then resize the first column

...the second column is not resized.
However, if I follow your steps, the datagrid resizes all columns but only after I use "Set Content".
If I keep the original content ("s") in the cells, the datagrid does not exhibit this behavior.
I'm pinging @youdz to get an understanding of if this is an intended behavior and, if so, why...

@oliverhanappi thanks again for the plunkr.
So currently, If a column gets resized and gets a fixed width, other columns dynamically resize themselves to compensate the difference. But, at the same time, those other columns still take their cell contents into account as long as they are flexible-width columns. That's why in your plunkr, those columns respond to not only the size change of the resized column width but also their cell content changes.  So the solution could be that columns should no longer take their cell contents into account when they need to resize themselves to compensate the resized column.

@youdz

Actually, I believe the recommended pattern when you have such a huge change of cell content is either to:

manually trigger a column resize when the "large" data comes in. You can do this by accessing the datagrid with @ViewChild, and then calling its .resize() method.
Put a width in the CSS for the columns that drastically change sizes, that makes sense for the data you are trying to display. We will respect that width at all times.

Our column sizing assumes reasonably homogenous data for a given column. It's needed to try and give you smart columns width without knowing the semantic of the columns, otherwise we cannot possibly guess that a column that currently has 10 items with a 1-character text in them will grow to a full 500px wide non-breakable text. Also note that said 500px on non-breakable text is heavily against our recommendations, and we will not support it more than gracefully fallback to long horizontal scrolling (which is frustrating UX).

@youdz Thanks for your input. Can you give an example on how to specify the widths of individual columns?
Is there a way to specify the widths relative to each other (e.g., multiples) such that all columns consume the whole available space? E.g., I want the first column to get 25% of total width, the second 50% and the last one another 25%.

Any updates on this?


@PostJson needs produces too - e.g. search form

I'm giving this a go and it's a great feature for Spring that simplifies life no end.
What's missing though is that @PostJson  needs the produces parameter, as this is still valid for a POST with something like a search form.

Hi @nealeu,
Glad you like it!
Please note, however, that content-specific annotations like @PostJson will not be included in core Spring. The ones that got into Spring Framework 4.3 include @GetMapping, @PutMapping, @PostMapping, PatchMapping, and @DeleteMapping.

In any case, I added the produces attribute to the remaining @Post* annotations in 0acc3939647545653b9f2d3543acfce0b809e3d3.

Cool.  Thanks.  Sounds like it'll make sense to have a version of spring-composed end up in Maven central at some point, given only a fraction made Spring 4.3

Hi @nealeu,
As stated in the README, the current goal of this project is to brainstorm within the community and gather ideas on what kinds of composed annotations would be useful for Spring to officially support.
So with that in mind, Spring Composed is really just a playground for experimentation, and we intend to keep it as such. In other words, we don't have any plans to ever officially release these annotations in Maven central (other than those directly incorporated into official Spring projects).


chore: specify supported Fedora releases in CONTRIBUTING

This specifies which Fedora releases are supported in the CONTRIBUTING guide so that the dependencies are valid.
Closes #481

/lgtm

PTA @nullr0ute

Updated based on @nullr0ute 's review. Rebased on main.


requirement: refine if and when links with the same interface endpoints if they should be created or not

This is for refining if and when links with the same interface endpoints if they should be created or not.
Context:
Currently, they get created, it doesn't cause harm, but in production networks links can get looped temporarily during network maintenance. If they get discovered, network operators need to delete, and currently those kind of links don't have utility as p2p. This has been reported by AmLight engineers.  This issue is for discuss use cases and the future behavior that should be supported.

For multi-access interfaces, that would make sense. We discussed about supporting multi-access interfaces in the past, so we should also consider this when deciding the approach


M3-1439: add Volumes search by tag

Updates logic for volume filtering in search to consider tags too

Coverage decreased (-0.003%) to 31.693% when pulling 639c8f6f3d87655c7a8b539b684e052a047e6c05 on rulikrulit:feature/M3-1439 into 34275bd5e9e0e501cf8e9986029e3e355cfa712b on linode:feature/M3-1405-volume-tags.