[feat] macOS Share Menu support

Describe the problem
I'd love support for the macOS Share Menu. It really gives an app a native feel, and electron supports it here

Describe the solution you'd like
API access to the macOS share menu that's similar to Electron's or @c2r0b's excellent https://github.com/c2r0b/tauri-plugin-context-menu/
Alternatives considered
Currently I just use Tauri's open dialog function for saving files to disk, which I then share via other apps.
Resources:
https://support.apple.com/guide/mac-help/use-the-share-menu-on-mac-mh40614/mac#:~:text=The Share menu%2C available in,such as Mail or Messages.
https://developer.apple.com/documentation/uniformtypeidentifiers/defining_file_and_data_types_for_your_app#3590382 (How Swift lets you define data that's sharable via AirDrop, for example)

Been needing this! I love how electron supports this and would love to see it in Tauri too


Display plain "Inbound" in peer details

Alternative version to #201.

Alternative version to #201.

Concept ACK, but #201 still preferred to me, tbh.

Alternative version to #201.

Concept ACK, but #201 still preferred to me, tbh.

ACK 506e6585a54818d0613a067f91c0bac2f308a48c

ACK 506e6585a54818d0613a067f91c0bac2f308a48c

-netinfo on master is now aligned with this change:


Automatically restart downloads when server closes connection.

If a download is idle for a few minutes the GCS service closes the connection. The storage::ObjectReadStream should reconnect, starting after the last byte fully received.
Note that the application may be downloading only a portion of the file, so we should respect any range that the application has set too.

Also, the download should resume from the same version of the object, in case "the last version" changed after the download started. Hopefully one of the headers received when the download starts has this information.


Position mixin bug

When I use:
@include position(fixed, 0 0 0 -$sidebar-width);

or:
@include position(fixed, 0px 0px 0px -$sidebar-width);

It translates to css:
.sidebar {
    bottom: -220px;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
}

shouldn't this be:
.sidebar {
    bottom: 0;
    right: -220px;
    position: fixed;
    right: 0;
    top: 0;
}

I had to wrap the minus value in ( ).


error C7552: “_setjmp”:

What's going on here

same error with https://github.com/worawit/blutter/issues/54, build on linux or using c++20 may help.


messages.de.xlf is badly encoded

app/console cac:cle --env=dev
Clearing the cache for the dev environment with debug true

  [Symfony\Component\Translation\Exception\InvalidResourceException]
  Unable to load "~/ticketapp/vendor/hackzilla/ticket-bundle/Resources/translations/messages.de.xlf": [ERR
  OR 522] Validation failed: no DTD found ! (in n/a - line 2, column 21)
  [ERROR 9] Input is not proper UTF-8, indicate encoding !
  Bytes: 0xF6 0x66 0x66 0x6E (in n/a - line 9, column 27)

  [InvalidArgumentException]
  [ERROR 522] Validation failed: no DTD found ! (in n/a - line 2, column 21)
  [ERROR 9] Input is not proper UTF-8, indicate encoding !
  Bytes: 0xF6 0x66 0x66 0x6E (in n/a - line 9, column 27)

still corrupted


ml-apps: Fix building different ML apps subsequently

Description

When building ML apps, the MLEK downloads model resources for the model specified by a given application.
The FRI integration of the MLEK prevents these resources from being re-donwloaded if they already exist to speed up build time.
However, in the case of a different application being build, model resources have to be re-downloaded as different ML applications use different models.
To allow the re-download of model resources, the generated ML model resources subdirectory is now generated in the CMake build directory.
Building a different application requires triggering a clean build which will also delete the resources specific to a model used by another application.
Test Steps

Checklist:

[x] I have tested my changes. No regression in existing tests.
[ ] I have modified and/or added unit-tests to cover the code changes in this Pull Request.

Related Issue

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Hello @hugueskamba, thank you for raising the PR! We will be looking further into this issue and update you accordingly, thank you for your patience!


[odm] Support collection groups.

  How can I do a collection group query with a sub-collection? It looks like right now I have to have a parent (collectionId) first and then get the sub-collection part of that collection. But I want to be able to query against all sub collection documents.

I have:
@Collection<Configuration>('configurations')
@Collection<SharedWith>('configurations/*/sharedWith')
final configurationRef = ConfigurationCollectionReference();

And I want to be able to query like I would if I had created a group query
final Query<Map<String, dynamic>> _configSharedWith = _firestore.collectionGroup('sharedWith');
// Query across all sub collection documents
final sharedWith = await _configSharedWith.where('userId', isEqualTo: userId).get();

Originally posted by @FXschwartz in https://github.com/firebase/flutterfire/discussions/7475#discussioncomment-3311361

Copied here: https://github.com/FirebaseExtended/firestoreodm-flutter/issues/20


Added Notes to Advantage/Disadvantage section are not importing into Foundry

After updating to the most recent version of GURPS Game Aid for Foundry and the most recent GCS, the Notes I added in GSC in the Advantages and Disadvantages section of the character sheet are not included after an import into Foundry. The Notes added to skills import. Is there a new option I need to turn on in this version of GCS to allow the Advantage/Disadvantage Notes to import into Foundry? I like to see extra info and make OTF formulas on the Advantages and Disadvantages section of the sheets to help me run play. My older sheets still have all their notes. If I make a change in GCS and refresh one of these older sheets, it still refreshes with the added info in those sections. Hopefully, there is something silly I'm doing on my end causing this with brand new sheets. I've attached the brand new character created in this newest version of GCS as suggested by Nose. Thank you.
Kar2.zip

Thank you!  And I found it .    It will be fixed in 0.17.6.


restApiServer

does http need path ?
file  RestApiServer.java  line 297
if (useHttp == null || path == null || path.isEmpty() ||

@wenxueliu Nope. Looks like a copy-and-paste issue. Want to issue a pull request?

@wenxueliu see https://github.com/floodlight/floodlight/pull/652


"AMARA", "Amara Nouă" are listed in the drop-down menu

Description:
When user writes "AMARA", "Amara Nouă" the location appears in the drop-down menu next to the comune and the county which is a part according to the law
Precondition:
The website is up an running.

Step 1
Write in the search bar "Amara"

Expected results
The location appears in the drop-down menu as "Oras AMARA, IALOMIȚA, (AMARA) "


Text is not selectable in the new Settings Editor

Issue Type: Bug
Text is not selectable in the new Settings Editor
VS Code version: Code - Insiders 1.26.0-insider (afc3d77e7cfc6534ba05c52f5e1289cbecd58b3d, 2018-07-19T05:18:41.292Z)
OS version: Windows_NT x64 10.0.17134

Do you need to select names/descriptions? What if there was a "copy" context menu option that copied the JSON form of the setting? e.g. copy or cmd+c with the row selected would copy something like "editor.fontSize": 10?

Ping @ramya-rao-a , I can't decide whether this is covered by https://github.com/Microsoft/vscode/issues/54140 (context menu actions) or whether the text itself should be selectable.

No, I meant to select the setting name. #54140 covers most of what I want, I'll close this.


bad spacing for extension readme

If by bad spacing you are refering of missing of padding then dupe of #8251
If there is another issue here please let me know and I will reopen - thanks.


IPFS BAFY/URL + name exceeds 100 character

After you of over 100 characters in the URL plus the name of the IPFS page- it starts creating bigger problems like not being able to fit in Twitters URL header.

semi-fixed. Need to do an exploratory on IPNS or some other domain management routine in an effort to shorten the addresses used while also maintaining decentralization and immutability


NavLink not working without pathname

Version
master (commit: https://github.com/ReactTraining/react-router/commit/e6f9017c947b3ae49affa24cc320d0a86f765b55)
Test Case
https://codesandbox.io/s/3x3oxk33k6
Steps to reproduce
Add a NavLink without pathname, only search in the to object.
Expected Behavior
Classname active shall be added on all paths as long as the query matches the search value.
Actual Behavior
TypeError
Cannot read property 'replace' of undefined
Before escaping characters in path we need to verify that it's not null or undefined.

No but Link (and NavLink) is working today with only search set. It will only set the query and leave the actual path as it is. In 4.2.2 NavLink is working fine with only search. As long as no special characters is used in the path

That's because #5596 landed after 4.2.2 was released.
But that brings up a good point. The check for a blank pathname would be better.

Fixed in 6d9c4250. Thanks!

Great job


Issues with simulateError()

I've noticed that if I call simulateError() it doesn't actually throw the error as expected.  The error message is prepended with the query.
Also, it would be useful if simulateError() accepted both a message string and an instance of an Error.

Thank you for reporting this issue,
Can you share a code snippet that reproduces the issue?
What is your use case for needing to pass a custom error, (think of that, custom error means you are exposing internals).

Hi @felixmosh, thank you for getting back to me.
I've swapped out using a Jest __mocks__ folder to using knex-mock-client in a suite of unit tests, similar to the snippet below:
  const name: string = JSON.parse(event409.body).name
  const errorMessage: string = `Duplicate entry '${name}' for key 'name'; Error code: 1062; SQLState: 23000`

  tracker.on.insert(Constants.TableSchemas.CustomerAccounts)
    .simulateError(errorMessage)

  const response = await lambdaHandler(event409, context)

  expect(typeof response).toBe('object')

  expect(response.statusCode).toBe(409)
  const body = JSON.parse(response.body)

  expect(body.message).toBe(`'name' of '${name}' already exists`)

Unfortunately the error message is being thrown with the query at the start, for example:
insert into "customer_accounts" ("created_by", "max_seats", "name") values (1, 30, 'Existing customer') - Duplicate entry 'Existing customer' for key 'name'; Error code: 1062; SQLState: 23000

Which means that code in the lambdaHandler can't parse it correctly.
The use case for a custom error (in our case we're just attaching a code property to Error) is that we have code to run with handled errors (HTTP 409s, etc.) and a different HTTP 500 response for unhandled errors.

You're right, it is knex itself.  Thanks for your help.


chore(dev): release 0.14.1

:robot: I have created a release beep boop
0.14.1 (2024-10-21)
Bug Fixes

fix ffmpeg path normalization for Windows (5adf769)
increase exp backoff factor for HLS sessions; theoretical max wait of ~2mins (d272d21)
remove uuid format requirement from some Jellyfin types (1ced59f)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v0.14.1
:sunflower:


Backport 2.7: Improve documentation of mbedtls_ssl_get_verify_result()

This is the backport to Mbed TLS 2.7 of #2127, fixing #517.

@k-stachowiak Thanks for noticing, I agree and pushed a commit adapting the ChangeLog.
@k-stachowiak @AndrzejKurek Please re-review.


Google signout fix

Issue #, if available:
#619
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #623 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master     #623   +/-   ##
=======================================
  Coverage   89.19%   89.19%
=======================================
  Files          69       69
  Lines        3221     3221
  Branches      612      612
=======================================
  Hits         2873     2873
  Misses        330      330
  Partials       18       18

Impacted Files
Coverage Δ

packages/aws-amplify-react/src/Auth/Greetings.jsx
95.58% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


The examples of the levels don't start on left side

I believe this is because the example has the camera following the character.
I do think that the camPos() function should have parameters for setting limits. Maybe a feature request.

Yes, but is hard with camPos() move "screen" when player is on border. If CamPos follow player create big empty space and set player on center (ugly - but correct), but set player on left don't move screen easy if player go to right and get the right side.

I think this is left for the game to implement, kaboom won't know what'll be the "border" for your specific game.

I used code like this on my game
player.action(() => {
  k.camPos({
    x: Math.max(k.width() / 2, player.pos.x),
    y: Math.min(k.height() / 2, player.pos.y),
  });
});

@Zachiah if you sum() width of sprite this work perfectly!

Just so you know it's the screen with but yeah


Dev

Purpose

...

Does this introduce a breaking change?

[ ] Yes
[ ] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test

Get the code

git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install

Test the code

What to Check
Verify that the following are valid

...

Other Information

testing CI CD

@microsoft-github-policy-service agree [company="No Company"]

@microsoft-github-policy-service agree company="No Company"
<EMAIL_ADDRESS>

Hi, could you provide a little more information on why this PR was created? It appears as though "AgileFrabric" is a non-Microsoft tool or platform. Is that correct?

Internal: 186411

Without more context, I believe this may have been accidentally pushed to this repo instead of your fork. If you feel this is a mistake on my part, I'm happy to reconsider. Please provide more context as to what the devagile_fabric.yml file is intended to accomplish.


Fix stats for individual items

Different instances of the same "named" item (say two different "Storm Eye" rings) usually have slightly different attributes. However, TQVault shows the same stats for all instances of an epic item, even if they are different in game.
I have tried to find out where/how this happens, and the responsible part of the code seems to be somewhere in ItemProvider, but so far I only have a vague suspicion that there might be relevant information in the save game data that TQVault currently does not read.
Edit: I looked at some more items, and this seems to apply to all items. Here is the same green item in game and in TQVault:

My interpretation so far is that what TQVault currently reads from the database are the minimal stats an item of this kind could have, but the actual values for each specific instance are stored in a different place that TQVault doesn't use at this time.
#222 might have a similar cause.

Okay, I just found the part of the documentation that talks about this. That makes sense, although sadly it means TQVault can not be used to meaningfully compare items of the same kind. I wonder if the game's seed handling could be reverse engineered with numerical methods and/or "machine learning" (and A LOT of effort)....

It most likely could, with a lot of effort! Without an understanding of how the key is used in-game, it's hard to get started on something like this.


Need to refresh tiles after updating window range

So I changed the start and end window of the grayscale2 channel to 0 and 300 for project [myNewToken].  Unfortunately some of the tiles appear to be based on the old window settings (which were 100 and 650).  For example...
http://viz.neurodata.io/[myNewToken]/grayscale2/xy/0/388/437/500/
...is still based on the old window settings but ...
http://viz.neurodata.io/[myNewToken]/grayscale2/xy/0/388/437/499/
... is correctly based on the new settings.  How can I manually refresh the tiles

Your old tiles got cached (probably from viewing them previously). I flushed the cache -- should be good to go now.


chore: Updates Codecov

Signed-off-by: Andrii Soluk<EMAIL_ADDRESS>

Codecov Report

Merging #30 into main will decrease coverage by 2.75%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #30      +/-   ##
==========================================
- Coverage   77.48%   74.72%   -2.76%
==========================================
  Files           3        2       -1
  Lines         382      277     -105
==========================================
- Hits          296      207      -89
+ Misses         49       41       -8
+ Partials       37       29       -8

Impacted Files
Coverage Δ

component/storage/mongodb/mongodb.go

Continue to review full report at Codecov.

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


move pdap.io classes to a custom stylesheet

There are a few things that are really just for the website.

I checked for these and didn't find anything. .tile-icon is a stretch, but it's fine


Please implement multi-source reading algorithm from CMSSW in fsspec-xrootd

@lobis @nsmith-
Now that uproot 5.2.0 and coffea 2023 are going to be co-released and fsspec will be the main point of entry for any root file, we should try to bring some robustness like what exists in CMSSW that was implemented years ago by Brian and is still in use today.
@nsmith- has a better understand of how it's implemented, but we should implement the workaround in CMSSW that iteratively tries different xrootd endpoint capable of serving a file if the connection is bad or a request is slow. This will allow users to actually utilize redirectors and avoid quite a bit of gnashing of teeth that we typically encounter when coffea users are scaling out their analyses.

A description of the algorithm is found at https://github.com/cms-sw/cmssw/blob/master/Utilities/XrdAdaptor/doc/multisource_algorithm_design.txt
and

From Jan Lukas Späh (https://gitlab.cern.ch/pepper/pepper/-/blob/master/pepper/datasets.py?ref_type=heads#L133-144) there is this nice solution
def locate(lfn, xrootddomain):
    import XRootD.client
    # Same as xrdfs <xrootddomain> locate -h <lfn>
    client = XRootD.client.FileSystem("root://" + xrootddomain)
    # The flag PrefName (to get domain names instead of IP addresses) does
    # not exist in the Python bidings. However, MAKEPATH has the same value
    status, loc = client.locate(
        lfn, XRootD.client.flags.OpenFlags.MAKEPATH)
    if loc is None:
        raise OSError("XRootD error: " + status.message)
    return [f"root://{r.address}/{lfn}" for r in loc]

which pays an upfront cost rather than opening the file and then in the background locating additional copies

Might be useful to implement both (the one from pepper first perhaps, since it is very easy?) and see if they're good in different cases or if one is more robust in the long run?

I'm working on implementing this in a fork, and I'm trying to figure out if I'm worrying about something problematic or if it's not an issue. I'm having fsspec handle picking a concrete endpoint for the user, but I realized that when fsspec writes to a file, the user may not know which endpoint they are writing at.
Is this handled somehow by XRootD? Is it safe to assume that a user shouldn't be using a redirector in the first place if they don't want to worry about this?

I would hope that one cannot open a file for writing/appending via a redirector URL. We should check this.

Sorry, I should have tried it first. It looks like trying to open a file with "multiple copies" in write mode via fsspec raises an OSError.
I think that's at the XRootD level, not the fsspec level, so I'd expect we're protected from that issue.

I'm not super familiar with the details of ROOT file storage - does anyone know if it's safe to assume that the same file hosted in different places is exactly the same? As in, same metaOffset, same file descriptor, etc.

@rpsimeon34 have you been able to make any progress on this? It is beginning to become necessary.

I have a minimally intrusive implementation of the pepper algorithm that I need to test. I'll bump that up a bit on my docket.
It's "minimally intrusive" in that it just picks any working source for the file when the fsspec File object is created, and then sticks with that source indefinitely. I want to try keeping a backup list of other sources that are automatically tried when fsspec encounters a read failure, but that might take me another couple weeks to test and debug.


Add maybe_async

I'm using embassy, and the other repo I found (embedded-fatfs) is not supporting partition tables on the SD card.
Here is my proposal to add maybe_async to this repo, so it can be used "as-is", or asynchronously.
I also needed to make BlockDevice mutable to support DMA on STM32.
All comments are welcomed.

Related to #50

It might be worth looking at #148 where I put a BlockCache in a refcell. That might help you have a mutable block device without making all the &self methods back to &mut self (which forces you to use raw handles if you want to open multiple files at once).

So for this to fly, I would need the examples to build-as is, so that we know we're not breaking existing code (at least more than I have already broken it). But perhaps also an async example would be useful. And it has to build on stable.

That's fair, I'll work on that
Otherwise, I know there is a lot of debates around maybe_async, and I'd understand if this PR is not the way forward for this library. What's your thoughts on this?

I'll judge it by the outcome. If the examples build unchanged on stable (and it works on no_std)  then it should continue to work for my use case and I can support the changes.

#148 was merged, so this will need a rebase.

@thejpster all fixed!

Run workflow?

We'll want to find a way to do a build in both async mode and non-async-mode. I think you'll need to mark the existing examples as requiring the is_sync feature, and make a new async example which only builds when that isn't set? Actually I don't even know if that's possible. The async example might have to be in a crate all of its own.

Run workflow?

As this PR is not from an org member, one of us has to manually approve the workflow run every time - in case you submit a change which copies a Github secret key to pastebin or something. Sorry about that - bear with us. Alternatively you can look at the workflow files and get a good idea about what you need to run locally to replicate the CI.

formatting is creating lots of diffs

We just test for cargo fmt --check so you probably just need to run cargo fmt locally.

Expected — Waiting for status to be reported

unfortunately it looks like adding the features to the matrix has renamed the build jobs, and so now the branch protection rule is waiting for a job that doesn't exist. I guess I'll have to manually override that check when this is ready to go, and then update the branch protection rule.
GHA is such a pain to use.

Thanks for the information! For a moment I thought the workflows were triggered by commenting here...
I'll try to put the is_sync feature outside the matrix, that should resolve the renaming of workflow
I just pushed the result of cargo fmt

Oh, I ran cargo fmt on windows... Is it different than Linux?

Try using 1.81. Maybe GitHub hasn't updated the image yet.

I had a rustfmt.toml file in the parent directory, limiting the line length to 120. I removed it and it fixed the issue

We'll want to find a way to do a build in both async mode and non-async-mode. I think you'll need to mark the existing examples as requiring the is_sync feature, and make a new async example which only builds when that isn't set? Actually I don't even know if that's possible. The async example might have to be in a crate all of its own.

IMO, this is the biggest issue with using the maybe_async crate. It breaks cargo's rules about features being additive. I don't think that it would be inconceivable for a user to need both blocking and non-blocking or one crate to use blocking (say for logging) and another non-blocking. Ideally the macro would generate separately named functions so that crates can play nicely with each other but alas it doesn't.

We'll want to find a way to do a build in both async mode and non-async-mode. I think you'll need to mark the existing examples as requiring the is_sync feature, and make a new async example which only builds when that isn't set? Actually I don't even know if that's possible. The async example might have to be in a crate all of its own.

IMO, this is the biggest issue with using the maybe_async crate. It breaks cargo's rules about features being additive. I don't think that it would be inconceivable for a user to need both blocking and non-blocking or one crate to use blocking (say for log flushing which may have a blocking api) and another non-blocking. Ideally the macro would generate separately named functions so that crates can play nicely with each other but alas it doesn't.

I've found a workaround in simply not using the is-sync feature at all, and then also using the duplicate crate which allows you to re-export a single, templatized module twice:

once, as blocking
one more time, as async

... so you are effectively ending up simultaneously with two versions of the code, each in its submodule. Modulo the two submodules which of course have different names, the lib otherwise is having a mostly identical api for blocking and async.
A bit like having embedded-hal and embedded-hal-async in the same crate under two different modules.
Note that I've only tried this with smaller drivers where I could fit all "maybe-async" code in a single module. Not sure how it would work for larger codebase split across many modules.

Here's the relevant comment in the maybe-async crate that I follow myself: https://github.com/fMeow/maybe-async-rs/issues/6#issuecomment-1893918591

Thank you very much for working on this @brunob45 .
I wonder if you can also tweak the SdCard impl as I personally want to use the raw read/write support  instead of the fat32 one.


Issues with email provider - Account signups are disabled temporarily

We are facing issues with our email provider and so account signups are disabled temporarily. Email notifications/alerts are impacted.

Email provider issues have been resolved. Account signups are still disabled as we are facing a DDOS attack.

Account signups are enabled back.


Bazel plugin for Intellij sets wrong kotlin version

I have recently upgraded to the these rules (commit ab2f9f79912a35af3c1a07849d6fb457c2bfc54b) and when trying to use Kotlin 1.3 in IntelliJ, I noticed the kotlin "Language version"/"API Version", gets set by the Bazel plugin to be 1.2 on every 'sync'.

I'm definitely using 1.3. as bazel builds from the terminal compile 1.3 features.
IntelliJ gives a quick-fix using alt-enter that removes the red squiggly lines, however this error comes back upon bazel sync.
Setting the toolchain manually allows the "Language version"/"API Version" to remain at 1.3 but the error still comes upon syncs and the quick-fix works until the next sync.

This sounds like an IJwBazel issue. Transferred to bazelbuild/intellij.

Please provide your version information (IntelliJ Menu -> Bazel -> File an Issue on GitHub, and copy the version information here)

Version information
IdeaUltimate: 2019.2.3
Platform: Mac OS X 10.14.6
Bazel plugin: 2<IP_ADDRESS>.1
Bazel: 0.28.1
Problem

language setting

Choosing the quick fix solves the problem until hitting the sync button when it reverts. Language version (as per the second screenshot) is always set to 1.3

So I may have fixed this by adding kotlin to the additional_languages in the .bazelproject. Not sure why it has the observed behaviour without this though

What I'm wondering (@jin, @brendandouglas) is whether there's metadata that ought to be given to the aspect, that identifies the kotlin language version (we have that data in the rules_kotlin toolchain).  I just don't know where you need to get that info into the plugin, and if it's just something we need to add to the aspect?

That is something we'd like to pick up for external rules.
For internal kotlin rules, we get both the language version and SDK library
jars from the toolchain target, and pass them through to the plugin
(KotlinToolchainIdeInfo).
Last I checked (~1-2 years ago) we couldn't do this for the external rules,
but sounds like that info is available to aspects now?
On Fri, Dec 6, 2019 at 2:12 PM Christian Edward Gruber <
<EMAIL_ADDRESS>wrote:

What I'm wondering (@jin https://github.com/jin, @brendandouglas
https://github.com/brendandouglas) is whether there's metadata that
ought to be given to the aspect, that identifies the kotlin language
version (we have that data in the rules_kotlin toolchain). I just don't
know where you need to get that info into the plugin, and if it's just
something we need to add to the aspect?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/bazelbuild/intellij/issues/1274?email_source=notifications&email_token=AE3KDEPOBM2PP3KQVGYPR4TQXKPYJA5CNFSM4JBOYQ4KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGFCDKY#issuecomment-562700715,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AE3KDEKCCGBKZC2IRLKRLJLQXKPYJANCNFSM4JBOYQ4A
.

https://github.com/bazelbuild/intellij/pull/1473
Submitted this PR to default the Kotlin version to be 1.3

This is an incredibly frustrating issue given 1.3 has been out for several months now, and 1.4 is coming up quickly.
It would be nice to have a field available in the project view file to specify which version to allow.

bump - can we get this fixed please?


Dist config usage

https://github.com/focusreactive/sanity-plugin-inline-svg-input/blob/cf4aa8e0209debd1657d01bb675f4d439510cdbb/tsconfig.dist.json#L1C2-L1C2
I didn't find any reference to this file. How does it work?

package.config.ts


Remove exercises which are past handover

Please remove the following exercises from Closed for applications at https://apply.judicialappointments.digital/vacancies. They have now been completed and do not need to be visible on this page. DO NOT delete them from the admin app.

Fee-paid Appointed Person, Appeal Tribunal, Trade Marks and Fee-paid Appointed Person, Appeal Tribunal, Registered and Unregistered Design
Deputy Chairman of the Agricultural Land Tribunal for Wales
Senior Circuit Judge, Designated Family Judge
Specialist Civil Circuit Judge
Chancery Master
Deputy Chancery Master
Senior Circuit Judge, Designated Civil Judge (Birmingham, and Winchester)
Senior Circuit Judge, Resident Judge (Cardiff, and Winchester)

@warrensearle can't really review this until it is on production so have just put in reviewed.


Update FastExpressionCompiler and move to internal package

Updates the years old copy of FEC and replaces the vendored code with the internal-only package that FEC provides.

Are we even using that internally anymore? I might be wrong, but I can't think of any place where that's still being used.

It only ends up getting called here via MethodCollection's construction:
https://github.com/JasperFx/marten/blob/master/src/Marten/Events/CodeGeneration/MethodCollection.cs#L193


Feature/ux redesign

Redesigning modifier and ability deck builder:

That looks great ! Thanks a lot.
I'll will merge this into the dev branch later today.

Thank you for merging. Was happy to contribute.
I had a closer look on the "Play" screen and might have some ideas for
improvement. I will try to redesign that as well.
However I dont want to create more work for you guys. So just tell me to
stop whenever you feel like it. No hard feelings ;)
Greetings
Daniel
Am Mi., 1. Apr. 2020 um 10:54 Uhr schrieb Thibault Béziers la Fosse <
<EMAIL_ADDRESS>
Merged #53
https://github.com/orichalque/yet-an-other-gloomhaven-companion/pull/53
into dev.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/orichalque/yet-an-other-gloomhaven-companion/pull/53#event-3186883961,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDWNA2YBN5VOO2VIBDJGPDRKL6MRANCNFSM4LYTKQDA
.

Thank you for merging. Was happy to contribute.

Thanks to you !

I had a closer look on the "Play" screen and might have some ideas for improvement. I will try to redesign that as well.

Awesome ! You might want to checkout the dev branch this time, as it is most of the time ahead of master ;-)

However I dont want to create more work for you guys. So just tell me to stop whenever you feel like it. No hard feelings ;)

We really do appreciate help :) No worries !


Generate human-readable segment info

For intersection segments, seems like it should be just X St & Y St
For non intersection segments, it could be the name of the road, but that's ambiguous. Should it be the name of the road and indicate that it's between these two intersections, or is there a better way
@alicefeng

Yeah X St & Y St for intersections seems good.  For intersections where more than 2 roads meet, would it just be X St, Y St & Z St?
For the non-intersection segments, "X St bet. Y St and Z St" as @j-t-t suggested in another issue is certainly descriptive though it could end up being kind of long.  Block numbers are another thought I had, ex, "2300 Block of X St"
Very open to other ideas.

When this is merged, I'll update the 'data-latest.zip'.
For this iteration, we're going to stick with the form "Cadbury Road" (without any more identifying detail) for non intersections. For intersection segments, most will look like "Geneva Street and Gove Street", but if there are a lot of different named segments coming in to the intersection, it'll be something like "Park Plaza near Columbus Avenue, Park Square and Eliot Street"


Questions about parameters of flownet2

@D-Nilsson  Hi, thank you for the awesome work!
From the project page, I download the pretrained model "Flownet2".  Are these parameters of flownet2  initialized from the caffe model of https://github.com/lmb-freiburg/flownet2 and fixed  or further finetuned on your data?
Looking forward to your reply.
Many Thanks!

Hi,
The flownet2 parameters are identical to those of the caffe model you referenced. It is not refined in the released code, but there are experiments in the CVPR paper where I did refine it.


Corrects download url for release 2.0.6

Corrects download url for release 2.0.6

Thanks @fperreaultnv - Looks like this was fixed by a different PR.


Update AmiGO when new db-xrefs.yaml data is available

This isn't an AmiGO issue, but it causes on so for now I am putting it here.
Whilst I was accessing some annotation intersections at the GO meeting, I noticed that some of the with field dbxrefs give an error (they will not match an entry in the GO-dbxrefs file, or its replacement)
See

and

So, Swiss-Prot should not be allowed in the "with" field. These should all be  changed to UniProtKB? Then these links will work.
Second,  The Pfam links still go to https://pfam.sanger.ac.uk/family
These should now go to http://xfam.org/

It sounds like this is a request for 1) an upstream filter or data change for whoever is supplying the Swiss-Prot data and 2) an update for the db-xrefs.yaml for Pfam?

@ValWood would you agree with the statement https://github.com/geneontology/amigo/issues/404#issuecomment-260085556 ?

Yes,  that is correct, but I don't know where to report it. It shouldn't be here should it?

I'll put them over on go-site. The rule is generally that an issue belongs in the repository when the fix will take place. The only fix that is available here is to update the production AmiGO instances once the data is updated.
This issue is now waiting on geneontology/go-site#262 and geneontology/go-site#263.


'listItemsPerPageShow' doesn't work well inside template HTML

Hi, I've set the tasty as follows:
Controller:
var myTheme = {
		  iconUp: 'fa fa-sort-amount-asc',
		  iconDown: 'fa fa-sort-amount-desc',
		  listItemsPerPage: [10, 20, 50, 100],
		  itemsPerPage: 10,
		  loadOnInit: true
		};

HTML (View):

...

...

HTML (Template):
...

      <button type="button" class="btn btn-default"
      ng-repeat="count in listItemsPerPageShow"
      ng-class="classPaginationCount(count)"
      ng-click="page.setCount(count)" ng-bind="count"></button>

...

Resulting just in 2 buttons ( only for  '10' and '20') instead of 4. If I change the value this way: listItemsPerPage: [5, 10, 20, 100], I get 3 buttons ( '5' , '10', '20').
I can fix it forcing ng-repeat to use my own list (ng-repeat="count in [10,20,50,100]"), but i guess it's not an intended behaviour.
Thanks

Simple question, how many rows do you have?
If you have listItemsPerPage: [5, 10, 20, 100] and 15 rows you just need the 3 buttons ( '5' , '10', '20').
Instead if you have 50 rows you need the fourth one for 100.

Now that you mention it, I just tried with 11 rows. Testing with more values (about 120) leads me to the situation that you've described. It would be interesting to be able to disable that behaviour from the options.


1.0.0-b6

New features include HTTP field parsers, strict parsing of rfc7230, and 100% code coverage in basic_parser_v1.

[Current coverage][cc-pull] is 98.11%

Merging [#23][cc-pull] into [master][cc-base-branch] will increase coverage by 1.03%

@@             master        #23   diff @@
==========================================
  Files            70         72     +2
  Lines          4819       5073   +254
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           4678       4977   +299
+ Misses          141         96    -45
  Partials          0          0

Powered by Codecov. Last updated by [a9e507d...999e2fa][cc-compare]
[cc-base-branch]: https://codecov.io/gh/vinniefalco/Beast/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/vinniefalco/Beast/compare/a9e507da9b636d394bb43d6bf8002d013530f57a...999e2fa0318b5982736d3ea01a418770ea802671
[cc-pull]: https://codecov.io/gh/vinniefalco/Beast/pull/23?src=pr

There's a growing danger of deriving from detail::types.  When considering ADL the compiler makes a list of associated namespaces within which it will search for overloads.  One of the associated namespaces is that of a base class (even if privately derived).  So when you have beast::X derive (even privately) from beast::detail::Y, beast::detail becomes an associated namespace of beast::X (an implementation detail leakage).
This has the potential to cause either compile-time errors, or in extreme cases, even run time errors.  Here's a contrived demo:
namespace beast {
namespace detail {

template <class T>
void
tolower(T);

struct base {};

}  // detail

struct derived : private detail::base
{
    operator long() const {return 0;}
};

}  // beast

// client code

#include <cctype>

int
main()
{
    beast::derived d;
    using namespace std;
    tolower(d);
}

The client intends to call std::tolower() from <cctype>, but ends up calling beast::detail::tolower because beast::detail is an associated namespace of beast::derived, and beast::detail::tolower  turns out to be a better match than std::tolower.
An alternative design using private data members instead of private inheritance avoids this issue:
struct derived
{
private:
    detail::base data_;
public:
    operator long() const {return 0;}
};

@HowardHinnant ack... which Beast code were you talking about?

It was tolower that started me looking.  I found basic_headers as such an example.  Other places are deriving from ci_less, but I'm as yet unsure if any of those places are actual examples of this type of leakage.

👍

Looks good to me. :+1:


[BUG] You can't deploy PCI devices if you deploy nvidia toolkit vgpu addon first

Describe the bug

When you deploy the nvidia toolkit
To Reproduce
Steps to reproduce the behavior:

Deploy a single node with v1.3.0-rc4
Enable the nvidia toolkit in the addons section
Wait for it to deploy
Enable PCI devices

Expected behavior

You should be able to enable both addons in that order, or you shouldn't be able to and get an error
Support bundle

supportbundle_d7c7beea-fdc1-4607-900f-0b7ee8d4958e_2024-03-12T00-17-23Z.zip
Environment

Harvester ISO version: v1.3.0-rc4
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630): DL360 and A102 tesla Nvidia gpu

Additional context
Add any other context about the problem here.
This was working before, but I think I did it in another order while testing #2764

Enable PCI devices controller
Wait for it to deploy
Enable nvidia toolkit
wait for nvidia toolkit to deploy
configure nvidia toolkit

I want to double check that is still working, but I'm leaving up the environment for debugging for now.

this has been fixed: https://github.com/harvester/harvester-installer/pull/676

Duplicated with https://github.com/harvester/harvester/issues/5337


fix:: elevation and scrollUnderElevation depends on scrolling drawers on issue #120083

fixes https://github.com/flutter/flutter/issues/120083
Description
This PR addresses the following issues:

Resolves the unexpected scrolledUnderElevation trigger that occurs when scrolling within the Drawer and NavigationDrawer.
Fixes the behavior related to side-by-side lists, ensuring that the appbar correctly maintains the scrolledUnderElevation effect.

Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] I followed the breaking change policy and added Data Driven Fixes where supported.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Thank you for the update, I am still not sure this is the best way to resolve this issue. I think I recall @TahaTesser looking at this before. @TahaTesser do you have any thoughts on this? Or insight on your past investigation here?

That's right, I attempted to this in https://github.com/flutter/flutter/pull/122600/files  but we had to revert it|
Calling Scaffold.maybeOf to detect drawer and  calling findAncestorStateOfType  in the scroll notification is too expensive. Not a good idea to look up tree dozens of times as the user scrolls, if i remember correctly.


dmc.Tooltip image instead of label text

Is it possible for the dmc.Tooltip component to display images or other custom content, or only text?

Hi @NovakApis, you can use dmc.HoverCard available in version 0.11.0a3 (note that it's an alpha release). Temporary docs for the alpha can be found here: https://dmc-docs-pr-26.onrender.com/components/hovercard.


add in fullImageName to support development envs

In order to use tilt, OpenCost's helm chart needs to support a value that is the 'fullImageName' of a docker image, to increase flexibility for development environments - particularly the case of images going to a locally run cluster (like kind or minikube) and do not need to be pushed to docker.hub or another image repository.
This is also designed to align with an identical feature in the Kubecost helm charts.

@mattray can you help triage?


Bug fix vscode debugger when using Angular based NativeScript projects.

I believe this addresses #278 and #8930. I have never been able to properly debug an Angular based NativeScript project in vscode using this "nativescript-vscode-extension" because vscode always says "Breakpoint ignored because generated code not found (source map problem?)".  Regular plain JavaScript projects work as expected but not with Angular.  After combing through the debug console and logging output from the extension, I found the problem to be that the path of the source files have app/app in it when it should be src/app.  For example, with a fresh NativeScript Angular HelloWorld project ns create ns-angular-project --ng the vscode debugger says the path is:
e:/my-projects/ns-angular-project/app/app/item/item-detail.component.ts when it should be:
e:/my-projects/ns-angular-project/src/app/item/item-detail.component.ts
So what I did in this PR is added a check for an "angular.json" file in the base of the project in order to determine if it is an Angular based project or not.  If it is, then the appDirPath is changed to src from app. For other projects the behavior will remain the same, leaving it as "app" because plain JavaScript projects were working fine already.
All tests are passing. I also tried it out on both brand new NativeScript Angular projects and NativeScript plain JavaScript projects, and they both work great now!
I also added a second unrelated commit that fixes the extension publisher to NativeScript from Telerik and the extension name from Telerik.nativescript to nativescript.nativescript so that it matches what is currently in the vscode extension marketplace so it won't look like a different extension when you install it.
Please let me know if you have any questions!

@cla-bot check

Thank you @Rob4226 !

We'll get this published early next week as we need to double check a few devops settings on the extension.

Sounds good, thanks!

Hello, what I have to do to update and fix this problem ?

Hello, what I have to do to update and fix this problem ?

@blagoev In the meantime, I posted a build of the extension with this update on the bottom of this comment https://github.com/NativeScript/nativescript-vscode-extension/issues/278#issuecomment-751164788 Just download the vsix file and then install it in vscode.

@blagoev In the meantime, I posted a build of the extension with this update on the bottom of this comment https://github.com/NativeScript/nativescript-vscode-extension/issues/278#issuecomment-751164788 Just download the vsix file and then install it in vscode.

Hello, what I have to do to update and fix this problem ?

@benco8186  In the meantime, I posted a build of the extension with this update on the bottom of this comment https://github.com/NativeScript/nativescript-vscode-extension/issues/278#issuecomment-751164788 Just download the vsix file and then install it in vscode.

Hello, what I have to do to update and fix this problem ?

@benco8186  In the meantime, I posted a build of the extension with this update on the bottom of this comment https://github.com/NativeScript/nativescript-vscode-extension/issues/278#issuecomment-751164788 Just download the vsix file and then install it in vscode.

Hello, what I have to do to update and fix this problem ?

@benco8186 In the meantime, I posted a build of the extension with this update on the bottom of this comment #278 (comment) Just download the vsix file and then install it in vscode.

Thank you @Rob4226, I will try that soon

Hello, what I have to do to update and fix this problem ?

@benco8186 In the meantime, I posted a build of the extension with this update on the bottom of this comment #278 (comment) Just download the vsix file and then install it in vscode.

Thank you @Rob4226, I will try that soon

There’s been some permissions issues around the publishing account that we’ve been sorting through with Azure team. We hope it will be resolved this week and can get an update published here. Sorry for the delay and frustration here.

There’s been some permissions issues around the publishing account that we’ve been sorting through with Azure team. We hope it will be resolved this week and can get an update published here. Sorry for the delay and frustration here.


Integrate example azure function

Integrate an example Azure function to demonstrate capabilities of FuncTown (as outlined in #7 )
Also acts as testbed for new feature to quickly test things in a real environment.

Still a draft. Items to fix:

[ ] Update Documentation (include setup notes and user guide to curl function)
[ ] Update docs on how to run undeployed function tests
[ ] Define curl commands to test the function
[ ] Look into two FIXME still in the code (probably run a fix)


Access to webView

Is there a way to access webView for custom configuration?

Not unless you make changes to the C/C++ wrapper in the Photino.Native project. We are trying to get out an update with a few more configuration options however.


Slow down building process a bit?

Great tool, though there's one big problem. I use other watcher (go-razor's templates watcher) which builds .go templates on change, but seems like 99% of the time go-watcher can't yet get changed templates so it rebuilds with an old version. Maybe there's a quick fix (timeout) for this? Thanks.

Sorry, I couldn't reply back, kinda busy days! I didn't use this watcher with templates, nevertheless I will try to fix that over the weekend.

A while ago I increased the watcher delay https://github.com/canthefason/go-watcher/commit/eaba2b43b73ad8ba9f2386c8f9b0431a16243616, but looks like I did not update this issue. Hope it works for you, and sorry for my very late response.


Vizor logo should link logged in users to their User Page

If not logged in, it should go to the public page. If logged in, go to user page.

This would still be a handy shortcut to have.

I agree, but also took a look at vizor/views/editor.handlebars which has this:

                         <a                 {{#if user.username}}                     href="/{{user.username}}" title="Back to your profile page"                 {{else}}                     href="/" title="Back to the homepage"                 {{/if}}
and it seems like it SHOULD show the /username but instead doesn't show. not sure why?

steps to "kinda" replicate with Safari

Enter http://patches.vizor.io/edit
See Vizor-logo links to Patches
Log in
See Vizor-logo links to Patches
Refresh page
Vizor-logo links to profile.

So, in essence, the Vizor-logo should be refreshed post-login, automatically. Not sure how hard that is. @gmarinov thoughts?

Related: the editor needs to have the Vizor logo remove and replaced with a Patches one.


MySQL 5.0

As per Oracle's statement on http://dev.mysql.com/doc/refman/5.0/en/
MySQL 5.0 Reference Manual
End of Product Lifecycle. Active development for MySQL Database Server version 5.0 has ended.

I think we should set our requirements to 5.5 since 5.7 is out already. I often send clients to http://www.getsymphony.com/ in order for them to get the latest requirements and I hate to still see 5.0 in there.
Please tell us your thoughts on this!

Done.

Thanks!


⚠ St. Lawrence Global Observatory CKAN has degraded performance

In 5f3438f, St. Lawrence Global Observatory CKAN (https://catalogue.ogsl.ca/en/) experienced degraded performance:

HTTP code: 200
Response time: 5244 ms

Resolved: St. Lawrence Global Observatory CKAN performance has improved in 03a67f4 after 10 minutes.


Issue with type: radio label gets ellipsis if too long

Hello
We're experiencing that the label get text-overflow: ellipsis; if it's beyond a certain length. Our customer often have to write longer, matriculate descriptions due to specifics with laws and legalization. Is there a way to make the label show the entirety of the text?
Here's a stackblitz with an example: https://stackblitz.com/edit/angular-sngrp1
Thanks

That's part of the material spec, not sure there is a straight way to write longer (they use position absolute), you may check the material repo if someone could point you to the right solution.
From Formly side you may use one of the following solutions:

define a custom css for that specific field.
use a custom field type https://formly.dev/guide/custom-formly-field which doesn't rely on https://material.angular.io/components/form-field/overview


Airtap\Select not working in Emulator when Visual Controller Profile is not present

Overview
When you create a new project and apply your own custom profiles , if you dont apply the Visual Controller Profile in the Input System Profile then Airtap does not work in the emulator (not sure about real device as I dont have one)
Expected Behavior
Airtap should work in emulator when Visual Controller Profile is not present
Actual Behavior
Airtap not working in Emulator
Steps to reproduce
Create a new project. Get MRTK toolkit.
Create Custom profiles.
In the Input System Profile, assign Visual Controller Profile to None.
Add actions and maping for Hololens Airtap in the Controller mapping.
Create a sript and handle the Tap with a Point Click Handler.
Build and Run it in Emulator
Airtap does not work (wont trigger the event).
I tried with both mrtk_development and the latest Beta 2.0.0 v2 unity package from here: https://github.com/Microsoft/MixedRealityToolkit-Unity/releases/tag/v2.0.0-Beta2
I was able to reproduce it in both. If you simply set the Visual Controller Profile to None in the Input System Profile Airtap won't work. Once you set that to the Default profile or a new one it will work fine again.
I have the project uploaded here:
https://github.com/krishnan-unni/MRTK-101
Unity Editor Version
2018.3.6f1
Mixed Reality Toolkit Release Version
mrtk_development branch and Beta 2.0.0 v2 unity package release

thank you @krishnan-unni ! we will investate asap


Instructions on Ejecting Create-React-App

create-react-app will not be able to build a bundle due to some issues with various SDK dependencies. These instructions provide detail on what to do next.

Coverage remained the same at 98.567% when pulling f3f806d6d7d956a988d0a206b69968399fe160b1 on theduckylittle:docs/ejecting into 787d7641ff5d5dd8d4b0e170580b8747af8728a0 on boundlessgeo:master.

Coverage remained the same at 98.567% when pulling 8170ea8a349e7d0e67c51c4d85e983ac57c613ce on theduckylittle:docs/ejecting into 787d7641ff5d5dd8d4b0e170580b8747af8728a0 on boundlessgeo:master.

Updated instructions based on @bartvde feedback.

Coverage remained the same at 98.567% when pulling 9cb3b4e5a93cc274808c14a704c315a259fb0eb2 on theduckylittle:docs/ejecting into 787d7641ff5d5dd8d4b0e170580b8747af8728a0 on boundlessgeo:master.


FastAPI 0.65.2 POST request fails with "value is not a valid dict" when using the Requests library; 0.65.1 works (with a caveat)

First check

[x] I added a very descriptive title to this issue.
[x] I used the GitHub search to find a similar issue and didn't find it.
[x] I searched the FastAPI documentation, with the integrated search.
[x] I already searched in Google "How to X in FastAPI" and didn't find any information.
[x] I already read and followed all the tutorial in the docs and didn't find an answer.
[ ] I already checked if it is not related to FastAPI but to Pydantic.
[ ] I already checked if it is not related to FastAPI but to Swagger UI.
[ ] I already checked if it is not related to FastAPI but to ReDoc.
[x] After submitting this, I commit to one of:

Read open issues with questions until I find 2 issues where I can help someone and add a comment to help there.
I already hit the "watch" button in this repository to receive notifications and I commit to help at least 2 people that ask questions in the future.
Implement a Pull Request for a confirmed bug.

First off, thank you for creating this marvellous piece of software. It is a real life-changer.
I hit a very odd bug while implementing some unit tests. Using FastAPI 0.65.2, a POST request via the requests module (requests.post) consistently returns the following error:
{'detail': [{'loc': ['body'], 'msg': 'value is not a valid dict', 'type': 'type_error.dict'}]}
I created a reproducible example:
from fastapi import FastAPI
from pydantic import BaseModel
import uvicorn

app = FastAPI()

class Data(BaseModel):
    field: str

@app.post("/test")
def test_data(data: Data):
    return "Polo"

if __name__=='__main__':
    uvicorn.run(app)

And the requests counterpart:
import requests as rq

def test():
    result = rq.post('http://<IP_ADDRESS>:8000/test', data={"field": "Marco"})
    print(f"==[ result: {result.json()}")

if __name__=="__main__":
    test()

The result is
==[ result: {'detail': [{'loc': ['body'], 'msg': 'value is not a valid dict', 'type': 'type_error.dict'}]}
If I downgrade FastAPI to 0.65.1, I still get an error, but a different one:
==[ result: {'detail': [{'loc': ['body', 0], 'msg': 'Expecting value: line 1 column 1 (char 0)', 'type': 'value_error.jsondecode', 'ctx': {'msg': 'Expecting value', 'doc': 'field=heya', 'pos': 0, 'lineno': 1, 'colno': 1}}]}
This  can be solved by JSONifying the dictionary:
import requests as rq
import json as js

def test():
    result = rq.post('http://<IP_ADDRESS>:8000/test', data = js.dumps({"field": "Marco"}))
    print(f"==[ result: {result.json()}")

if __name__=="__main__":
    test()

Running the above prints
==[ result: Polo
I am slightly perplexed because I am not sure if it is the requests library that is to blame or FastAPI. POSTing via ReDoc works without hiccups with both versions. I am at a loss as to why the second parameter to requests.post is accepted as JSON when it should actually be a dictionary.
Please let me know if I'm missing something obvious or whether I should redirect this to the maintainers of requests. Thank you again for making the lives of developers so much easier.
Cheers!

You probably meant to use the json parameter, not the data parameter. Data is for form data

@Mause
Thank you for the quick reply. What you suggested indeed fixed the problem, so I will mark this as resolved, but I am still perplexed. I never knew that the data parameter was for form data - I have always used data until I encountered this issue.  This is from the requests documentation:

Requests’ simple API means that all forms of HTTP request are as obvious. For example, this is how you make an HTTP POST request:
>>> r = requests.post('https://httpbin.org/post', data = {'key':'value'})

Also, I'm not sure why downgrading FastAPI works (subject to the JSONification caveat above).
Still, all is well that ends well. :) Thank you for your help!

The reason the downgrade fixed it was due to the json post handling in the latest version - it was changed so it only tried to parse bodies with a valid Content-Type header as json, which the data parameter wouldn't set

Ah-ha, that makes more sense, thank you for clarifying that point. I hope others will find this thread useful. Cheers!

Is there a way to force the post handling to parse the body as JSON even though the Content-Type header is text/plain?

@davidbrochart the issue I mentioned above has since been fixed in the latest version of fastapi

I just tried v0.67.0 and I'm still seeing the issue. Taking the initial example, with the following request:
curl -X POST --header "Content-Type: text/plain" --data "{\"field\": \"Marco\"}" http://<IP_ADDRESS>:8000/test

This doesn't work (shows INFO:     <IP_ADDRESS>:35400 - "POST /test HTTP/1.1" 422 Unprocessable Entity):
from fastapi import FastAPI
from pydantic import BaseModel
import uvicorn

app = FastAPI()

class Data(BaseModel):
    field: str

@app.post("/test")
async def test_data(data: Data):
    print(data)
    return "Polo"

if __name__=='__main__':
    uvicorn.run(app)

And this works fine (prints {'field': 'Marco'}):
from fastapi import FastAPI
from pydantic import BaseModel
import uvicorn
from starlette.requests import Request

app = FastAPI()

@app.post("/test")
async def test_data(request: Request):
    print(await request.json())
    return "Polo"

if __name__=='__main__':
    uvicorn.run(app)

Can confirm, this still happens! We solved it by adding a -H "Content-Type: application/json to the curl

I got this error too. My use case was sending a base64 encoded image.
After trying a mix of the solutions above, I ended up with the below.
json_response = requests.post(
    "http://host:port/abc",
    json=data,
    headers={"Content-Type": "application/json; charset=utf-8"},
)

Weirdly enough, Postman works despite not setting the charset.

Hi, using v0.68.1, I encounter this issue, fixed it by adding the content-type header in my JS fetch request.

Shouldn't this issue be reopened? I also see this on 0.68.1.

@Mause IMHO if the data arg is for FormData objects, then the post function help text needs to be updated.  It currently reads:  "param data: (optional) Dictionary, list of tuples, bytes, or file-like object to send..."  But if you pass it a dictionary, you get back a status_code of 422.

I think this issue is critical, I can saw this on 0.70.0 too, make a POST request from httpx with json=msg, headers={"Content-Type": "application/json; charset=utf-8"} does not resolve this issue.
my pydantic model just simple like this:

class history_model(BaseModel):
process_order: int
process_name: str
request_dttm: str
request_body: Optional[Dict] = None
response_body: Optional[Dict]  = None
class worker_model(BaseModel):
msg_no : str
topic_name : str
next_stage : str
entity_info : Dict
status_history : List[history_model]
track_change : Optional[List[Dict]] = None

when I test the json string in /docs, it work, but post it via httpx/requests it will return error:
{'detail': [{'loc': ['body'], 'msg': 'value is not a valid dict', 'type': 'type_error.dict'}]}

The reason the downgrade fixed it was due to the json post handling in the latest version - it was changed so it only tried to parse bodies with a valid Content-Type header as json, which the data parameter wouldn't set

This is a rather major change of behaviour!
It broke plenty of existing integrations at $work :(

I also have seen similar behavior and was able to work around it  by adding validator to my models/schemas.  Any help would be appreciated.

@ahutchful what error are you getting?

@Mause {'detail': [{'loc': ['body'], 'msg': 'value is not a valid dict', 'type': 'type_error.dict'}]}

@ahutchful
The error can be a bit confusing, but here the endpoint is expecting the request body to be a dictionary.
However, your request body is an array of records.
This is explained here https://fastapi.tiangolo.com/tutorial/body-multiple-params/
I found the explanation confusing as other people have it seems.
Essentially, if you have a single body parameter, then FastAPI expects that item as the actual body of the request.
Whereas if you have multiple parameters it expects the body to be a dict with the parameter names as keys.
You can get around this though

But if you want it to expect a JSON with a key item and inside of it the model contents, as it does when you declare extra body parameters, you can use the special Body parameter embed:

item: Item = Body(..., embed=True)

It does this parsing automatically and the error can be misleading you don't understand how the parsing works.

I just updated from 0.63 to 0.78 and I had the error too.
I fixed it by changing the frontend from
const response = await fetch(url, {
  method: 'POST',
  body: JSON.stringify(body),
})

to
const response = await fetch(url, {
  method: 'POST',
  body: JSON.stringify(body),
  headers: { 'Content-Type': 'application/json' },
})

I Solved It With The "Content-type" Parameter In Requests Library. Attaching My code for reference.
response = requests.post(url, json, 'application/dict')
class Query(BaseModel):     query: dict
@app.post('/query/') def get_records(query: Query):     print("aaaa=-===", query)     return {"records": "a"}

Swift Alamofire encoder: JSONParameterEncoder.prettyPrinted  is working
        let url = "http://<IP_ADDRESS>:8000/create_user"

        AF.request(url, method: .post, parameters: parameters, encoder: JSONParameterEncoder.prettyPrinted).response { response in
            guard let data = response.data else { return }
            let json = try? JSONSerialization.jsonObject(with: data, options: .fragmentsAllowed) as? [String : Any]
            print(json)
            let user = User(fromJson: JSON.init(json as Any))
            print(user)
        }

Thanks for the help @Mause! 🍰
And thanks for the discussion everyone. ☕
That change was a fix for a vulnerability. That's why it can't just assume and read JSON, and that's why it has to be there. You can read more in the release notes: https://fastapi.tiangolo.com/release-notes/#0652

Sorry for the long delay! 🙈  I wanted to personally address each issue/PR and they piled up through time, but now I'm checking each one in order.

Also, using requests.post(json={"some": "data"}) requires the value passed to json to be the Python objects because Requests serializes that to JSON bytes (a string). If you serialize it before and pass it a string, then Requests will send it as a JSON string data type, not the pure data serialized as JSON.
It's not related to FastAPI, FastAPI expects standard JSON. It's related to how Requests expects the data in the parameter and how it serializes automatically for you.

On Postman, you can solve problems by changing Content-Type headers to application/json, view solution at https://stackoverflow.com/questions/71470236/post-request-response-422-error-detail-loc-body-msg-value-is-n/74947229#74947229


Android back button callback?

By default, the Android Back button will close the modal. Looking at the code I found the (undocumented?) hideOnBack property which disabled this.
The behavior I'm after is a bit different: I'm presenting the user with an alert modal, on top of an existing scene, that will explain what needs to be done. What I'd like to happen is that if Back is pressed, then the app will navigate to the earlier scene (i.e. not just close the modal and stay at the same scene, but go back to the previous scene).
I was hoping that a close callback would allow me to do this (by simulating a Back press), but I don't think I can tell whether the modal was closed as a result of the Back button or not. Is there a way to achieve this?

Maybe I'm missing something but isn't onModalHide enough to achieve your desired effect?
You just navigate to the previous screen when onModalHide is triggered. 🤔
Thank you for noticing the hideOnBack missing documentation, I'm adding it right now :)

Thanks for the quick reply!
The thing is that I don't think I can tell that onModalHide was called as a result of the Back button being pressed. In my particular case, there are other triggers that can cause the modal to go away, and I want to treat the Back button differently.

I think I got it now :)
Did you already tried handling the back button press by catching it in the modal's parent component (through react-native's backandroid)?
I'm not a master of the Android back button functionality but it seems that toying a bit with it should solve your issue.
If it doesn't work I guess another solution would be making this component close when changing it's isVisible prop, but it would require a bit more code on my side... so let me know if the first solution works first! :)

I have a listener for back button at the very "top level" of my app, and when I set hideOnBack to false my listener isn't getting called. I guess that react-native's Modal swallows the notification somehow. I actually didn't try installing a handler in the modal's parent component. Will give it a try.
Not sure I follow what you meant by closing when changing isVisible, but would it be possible for react-native-modal to expose a callback from closeOnBack (or maybe provide an argument to the onModalHide callback that indicates wasClosedByBack)? I don't think this should require too much code. I can try it tomorrow and send it as a pull request if it makes sense to you.

Honestly, I wanted to preserve closeOnBack/onRequestClose to the current status for another nifty future I planned (hiding modal on backdrop press) but in the end add a callback shouldn't interfere too much at all so... sure, you can do it, a PR is very much welcome :)
Thanks!

Released on v2.2.0, closing!


searching with seed/taxonomy ids

This might be my greatest pet peeve.  I search for a taxonomy id/seed genome ID (83334.1) in the genome browser and I basically get the right answer.  Then I search for (fig|83334.1.peg.4) and I get something totally off base.

Although this ticket is for current production, new website takes care of it and we're planning to have beta soon. So, I am closing this ticket.
https://www.alpha.patricbrc.org/search/?keyword("fig|1673609.3.peg.2413")


Crashes after playing a few moves from the initial position

As f8d98bb the game crashes without any signs after playing a few moves, especially after moves with minor and major pieces.
The crash is not caused by any segmentation fault. The memory consumption seems to be constant during the game.

Due to the wrong indexing on the Windows operating system, the program does indeed crash with a segmentation fault.

Due to the wrong indexing on the Windows operating system, the program does indeed crash with a segmentation fault.

https://github.com/Artiom-Astashonak/cheezee/commit/3e12aeafc6daf76f2e1c5c860e67969fc250f405#commitcomment-141576883


Add VIX (volatility index indicator)

The VIX index measures the implied volatility of S&P 500 index calls and options. It's known as the fear gauge since its value rises at times of increasing volatility. As a volatility-specific hedge, investors can utilize ETFs that track the VIX to go long on the VIX.

Hey, I wish to do this ,can you assign me this

Done, You can start working on it

what exactly are we supposed to do in this ?

You can use any API for it, or you can just use the technical indicator associated with it

Hey are you still working on it ??

I am interested to work on this, i request to be assigned.

Hey @Akshat111111 can you assign this task to me?

I have knowledge in python so i can help you with this @Akshat111111

I have knowledge in python so i can help you with this @Akshat111111

Provide your approach ??

@Akshat111111  As for how'd i approach :

using the yfinance library to fetch historical data for the VIX index.
2)visualize the historical trend of the VIX index and the VIX ETF and assess their correlation. By comparing the movement of the VIX index with the VIX ETF, through which investors can evaluate the effectiveness of using the VIX ETF to go long on the VIX as a volatility-specific hedge.

nice, you can move forward.


build scrapper

The scrapper should download only receipt images and expenditure reports
ref material:
https://github.com/mamer-alomari/ecosia_image_scrapper
store scrapped images in a google drive folder sharable to everyone and provide a link

Selenium was updated and has a different way of approaching driver.find_element_by_XPath   its now driver.find(by_xpath, "xpath")


Sentence and document level parallelization

SentenceAnnotator trait is designed to abstract sentence level parallelization of all subclass annotators, but currently no parallelization is implemented. Also it is unclear whether currently implemented components such as CCG parser can actually be parallelizable (by calling newSentenceAnnotation method concurrently). Maybe we have to define some rules for a component, which should be followed to enable sentence level parallelization. CoreNLP's SentenceAnnotator class also handles sentence level parallelization in its annotate method, which should be consulted to decide rules and implementation details.
Also, some annotators, such as KNPAnnotator with document-level anaphora requires document-level parallelization instead of sentence-level parallelization. Probably such classes inherit another trait of DocumentAnnotator, which abstracts document-level processing.

Sentence level parallelization for the currently supported annotators is implemented in d3284c83df2bdde6e659b5baafde07835e7b515e.
Modifications are not so much; each sentence-level annotator modifies elements in <sentences> in parallel using Scala's par. Then, if every annotator is implemented thread-safely, annotations are performed in parallel.

kuromoji and ccg are already thread-safe.
For other annotators for external softwares, we can make them thread-safe by mixing-in ParallelIO trait, which provides IOQueue class that abstracts parallel IO mechanism (using BlockingQueue, on which each element is a different process of the software).

Simple benchmark in knp:

annotating 100 sentences;
on 4 core machine.

$ java -Xmx4g -cp "target/jigg-assembly-0.4.jar"  jigg.pipeline.Pipeline -annotators ssplit,juman,knp -file =(head -n 100 sentences.txt)
Annotating /tmp/zshK6dtn1 with ssplit, juman, knp {
  ssplit:  [0.1 sec]
  juman:  [0.5 sec]
  knp:  [16.8 sec]
} [18.9 sec]
Writing to /tmp/zshK6dtn1.xml... done [0.3 sec]
$
$ java -Xmx4g -cp "target/jigg-assembly-0.4.jar"  jigg.pipeline.Pipeline -annotators ssplit,juman,knp -file =(head -n 100 sentences.txt) -nThreads 1
Annotating /tmp/zshLijMgI with ssplit, juman, knp {  # nThreads=1 means no parallel annotation
  ssplit:  [0.0 sec]
  juman:  [0.4 sec]
  knp:  [31.9 sec]
} [34.0 sec]
Writing to /tmp/zshLijMgI.xml... done [0.2 sec]

Maybe only the remaining issue is related to #29, which is relevant to documentation for KNP.


Add FEMUG #7

@woliveiras do you can change event sequence?
put event before the Front in Rio

@IAMFELIPEMATTOS, sorry. Updated! :)

thx :+1:  @woliveiras


fix open block upload in DBS

fixes uploading open dbs blocks when dbs insert block call fails

@amaltaro, please review. I will create the new patch for 1.0.5_wmagent and 1.0.6_wmagent

And now we are safe :-) Good to me! Thanks


undercurls (fixes #136)

See #136 for more info on what undercurls are. I've patched everything except for one conflict, xst compiles fine, however I still get underlines instead of undercurls.
That one conflict was this line which removes an XftDrawRect function call and replaces it with the actual implementation of the undercurls + a fallback to underlines
Here's a comparison of that function call
patch
XftDrawRect(xw.draw, fg, winx, winy + dc.font.ascent + 1, width, 1);

xst
XftDrawRect(xw.draw, fg, winx, winy + win.cyo + dc.font.ascent + 1, width, 1);

They only differ in the addition of win.cyo, I have no idea what xst patch introduced this parameter, its significance nor how it should be used within the newly patched code.
Any hint would be highly appreciated.

They only differ in the addition of win.cyo, I have no idea what xst patch introduced this parameter, it's significance nor how it should be used within the newly patched code.

Any hint would be highly appreciated.

$ rg cyo
x.c
88:     int cyo; /* char y offset */
1049:   win.cyo = ceilf(dc.font.height * (chscale - 1) / 2);
1319:                   yp = winy + font->ascent + win.cyo;
1565:           XftDrawRect(xw.draw, fg, winx, winy + win.cyo + dc.font.ascent + 1,
1570:           XftDrawRect(xw.draw, fg, winx, winy + win.cyo + 2 * dc.font.ascent / 3,

I think the issue is much larger than that, I've tried:

the patch on vanilla st
a maintained st fork that claims to have undercurl support.

on 2 of my machines, no undercurls.
This is a major roadblock, could I be doing this all wrong? anyone who does the steps above let me know what you get.

terminfo is not fun

i could help reviewing the PR when it's ready but as i'm not interested in the feature myself i can't help with developing it, sorry

oh no worried, I have this in the bag ... sorta

I've got it working now but it looks a bit different due to how st renders characters
kitty

xst

it seems like st doesn't provide an extra padding around its characters so stuff like a undercurl could fit within its bounding box.
should I add the xrdb support and finalize this PR or is there an issue with the above?

I've selected the most wide spread (and sane) method of rendering undercurls, that has made them look nicer and not going above the characters baseline, it also scales with the font size.
10px

13px

16px

you have to apply that cyo y axis offset to line itself as well, i guess

thanks! i think now it looks good to go

I went this morning and implemented the rest of the patch, the cyo was the cause of the rendering issue.
figured it would make the life of whoever comes after me easier plus more options so why not, xrdb support incoming.
curly

spiky

curly

are the latest screenshots made already with applying cyo?
after zooming them in they still dont look as good vertically adjusted as in kitty:
your last screenshot:

your kitty screenshot:

feels like it need to add(remove) 1 extra pixel of vertical coordinates

also, could you make a screenshot of text with with underline? (_) using the same font as you used for kitty

and, (here i am being like really picky) - because of using ceil instead of round - you have a rounding mistake in your formula resulting in the "tilt" of the sinewave right in the vertical middle of it:

the ceil has no effect on the wave tilt, however I've edited
# x.c:1596
int wh = win.cyo + dc.font.descent - wlw/2 - 1;
to
int wh = win.cyo + dc.font.descent - wlw/2 - 2;

and now it renders better
kitty

xst

it must be somewhere the round() missing, i'll try to look through the code again to guess where

regarding vertical alignment - can confirm it looks uniform with kitty now :+1:

The tilt seems to be directly effected by the font size which makes sense, the patch doesn't implement a sophisticated method for mapping pixel patterns to always represent a smooth curve. here are some samples:
9px

14px

15px

16px

17px

This issue is mostly apparent in 15 and 16 but it does show in larger sizes, the gist of it is the pixel plotting works flawlessly on anything less than 15 because it's so restricted the "sin wave" always becomes a square wave, but anything higher and you enter "is this font size going to produce a nice wave or is it going to leave a dangling pixel as a side effect" land.
This whole issue becomes irrelevant if you use any of the other 2 methods as they use a less float-dependant methods of rendering, which makes me think maybe I should make the default one of them?

it seems what just on those 2 font sizes the values getting their 'edge case' to make the rounding problem visible
but since i dont have personal interest in this thing - that won't be a blocker from merging it from my side, so there is no urge in fixing it now

cool, I have nothing more to add to this PR, I'll wait for the merge.

@neeasade review pls

Looks good, thanks again


Streaming inference

So I want to ask, is that only the AR LLM the streaming part, the NAR Flow Matching remains non-streaming?

flow matching is non-streaming, we use chunk inference to simulate streaming, but it is non-streaming inference actually


[e2e]: delegator-lowperms release main default slsa3

Repo: https://github.com/slsa-framework/example-package/tree/v43.0.326
Run: https://github.com/slsa-framework/example-package/actions/runs/9279200710
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.delegator-lowperms.release.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.delegator-lowperms.release.main.default.slsa3.yml
Trigger: release
Branch: v43.0.326
Date: Wed May 29 02:20:59 UTC 2024

Repo: https://github.com/slsa-framework/example-package/tree/v43.0.327
Run: https://github.com/slsa-framework/example-package/actions/runs/9295912614
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.delegator-lowperms.release.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.delegator-lowperms.release.main.default.slsa3.yml
Trigger: release
Branch: v43.0.327
Date: Thu May 30 02:39:52 UTC 2024
Tests are passing now. Closing this issue.


⚠ Bofrost.be has degraded performance

In 82cc166, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1297 ms

Resolved: Bofrost.be performance has improved in 809cb70 after 19 minutes.


No persistency data in dashboards

After running example project on current main, generating traffic for /api/v1/account/UUID/deposit/10.0 endpoint and opening up a grafana dashboard no data is shown on page:

I've:

removed all my /target directories (to make sure there are no stale jars)
run sbt assembly

What I noticed is that sbt assembly does not build the otel extension jar. So if you were running from IDE, it was not picked up (it was absent). When I then run sbt "project example" runWithOtelAgent it worked.
My guess is that the build.sbt config is not correct since it doesn't assembly the otel agent.

Looking at this in build.sbt:
lazy val all = (project in file("."))
  .disablePlugins(sbtassembly.AssemblyPlugin)
  .settings(
    name           := "mesmer-all",
    publish / skip := true
  )
  .aggregate(extension, agent, example, core)

There should be otelExtension included in the last line of this snippet.

@lgajowy My issue was with mesmer agent, but after cleaning everything and running it again everything seems to be ok. I'll close this issue as I can't really reproduce it at this point - if this happens again in the future I'll take another look.


Updated record can be truncated in very rare cases

OrientDB Version: 2.2
Java Version: any
OS: any
Expected behavior
In very rare cases when we perform record update if difference between free space of page which will be used to contain record and size of record itself is less than three (freeSapce - recordSize < 3) a record can be truncated
Actual behavior
Page with such amount of free space should be replaced by new page with essential amount of free space
Steps to reproduce
May be reproduced in some internal test cases

Fixed


Fix potential null reference exceptions, bump zip lib version

After testing the ExcelToHtmlConverter, found a few spots where a NullReferenceException could potentially occur and addressed those issues. Also bumped the zip lib version as requested in https://github.com/dotnetcore/NPOI/issues/86 and https://github.com/dotnetcore/NPOI/issues/75. Bumped the package version as well due to these changes. Happy to make any adjustments to this PR as necessary.

looks good, thanks for your PR


Unclickable Investigator Eliminated

A small enhancement request for the future release, although I understand it may not be easy to do.
It'd be good to be able to unclick Investigator Eliminated in case someone clicks it instead of Set Fire.
I presume clicking the button causes firing a specific event and that's why it's unclickable. Am I right?

I'd be interested to know how this works actually. Does clicking that button just set a variable, can we use events to "reset" that variable?

The app does the following :

set #eliminated to 1
at the end of the round set #eliminatedprev to 1
at the end of the following round if #eliminatedprev  == 1, it triggers the event "Eliminated"

And yes I can make this button clickable again to cancel the action.

Thanks @BenRQ.

It'd be good to be able to unclick the button, just in case. @BenRQ, can you set the label 'Your opinion wanted' here too?


Diagram Types

The current spec v1.0 defines "nodes + edges on a canvas" and some general metadata on nodes and edges. Very minimal, which is good.
In terms of minimalism as well as the need to convert a diagram into specific export formats it would be fantastic to see support for definition of Diagram Type. Examples of types:

UML Class Diagram
Mindmap Diagram
Sticky Notes (brainstorming / ideation)

And an example of more domain-specific diagram types:

Event Storming Diagram (specialisation of sticky note diagram)
Event Modeling Diagram (a complex diagram type)

What would the Diagram Type be used for:

Load tool palettes exclusively containing relevant shapes and tools.
Indicate diagram validity or restriction of illegal actions ("can't connect these shapes").
Allow export to valid domain-specific data format / controlled vocabulary.

E.g. in case of the event diagrams the export might be used to bootstrap Event Catalog and generate boilerplate code for your eventsourcing project.

Thus far I haven't found universal way to define diagram types in any canvas-based diagramming solution. Restricting the UI to conform to a specific diagram type involves custom API's and even then cannot be fully achieved (unless by signficant custom code and/or forking the diagrammer codebase).
In most canvas-based diagrammers you draw rather than diagram. I.e. a adding a sticky note involves creating a rectangle, giving a color, sometimes adding a textbox within and grouping that with the rectangle. That makes it hard, highly customised, or unfeasible to export to a specific format / vocabulary.

Specific definition of diagram types looks like out of the scope of a minimal specification but we could provide methods for others to define such types. I'd suggest to extend the data model with a generic properties field holding arbitrary key-value pairs like usual in Labeled Property Graphs.

Question is what is a minimum specification of a diagram type that adds sufficient value to be usable?
An extension mechanism as you describe would come some way of letting external parties bring additional functionality by adding extra metadata to a node or an edge. An addition should be to allow adding metadata on the diagram itself.
If the main objective of the diagram type is to allow it to be exported to some domain-specific format, so it can be directly ingested by some automated system, then the spec need not define all the diagramming logic and can defer some of that to the diagrammer implementation.
(Below quite incomplete, just sketch the idea.)
{
  "definition": {
    "label": "Event Storming Diagram",
    "shapes": [
      {
        "name": "Command",
        "type": "text",
        "color": 5
      },
      {
        "name": "Event",
        "type": "text",
        "color": 2
      },
      {
        "name": "Actor",
        "type": "text",
        "color": 3
      }
    ]
  },
  "nodes": [
  ],
  "edges": [
  ]
}

PS. Wrt an extension model in general, beware that a properties field leads to backwards-compatibility issues if ever a property gets 'promoted' to be part of the standard itself. Here the problem of JSON extensions is explained for the CloudEvents spec.
PS2. The spec should probably have a version property, or declare that any change MUST be backwards-compatible.


Pleasing phpstan

I'll leave the reflection errors to you or we could ignore them 😎

@marmichalski thanks for quick response :sunglasses:


Hawkfish datefunc

DAYOFMONTH, DAYNAME, LAST_DAY, MONTHNAME, WEEKDAY, WEEKOFYEAR, YEARWEEK

Looks good, the PR test is failing for an unrelated reason. Thanks!