Not working in i3

I am running i3. I run splash fidget --a and nothing showed up. My background is a little dark, so I ran xsetroot -solid white and I still could not see anything show up when I ran splash fidget --a

Ok. I will install i3 and see if I can get it to work! I will report back. Thanks for testing.

I did some testing on i3 and fixed some compatibility issues. If you git pull and reinstall with sudo setup.sh, you should be able to spawn the fidget. There is a little tweak you also need to make in your ~/.config/i3/config so that the splashes spawn "borderless".
There are still a few compatibility issues because of the design choices of the i3 makers. I added a little section in the readme that describes the problems. I am thinking of some work-arounds, but it seems like i3 will have limited compatibility for now. Many of the features work though! Sorry about that!

I've actually been working on something similar, inspired by glava, but with a Haskell EDSL mixed with a patched version of lambdacube-3d for dynamic extensibility and all that FP goodness. The way glava circumvents the i3 problem you describe in the readme is via XRaiseWindow and XLowerWindow.

Thanks for the comment! I am aware of this work around. There would still be the issue of two window layers though, so you will never have a splash behind the windows. But it would be possible to have permanent screen overlays. I will look into this is a possibility.
Another key issue with i3 right now is the lack of support for the X shape extension. I believe it is more important to fix that first, because an always-on-top overlay is kind of dumb if you can't click through it.

Hm, not sure if I understand what you mean, but this is what I've managed to achieve using the same abomination of a rice I had since the last time if it helps, with both tiling and floating active. Left side is just a transparent i3 test window.
https://streamable.com/11hhya
Clickthrough is kind of beyond me. Back on win32 I managed to achieve it by intercepting clicks in the window loop then passing a click event to the window below. Very hacky and messy but it was the only thing that worked at the time. Not sure if something similar would be possible on X11, but I have a hunch it might.

abomination of a rice

lmao that is pretty extreme
The window on the side is a tiled window with transparency, through which you can see your background image. I want to be able to place splashes arbitrarily on the screen AND behind tiled windows - that means they have to be floating. i3 seems to make it impossible though to have a floating window behind a tiled window (even if it is transparent and you can theoretically see through to the desktop - there exists nothing "underneath").
This can be ignored - that would just mean that the --bg flag doesn't work and you can't have an OpenGL / shader animated wallpaper.
The issue with the clickthrough is not just clicking through but the fact that it still captures mouse-over events. This leads to refocusing on splashes even when I don't want them to be focusable in the first place, I want them to either be at the top or the bottom. Also the wonky resizing behavior - I don't understand why it happens.
Floating windows in i3 in general appear to have no concept of a preferred order (according to the i3 issue I linked in the readme).
The permanent screen overlays (always on top) might be possible by being extremely hacky and REALLY forcing X to ignore any mouse over events and stuff, but I couldn't figure that out yet. All these problems are very related as you can see - that's why I say I think I would make the most progress (also on the window ordering) if I can get X to handle input events like I want it to. The ordering problem would be practically given.
The passing click events sounds very hacky, I'm not sure I want to do that. I am also not sure I want to continuously force window raises and lowers. I will look into it though.
 I don't necessarily want to write a whole parallel system just for i3 (even though I know many people use it) - other tiling window managers respect the window hints for tiling order AND have the possibility of a layer beneath the tiled layer AND handle the X shape extension correctly (e.g. bspwm). If I can find fixes that incorporate well - I will incorporate them.
IMO the easiest fix would be if i3 respected the ordering hints lol _NET_WM_STATE_ABOVE / BELOW.

The rotating thingy isn't actually my wallpaper, though.

I guess the point of the video was that I arbitrarily squeezed an override redirect window (the rotating one) in between two others (xinwrapwrap w/ mpv as wallpaper + glava), all of which below regular tiling/floating layers, which seems to be what you're after? Cmiiw. I set the window geometry to full screen in this case but it works fine with any size / position, can screenshot if needed.
I don't think floating matters in this case; i3 doesn't enforce size / position once a window is in override redirect from my experience. But I definitely get you on not wanting to waste time on the one WM that doesn't conform to standards. I wouldn't want to go through the ordeal of re-implementing that hack myself. I suppose window lowering/rasing could be feasibly implement for now, but the other half of this issue should just be left open in case someone really deadset on i3 with free time to kill wants to write a clickthrough workaround.

Oh damn, I never clicked play. I take it all back. So it is possible to have windows beneath the tiled layer by forcing lowering. In that case if one can fix click through somehow full i3 support would be feasible, but probably tedious. It might even be easier / more sensible to write an i3 patch than trying to hack X11 to circumvent behavior that i3 blocks.

But I definitely get you on not wanting to waste time on the one WM that doesn't conform to standards.

Exactly. If somebody wants to fork and propose a solution, that would be awesome.
Thanks for the discussion and input! I will update the readme.

Also may be worth noting that it seems to require a compositor of some sort in order to work semi-properly. Working(ish) with picom for me.


Netmiko connection reuse and netmiko textfsm

.

Note, I added the **kwargs to get_connection to allow for arguments to be passed in outside of Brigade inventory.
In other words, I wanted to less tightly couple the connection management from the inventory so that we could use other inventory plugins (or not have an inventory).
Though maybe connection management and inventory is still too tightly coupled since it is a method of a Host object.
Do we want to consider totally decoupling connections from Brigade the Host class? Something like a Connection class. The Brigade Host could then assign this connection class as an attribute of the host.
This would allow other Brigade inventory plugins or no-inventory situation to still re-use/track the connections in Brigade (in a more uniform way without being coupled to a Brigade Host object).

Need to add a way to gracefully cleanup a connection and cleanup all connections.

Need to add a way to gracefully cleanup a connection and cleanup all connections.

We can add "close_$connection_name" tasks that users can call at any time if they want to. But I don't think we need to handle those automatically ourselves. Garbage collector should call __del__ and close the connections automatically:
https://github.com/napalm-automation/brigade/pull/25#issuecomment-349945205

@dbarrosop Agreed we shouldn't try to do anything to close the connection ourself, but should just have close_$connection_name so that the end-users can gracefully close the connection (freeing up the VTY port on SSH) and so the entry in the connection_map gets cleanly removed.

This would allow other Brigade inventory plugins

This works already, I am not using the default inventory at $DAYJOB. I should probably document how to create a custom inventory, it's extremely easy though but an example is always welcome. For reference:
from brigade.core.inventory import Inventory

import requests

class CustomInventory(Inventory):

    def __init__(self, params=None, **kwargs):
        # code here to retrieve hosts and group information from my REST backend
        # I use params to filter the data in the backend directly
        # and avoid having to filter unnecessarily thousands of devices
        super().__init__(hosts, groups, **kwargs)

no-inventory situation to still re-use/track the connections in Brigade (in a more uniform way without being coupled to a Brigade Host object).

That'd be tricky but maybe can be solved by doing something like:
def my_task(param1, param2, **kwargs):
      # param1 and param2 are parameters that are required by the task
      brigade_params = kwarge.pop("brigade_params")
      host = brigade_params["host"]
      brigade = brigade_params["brigade"]
      dry_run = brigade_params["dry_run"]

However, that could lead to some tasks being reusable while some others aren't. A simpler and maybe nicer alternative would be to do:
from brigade.plugins.functions import something

def my_task(task, param1, param2):
    connection = task.get_connection("netmiko")
    something.my_task_as_a_function(connection, param1, param2, task.dry_run)

That way it is very clear that something.my_task_as_a_function is reusable while the tasks aren't.

Will re-submit with proposed changes...might be a few days though.


[Smoke Tests] Clean up test_e2e_reconfiguration and some other refactors.

Motivation
This PR offers some small and simple cleanups to the operational_tooling smoke tests. It does so in three commits:

First, we clean up the test_e2e_reconfiguration smoke test so that it's clearer what is being tested (as well as more consistent with the other tests).
Second, we re-order the smoke tests to be alphabetical. Nothing changes semantically in this commit.
Third, we refactor a duplicate helper function for retrieving a storage backend from a given node config.

Have you read the Contributing Guidelines on pull requests?
Yes.
Test Plan
All tests pass locally.
Related PRs
None.

Thanks, all 😄
/land


[dark and light theme for website]

Description
i would like to add light and dark theme for the website which will make it interactive and suitable in night time.
i would like to work on it, please assign it to me under JWOC'24

I would like work on this issue please assign it to me under GSSOC '24'

I want to work on this issue, can you please assign it to me

I would like to work on this issue , will you please assign it to me under GSSoC'24
Thankyou


parsing breaks with IPv4-mapped IPv6 addresses

The IPv6 address syntax allows forms such as ::ffff:<IP_ADDRESS>, but the reference parsing code, despite allowing other forms of IPv6 address, doesn't seem to allow these, even though the Go net package does.
For example, running against commit 8507c7fcf0da9f570540c958ea7b972c30eeaeca, this code fails:
package main

import (
	"fmt"

	"github.com/distribution/reference"
)

func main() {
	_, err := reference.ParseAnyReference("[::ffff:<IP_ADDRESS>]/bar")
	if err != nil {
		fmt.Println("error:", err)
	}
}

The error it prints is:
error: invalid reference format

Although the code says "Special addresses such as IPv4-Mapped are deliberately excluded", ISTM that that exclusion is not entirely warranted, as it's reasonable to specify an address in this way. The same cannot be said of zone identifiers.

@thaJeztah is there a reason we've changed this behaviour 🤔

Handling of IPv6 IP-addresses was added in https://github.com/distribution/distribution/pull/3489, before that IPv6 was not handled in any form, so this looks to be a feature request / enhancement.

I don't think there's a specific reason, other than potentially to reduce complexity of the regex; I recall I suggested reducing the scope of the regex for this purpose (and handle further processing after this) in https://github.com/distribution/distribution/pull/3489#issuecomment-905005613
So, I think the current implementation was done to provide the (minimum) requirements for IPv6 addresses at that time, and the documentation was added to reflect what's supported to prevent false expectations; see https://github.com/distribution/distribution/pull/3489#discussion_r904431981
We must make sure that there's no ambiguity in such references, as the "is it a domain?", "is it an IP?" or "is it a namespace on the default registry?" is already complex, and allowed formats of IPv6 addresses is a bit of a wild-west, but I THINK with the requirement to have these addresses using the notation with square brackets ([<address>]) should help with that, so perhaps not a concern. Performance is definitely still something to keep in mind though, so if we would update, we should consider what part to handle as part of the regex, and what part to handle in code after that.

Aha! I remember that PR now. Solid git archaeology @thaJeztah Thanks for refreshing my memory and for adding the context 😄


smooth terms in HGAMs

Hi,
First off - the paper on HGAMs is really instructive and super well written! So thanks. This isnt an issue per se, but I have a question about smooth terms that other users might be interested in. For Model types GS and S, is it required that the "fs" smooth term be used? I have a model consisting of a single predictor and single class of random effects for which I want to evaluate fit of group-level smoothers. However, these are phenology data where I wish to always use the cyclic cubic smoother (bs="cc").
Thanks,
Bryan

The fs part is really not a basis in and of itself and there is a need to specify what underlying basis to use. This can be specified by passing a list to the xt argument of s():
s(x, fac, bs="fs", xt = list(bs = "cc")

would set up a cyclic cubic spline basis for use in this factor-smooth interaction. You can also specify the knots by passing the two end points/boundary knots for x (in the above example) by passing a list to the knots argument to gam() etc.

That helps alot. Just to clarify - it is only model types GS and S (where a common smoothing parameter specifying wiggliness is being estimated) where the equation would take this fs basis, correct?

That's right. The fs basis assumes a single smoothing parameter for all group levels.


BigQuery - running a large length query fails with HTTP400

Running a BQ query is done via an HTTP GET which is failing on long queries as the URL is too long and rejected.
Environment details

OS:  OSX
Node.js version: 6.0.0
npm version: 3.8.6
gcloud-node version: 0.37.0

Steps to reproduce

require gcloud-node
Run query that is very long (our example is 6325 characters long)

      bigquery.query(query, function (err, rows) {
        if (err) {
          reject(err)
          return
        }
        resolve(rows)
      })

It will fail with an HTTP 400 - example response body

\n\n<TITLE>Bad Request</TITLE>\n\n\n
Bad Request
\n
Error 400
\n\n\n

I wasn't able to reproduce with a 8,732 chars long query. We send the query string as part of the JSON payload of the HTTP request, so it's not in the URL itself. The 400 code has a few different meanings: https://cloud.google.com/bigquery/troubleshooting-errors -- any chance one of those could be related?

Confusingly, the same query runs fine in the BQ UI - any chance of getting error details in the response rather than an HTML payload?

Currently, console.log(err) is that string of HTML?

Since I can't get the same error you're getting, I forced another by using a malformed query. The error returned looks like this:
bigquery.query('malformed query', function(err) {})

console.log(err)
ApiError: Encountered " <ID> "malformed "" at line 1, column 1.
Was expecting:
    <EOF>

    at new util.ApiError (/Users/stephen/dev/play/gissue-1503/node_modules/@google-cloud/common/src/util.js:112:10)
    at Object.parseHttpRespBody (/Users/stephen/dev/play/gissue-1503/node_modules/@google-cloud/common/src/util.js:190:30)
    at Object.handleResp (/Users/stephen/dev/play/gissue-1503/node_modules/@google-cloud/common/src/util.js:130:18)
    at /Users/stephen/dev/play/gissue-1503/node_modules/@google-cloud/common/src/util.js:453:12
    at Request.onResponse [as _callback] (/Users/stephen/dev/play/gissue-1503/node_modules/retry-request/index.js:120:7)
    at Request.self.callback (/Users/stephen/dev/play/gissue-1503/node_modules/request/request.js:187:22)
    at emitTwo (events.js:106:13)
    at Request.emit (events.js:191:7)
    at Request.<anonymous> (/Users/stephen/dev/play/gissue-1503/node_modules/request/request.js:1044:10)
    at emitOne (events.js:96:13)
  code: 400,
  errors:
   [ { domain: 'global',
       reason: 'invalidQuery',
       message: 'Encountered " <ID> "malformed "" at line 1, column 1.\nWas expecting:\n    <EOF> \n    ',
       locationType: 'other',
       location: 'query' } ],
  response: undefined,
  message: 'Encountered " <ID> "malformed "" at line 1, column 1.\nWas expecting:\n    <EOF> \n    ' }

I'm going to close since I can't reproduce. Let me know if you can provide a gist/repo that reproduces and I'll gladly re-open.


Allow use as FIDO authenticator

We could implement, as a separate applet, a FIDO U2F authenticator. Ideally, if the formats are compatible, one would be able to use one of the derived keys as identity for authentification.

I agree this would be a very natural extra feature of the card. And quite easy to add. Are there any good open source implementation for this ?
I wouldn't either put it on top priority of the to-do-list, unless we identify some usages of U2F linked with adoption of ethereum, dapps, and wallet space. What do you think ?

There are open source implementations, but I want to explore the possibility of not using separate identity keys for FIDO and instead integrate it with our key tree (using the non-wallet subtree). Of course this would mean doing our own implementation. I also do not consider this to be top priority for now.

#79

For something like this, that's kind of outside the scope of this applet. If you're after a FIDO2 compliant spec, you can freely fork my implementation of this (https://github.com/VivoKey/vk-u2f).

Hey there. Any plans on supporting this? I'd say even just supporting a very basic implementation with no connection with the main applet keys would already be very helpful and might drive adoption of keycard for other things (not only tied to cryptocurrencies).

For future reference, I've managed to use this as an U2F authenticator on my Keycard https://github.com/darconeous/u2f-javacard. Just downloading the CAP from the releases and following the script on the README was enough to have it working on my iOS device.

For future reference, I've managed to use this as an U2F authenticator on my Keycard https://github.com/darconeous/u2f-javacard. Just downloading the CAP from the releases and following the script on the README was enough to have it working on my iOS device.

we keep the card open so that you can install any applet on it. We might look into preinstalling it in future batches but there is nothing preventing you to install it using the venerable https://github.com/martinpaljak/GlobalPlatformPro. Just make sure you use the correct globalplatform key which is c212e073ff8b4bbfaff4de8ab655221f

I'll try to install it, but my question is whether this feature could be brought as a official/supported Keycard feature.


Chore/readme/add more badges

close #13

Coverage remained the same at 98.96% when pulling d8906cf5e93c4faaed913ee8fb57ad5e029d42b1 on chore/readme/add-more-badges into cfa8d96fd77c8046e081e31eb9016220fd2776ce on develop.


Merge staging into production, 2024 Feb 22 edition

A list of places where code has been touched:

ajax_melody_list function-based view (Search-by-melody page)

[ ] type annotations added to this view; functionality should not have changed
[ ] Among search results, we now display chants' sources' sigla, rather than the chants' own sigla

Chant Detail View

[ ] text and volpiano parsing and alignment now handled by volpiano-display-utilities

Chant EditSyllabificationView

[ ] text and volpiano parsing and alignment now handled by volpiano-display-utilities

SequenceDetailView

[ ] we now display the link to edit the sequence if user has permission to edit chants/sequences in the containing source

SequenceEditView

[ ] non-project-manager users can now access this page if they have been given permission to edit the sequences in a particular source.

SourceEditChantsView

[ ] text and volpiano parsing and alignment now handled by volpiano-display-utilities

SourceInventoryView

[x] This view has been optimized to make fewer database requests; functionality should not have changed, but the page should load faster now.

Network configuration

[x] all valid subdomains are now specified as server_names in cantusdb.conf
[x] traffic to www.cantusdatabase.org is now redirected to cantusdatabase.org
[x] http traffic to alternate subdomains is now redirected directly to https://cantusdatabase.org

rather than http://{alternate}.cantusdatabase.org -> https://{alternate}.cantusdatabase.org -> http://cantusdatabase.org

Under the hood

requirements.txt

[x] volpiano-display-utilities dependency added

[x] ChantInventoryView was a duplicate of what's now the SourceInventoryView; the out-of-date ChantInventoryView has been deleted

While testing these changes, I've hit several 502 Bad Gateways on pages that shouldn't be expensive to load (e.g. https://staging.cantusdatabase.org/source/123641) - @dchiller, are you able to take a look at the logs to see whether there's something systematic going on here, and that it's not just The Alliance having a bad day or something?

django.core.exceptions.DisallowedHost: Invalid HTTP_HOST header: '<IP_ADDRESS>'. You may need to add '<IP_ADDRESS>' to ALLOWED_HOSTS. hmm...

I updated the dev_env file on the internal wiki to add the IP addresses to CANTUSDB_HOSTS_STAGING and _PRODUCTION. I'm going to try adding this on Staging to see if it resolves the issue - @dchiller and @lucasmarchd01, could one of you please review the updates I made (they're in the two most recent versions within "View history") before we go to production?

@dchiller, are you able to take a look at the logs to see whether there's something systematic going on here, and that it's not just The Alliance having a bad day or something?

The issue is with nginx.conf: unexpected end of file, expecting ";" or "}" in /etc/nginx/conf.d/cantusdb.conf
I'm going to get rid of the grafana logging now, because it doesn't make sense for only me to have access.

@dchiller, are you able to take a look at the logs to see whether there's something systematic going on here, and that it's not just The Alliance having a bad day or something?

The issue is with nginx.conf: unexpected end of file, expecting ";" or "}" in /etc/nginx/conf.d/cantusdb.conf
I'm going to get rid of the grafana logging now, because it doesn't make sense for only me to have access.

I'm guessing this particular error message was a result of my attempts to debug (see my couple of messages in Slack). Things seem to be working now.

I'm guessing this particular error message was a result of my attempts to debug (see my couple of messages in Slack). Things seem to be working now.

Ah, ok. Well, once containers are restarted (if not already) docker logs should be back to normal and not sent to grafana.

I updated the dev_env file on the internal wiki to add the IP addresses to CANTUSDB_HOSTS_STAGING and _PRODUCTION

I think this probably shouldn't be necessary.

The updates I made are currently running on staging, and seem to have resolved the issue - @dchiller and @lucasmarchd01, could one of you please review the updates I made (they're in the two most recent versions within "View history") before we go to production?

You responded to me on slack about this but responding here so we can all see... what is the issue that this solves? I understand that something is requesting something with that host, but why is it an issue...whatever is requesting it probably shouldn't be requesting it.
On the other hand, this made me realize that since we don't have a default server block in our nginx config, requests to the IP are getting through to django even though we've specified server_name's in all blocks in nginx.conf.

You responded to me on slack about this but responding here so we can all see... what is the issue that this solves? I understand that something is requesting something with that host, but why is it an issue...whatever is requesting it probably shouldn't be requesting it.

I think I was conflating two different requests that both timed out. Thanks for probing for information/clarification on this - I'm coming to the conclusion too that these IP addresses should not be included. I'll take them out of the dev_env file on the internal wiki.

On the other hand, this made me realize that since we don't have a default server block in our nginx config, requests to the IP are getting through to django even though we've specified server_name's in all blocks in nginx.conf.

I've opened #1331 - please feel free to expand on this there.
Thank you!

These changes are now running on Production! All tests are passing, and everything seems to be behaving as expected!


Create ci.yml

creating a pull request for a new branch "ci" that contains the workflow config file.

this pull request is reviewed!


Find two element from sorted array whose sum is 1000.

Hey!
I want to do contribution for this problem.
For solving this problem I 'm using greedy algorithm.
Time complexity-O(n)

/assign
Hey!
I want to do contribution for this problem.
For solving this problem I 'm using greedy algorithm.
Time complexity-O(n)


Add support for the Laravel asset() helpers

This PR adds some of the Laravel defaults into Winter's configs.

app.asset_url was added with reference to this PR which adds support for Laravel asset urls.

IMHO we should consider env() calls for every config that Laravel uses them for, which will be possible once https://github.com/wintercms/winter/pull/404 is merged. @bennothommo @LukeTowers thoughts?

IMHO we should consider env() calls for every config that Laravel uses them for

I cannot "yes" this enough.

IMHO we should consider env() calls for every config that Laravel uses them for

I agree with that and once #404 is merged then the main blocker to that in the past will be able to be dealt with and we can have a configuration system that works well for newbies and pros. I'm excited for it :)


Query.all and Scan.all Delay Seconds to Milliseconds

BREAKING CHANGE
This PR changes the Query.all and Scan.all functions to accept milliseconds instead of seconds as the delay parameter.
Due to this being a breaking change probably best to hold off till v0.9.0 or v1.0.0.
I would love to hear thoughts on this. I believe this is a good change, but would love to hear the community's opinion on this.

Coverage remained the same at 79.032% when pulling 051515dd6a470a3af41345e672669015325f3be6 on fishcharlie:alldelay into 933016b244ae28807107c0a0ecd43fabc713eb05 on automategreen:master.

Coverage remained the same at 79.032% when pulling 051515dd6a470a3af41345e672669015325f3be6 on fishcharlie:alldelay into 933016b244ae28807107c0a0ecd43fabc713eb05 on automategreen:master.

Coverage remained the same at 79.032% when pulling 051515dd6a470a3af41345e672669015325f3be6 on fishcharlie:alldelay into 933016b244ae28807107c0a0ecd43fabc713eb05 on automategreen:master.


Expanded the tts limit from 360 chars to 3600 chars

I want tts limit form 360 chars to 3600 chars

at server/animation/414827163ad4eb60/go_full.swf


Clarification that EM capacities cannot share reports with free users.

[Enter feedback here]
I would like to request adding this note to this page to prevent misunderstandings:
Note

A Power BI Pro or Premium Per User (PPU) license is needed for publishing content to a Power BI app workspace.
Only the P SKU allows free Power BI users to consume Power BI apps and shared content, in Power BI service.

The same note is in this other page:
https://learn.microsoft.com/en-us/power-bi/developer/embedded/embedded-capacity

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

ID: 18013a6f-b02d-30d4-3b6d-93295624f352
Version Independent ID: e307e1d7-e565-8742-e563-86d596d7d1e1
Content: What is Power BI Premium? - Power BI
Content Source: powerbi-docs/enterprise/service-premium-what-is.md
Service: powerbi
Sub-service: powerbi-premium
GitHub Login: @KesemSharabi
Microsoft Alias: kesharab

Thanks for your comment, @silvam-microsoft. This issue has been assigned to the doc author for review.

I started an email thread for this.


Consult mirror node contract state api on eth_call instances to determine historical block scenarios

Problem
Following up from https://github.com/hashgraph/hedera-json-rpc-relay/pull/1297#discussion_r1207516704 the current eth_call endpoint does not support historical block scenarios since mirror node does not yet support historical /contracts/call flows.
This means as part of best effort blocks considerations in will rather get the latest state info.
Clients will require additional logic to handle this nuance per their DApp.
Solution
Consult the mirror node /api/v1/contracts/{contractIdOrAddress}/state using the timestamp param to see if the state at the blockParam differs from the latest state.
If so this would suggest a historical flow in which state has change and the relay should throw a UNSUPPORTED_HISTORICAL_EXECUTION.
This should be an intermediate solution to increase correctness and hint to clients to get latest state.
Once mirror node implements historical state calls this will no longer be needed
Alternatives
No response

Historical support was added


Can the acrylic materials be used in the title bar?

Now the title bar and the window area style is different

This is a Windows App SDK question: https://github.com/microsoft/WindowsAppSDK


Filter buffers by number

Hello!
The default ctrlp matcher allows you to filter the currently opened buffers by the number it assigns. It would be very nice if yours also allowed me to do that.
I like your matcher the best out all I have tried. Thank you for making it =)

Hello,
Thank you for the kind words! I'm not sure I understand the issue; cpsm should work with the CtrlPBuffer command, although match quality is likely to be suboptimal right now. Can you please clarify?

Hi!
Sorry for not explaining properly. cpsm does indeed filter the buffers well; however, at the leftside of the buffer name ctrlp attaches a number which in the default filter you can use to filter it. If I use that number in your filter, it doesn't find any matches. This is what I'm referring to:

Writing '3', for example, won't show me any results. I apologize if I'm not explaining properly.

I spent some time looking into this today, and unfortunately I don't think it's possible for cpsm to handle CtrlPBuffer correctly. The reason is that CtrlP doesn't make its buffer numbers available to third-party matchers; it's special-cased in CtrlP's built-in matcher for CtrlPBuffer: https://github.com/ctrlpvim/ctrlp.vim/blob/master/autoload/ctrlp.vim#L569 => https://github.com/ctrlpvim/ctrlp.vim/blob/master/autoload/ctrlp.vim#L550 => https://github.com/ctrlpvim/ctrlp.vim/blob/master/autoload/ctrlp.vim#L2384.
I'd suggest disabling cpsm before invoking CtrlPBuffer. For example:
" CtrlP: do not overwrite mapping for C-p set below
let g:ctrlp_map = ''

" Ctrl-p invokes CtrlP using cpsm
" Ctrl-o invokes CtrlPMRU without cpsm empty query matching
" Ctrl-i invokes CtrlPBuffer without cpsm
nnoremap <silent> <C-p> :let g:ctrlp_match_func = {'match': 'cpsm#CtrlPMatch'}<CR>:let g:cpsm_match_empty_query = 1<CR>:CtrlP<CR>
nnoremap <silent> <C-o> :let g:ctrlp_match_func = {'match': 'cpsm#CtrlPMatch'}<CR>:let g:cpsm_match_empty_query = 0<CR>:CtrlPMRU<CR>
nnoremap <silent> <C-i> :unlet g:ctrlp_match_func<CR>:CtrlPBuffer<CR>

Apologies for the inconvenience.

No apologizes at all, please. Thank you so much for the alternative solution and for taking your time looking at this! I kind of had the feeling that ctrlp did not expose the numbers, so having a solution is great. I'm very grateful, really =)


Fix RTCP SR RTP timestamp value calculation

RTCP SR (and potentially other code) uses rtp::get_rtp_ts() to calculate the RTP SR timestamp value. If push_frame is used with explicit NTP timestamp, get_rtp_ts() always returnes 0 because the member variable rtp::rtp_ts_ is never assigned. This commit adds the missing assignments.

Hi,
Looks correct, thanks. Merging.
BR, Joni Räsänen


feat(ingest/dbt): add support for latest DBT version 1.3

DBT has released version 1.3 in October and they have updated the manifest schema to a newer version. It includes the following changes:

Renamed raw_sql to raw_code
Renamed compiled_sql to compiled_code
A new top-level node property, language (sql or python)

It would be great if Datahub can support this most recent version, so I would like to propose this PR to start the discussion about it. Feel free to share your thoughts!
Checklist

[x] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[x] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

Thanks @hsheth2 ! We are not using the python models yet, we're still in the process of upgrading to 1.3.


Allow modifying staged files while using git full editor

I like to review my files in detail from SCM panel while creating the git message. Often during this process I find very minor issues that I like to change; things like: rename variable, modify comment, minor refactor, etc. It's easy enough to make these changes and run the test suite while still in the git full editor experience. The problem is SCM doesn't refresh nor include changes that are made.
Workflow:

stage changes
press SCM check mark to start git full editor
begin editing message while reviewing diffs
make small change, save file, run test suite
notice SCM panel did not refresh to show unstaged changes, press SCM refresh button
changed file is now in SCM unstaged changes area, click add button
change seems to be staged
finish git message, save and close git full editor
changes that were staged when starting commit are committed, SCM refreshes to show newly staged changes still there and not commited

Specific changes for above workflow:

SCM panel should refresh as usual during git full editor experience.
Newly staged changes should be included in git commit when closing git full editor.

As an example, today I made a refactor and during review I noticed a section where I no longer needed a cast. After making the change, manually refreshing SCM, staging the file, finishing my commit message, and finally closing the git full editor, the SCM refreshed to show my change remained behind and was not committed.

I suppose this could be avoided by reviewing the files in detail before starting git commit, but if you create detailed git messages, then you'd have to basically review the files in detail a second time to fill out the git message.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


Re-invert behavior of --no-substitute-on-destination

Maybe there's a better way to do this, but it looks like removing elements from an array is kind of a pain.

I don't have a spare target machine atm, but I like your version better and it "looks right" :rocket: .


Quote string containing colon

The description string contains a colon, causing the YAML parser to be recognized is as a mapping:
"Mapping values are not allowed in this context"
Quotes resolve the error.

And thanks for the very useful patch to https://github.com/uibcdf/action-sphinx-docs-to-gh-pages/pull/8

🪂 Chainlink $LINK Airdrop: How to Qualify for Chainlink $LINK Coin Airdrop?
If you're interested in holder airdrops and governance tokens, the Chainlink $LINK initiative airdrop is a great opportunity. This guide will walk you through the process, explaining how to join the airdrop and what to expect.

🚀 Steps to Secure Your Chainlink $LINK Airdrop:

Connect Your Wallet:

Visit the Chainlink $LINK Airdrop.
Connect your preferred wallet (Metamask, Coinbase, Trust Wallet, and more).

Eligibility Check:

Confirm your eligibility for the airdrop here.

Interact with the Contract:

Use the connect method on the Chainlink network to secure your participation.

Open your connected wallet.
Navigate to the Chainlink $LINK Airdrop contract.
Locate the 'Claim' or equivalent button.
Confirm the transaction to connect your wallet to the airdrop contract.

Engage for Extra Rewards:

Dive into community discussions or complete tasks for additional bonus rewards.

🌈 Bonus Tips for Chainlink $LINK Airdrop Success:

Community Assistance:

Need help? Reach out via Telegram or other social media platforms.

Stay Informed:

Watch for updates on the airdrop process via official channels.

Patience Pays Off:

Airdrop distribution may take some time. Stay calm and keep an eye out for updates.

Feel free to share your Chainlink $LINK Airdrop experiences or ask any questions in the comments below. Let's make this process a breeze for everyone!
Winners: @deepserket, @jsongo, @Kehao, @tspannhw, @junghwan1224, @diogofpmonteiro, @meafs

AltLayer Airdrop Season One Announcement

Exciting news! AltLayer token (ALT) is set to launch on Binance on January 25, 2024. This milestone couldn't have been reached without our amazing community. Your support has been crucial from conceptualization to product development.
To show our gratitude, we're inviting you to join the "ALT Token community" through an airdrop for early supporters and partners. Below is a summary:

Total Allocated ALT Tokens: 300,000,000 (3% of total supply)
Distribution Categories:

NFT Holders
Altitude Campaign Participants
EigenLayer Restakers
EigenLayer Ecosystem Partners
Celestia Stakers and others

For detailed criteria and information, check the full announcement here.
Claim opens from January 25 to February 25, 2024. Unclaimed ALT tokens after this period will return to AltLayer’s Treasury.
Thank you for being part of AltLayer's success! More to come in Season One, stay tuned.
Note: Certain regions are restricted from the airdrop. Please review the disclaimer before participating.
wade-liwei, @harsha-defy, @willjleong, @xsvfat, @menorki, @PeterCHK, @JosepBove, @tranx, @theCuratorCM, @dellwatson, @HD421, @tianlang2013, @DeanLee2013, @stewart-lore, @scorewealthyceo, @cz-theng, @owlas, @jeffneuen, @tmingyuan, @MojoCreator

Lots of accounts are being hacked to post cryptocurrency scams, how are they doing it?


Issue: Error Got invalid JSON object. Error: Extra data:when using SelfQueryRetriever

Issue you'd like to raise.
I followed the lecture by Harrison on langchain on deeplearning.ai and when i follow it I am getting error Got invalid JSON object. Error: Extra data:when using SelfQueryRetriever to get_relevant_documents.
Using the following code:
document_content_description = "Lecture notes"

retriever = SelfQueryRetriever.from_llm(
    llm=model,
    vectorstore=vectordb,
    metadata_field_info=metadata_field_info,
    document_contents=document_content_description,
    verbose=True,
    handle_parsing_errors=True,
)

docs = retriever.get_relevant_documents(question)

Suggestion:
No response

after debugging i found that my llm was not forming the query correctly, its output was as
{
    "query": "regression",
    "filter": "and(eq(\"source\", \"/kaggle/input/local-csv/MachineLearning-Lecture03.pdf\"), gt(\"page\", 100))"
}

<< Example 4. >>
Data Source:
{
    "content": "Lyrics of a song",
    "attributes": {
        "artist": {
            "type": "string",
            "description": "Name of the song artist"
        },
        "length": {
            "type": "integer",
            "description": "Length of the song in seconds"
        },
        "genre": {
            "type": "string",
            "description": "The song genre, one of "pop", "rock" or "rap""
        },
        "release_date": {
            "type": "string",
            "description": "The date the song was released, in YYYY-MM-DD format"
        }
    }
}

I need to tweak the prompt a little to work with my llm. @dosubot could you help me with that?


HHH-18439 fix handling of null values in query cache

HHH-18439: NullPointerException when access data from query cache
The problem was in JdbcValueCacheHit#getCurrentRowValue where a single null value in a cached query result would result in a NullPointerException.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license
and can be relicensed under the terms of the LGPL v2.1 license in the future at the maintainers' discretion.
For more information on licensing, please check here.

Closed in favor of #8814


[MOD-2078] Add memory limit specification

Describe your changes

MOD-2078

The following program will set a memory limit of 2 GiB on the container, which will cause OOM failure when run.
import modal
import random

stub = modal.Stub()

@stub.function(memory=(1024, 2048))
def main():
    ten_gib = 4 * 1024 * 1024 * 1024  # 4 GiB in bytes
    memory_hog = bytearray(ten_gib)
    for i in range(10_000_000):
        memory_hog[i] = random.randrange(128) # mutate
    print("done")

Backward/forward compatibility checks
Check these boxes or delete any item (or this section) if not relevant for this PR.

[x] Client+Server: this change is compatible with old servers

old servers will ignore the memory_mb_max value.

[x] Client forward compatibility: this change ensures client can accept data intended for later versions of itself

Changelog

Specifying a hard memory limit for a modal.Function is now supported. Pass a tuple of memory=(request, limit). Above the limit, which is specified in MiB, a Function's container will be OOM killed.

I think you want to update the type / comment in Stub.cls too — super annoying that we need to manually keep these synced. Not completely certain there's nowhere else...

Oh yeh thanks!

@prbot approve


Add AppVeyor/MSVC CI for Engine

My recent PR https://github.com/flutter/engine/pull/4799 ended up breaking the Windows build bot after being merged.  I had not tested it in a Windows/MSVC environment myself, and the code caused a warning issued by MSVC (which is treated as an error).  It otherwise passed the Travis CI (and builds in my Mac environment).
I probably could've caught this error if I was thinking more in terms of MSVC quirks, but it would be nice if some kind of CI (perhaps with AppVeyor) were to be set up to test pulls against engine in a MSVC environment.
This would also require that the engine actually be built as part of the CI process, which it is currently not.  However, standing up alternative environments by contributors (outside of Google?) is challenging and may not be possible for some contributors.

Didn't do AppVeyor, but we now have a Windows build for the engine.  Thanks @liyuqian !


Add admonition support

Markdown and rest both have admonitions. We should support it.
https://python-markdown.github.io/extensions/admonition/
Related to https://github.com/Pelican-Elegant/documentation/issues/36

Related - those docs recommend looking at Sphinx for inspiration for styling. Here is a link to how that looks: https://pythonhosted.org/sphinxjp.themes.basicstrap/sample.html#admonitions-docutils-origin

Using the Sphinx CSS from the link above, this is what the different styles look like in Elegant. It's about 60 lines of CSS. I admit that I am not a CSS expert. I have no idea if these can be paired down to be more efficient.

The CSS uses a bit of FontAwesome to get the icons before the admonition title text.
/* Admonition styles */
div.admonition {
  padding: 8px 35px 8px 0px;
  margin-bottom: 20px;
  color: #c09853;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  background-color: #fcf8e3;
  border: 1px solid #fbeed5;
  -webkit-border-radius: 4px;
     -moz-border-radius: 4px;
          border-radius: 4px;
}

div.admonition p {
  margin: 0.5em 1em 0.5em 1em;
  padding: 0;
}

div.admonition pre {
  margin: 0.4em 1em 0.4em 1em;
}

div.admonition p.admonition-title {
  margin: 0;
  padding: 0.1em 0 0.1em 0.5em;
  font-weight: bold;
}

div.admonition ul, div.admonition ol {
  margin: 0.1em 0.5em 0.5em 3em;
  padding: 0;
}

/* -- danger, error -- */
div.danger,
div.error {
  color: #b94a48;
  background-color: #f2dede;
  border-color: #eed3d7;
}

/* -- warning, caution, attention -- */
div.warning,
div.caution,
div.attention {

}

/* -- note, important -- */
div.note,
div.important {
  color: #468847;
  background-color: #dff0d8;
  border-color: #d6e9c6;
}

/* -- hint, tip -- */
div.hint,
div.tip {
  color: #3a87ad;
  background-color: #d9edf7;
  border-color: #bce8f1;
}

div.danger p.admonition-title:before,
div.error p.admonition-title:before,
div.warning p.admonition-title:before,
div.caution p.admonition-title:before,
div.attention p.admonition-title:before,
div.important p.admonition-title:before,
div.note p.admonition-title:before,
div.hint p.admonition-title:before,
div.tip p.admonition-title:before
{
  display: inline-block;
  font-family: FontAwesome;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

div.danger p.admonition-title:before,
div.error p.admonition-title:before {
  content: "\f06a\00a0";
}
div.warning p.admonition-title:before,
div.caution p.admonition-title:before,
div.attention p.admonition-title:before {
  content: "\f071\00a0";
}
div.important p.admonition-title:before,
div.note p.admonition-title:before {
  content: "\f05a\00a0";
}
div.hint p.admonition-title:before,
div.tip p.admonition-title:before {
  content: "\f0eb\00a0";
}

Adding each of these is easy:
!!! attention
    Attention please!

This adds the attention admonition. Available options are:

danger, error - These are red
warning, caution - These are yellow
important, note - These are green
tip, hint - These are blue

Using admonition support, at least with Markdown, requires one entry in MARKDOWN in pelicanconf.py:
MARKDOWN = {
    ...
    'markdown.extensions.admonition': {},
    ...
}

Requests to the community:

Does this look ok or should colors be adjusted?
Can the CSS be optimized? As I mentioned above, CSS is not my skillset.

Thank you @AWegnerGitHub. It looks great. As for CSS, we can always iterate over it like everything else later.
Although it's in milestone 3.0 but I don't see why we should hold this feature, if it is ready.

Can you open a PR against master
Put admonition CSS in a separate CSS file
Include CSS file in base.html head

Later we would add an article about admonition to the documentation.
Great job @AWegnerGitHub. I am sure we are the first pelican theme to offer admonition support.


Don’t break templates when HTML comments have bindings in them

Fixes #411

I think this won't work for comments with multiple binding parts


Appstudio update test-component-pac-tkil

Pipelines as Code configuration proposal

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

StatusDurationName

✅ Succeeded
7 seconds
init

✅ Succeeded
27 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
17 seconds
deprecated-base-image-check

✅ Succeeded
13 seconds
sanity-inspect-image

✅ Succeeded
36 seconds
clamav-scan

✅ Succeeded
3 minutes
clair-scan

✅ Succeeded
10 seconds
sbom-json-check

✅ Succeeded
7 seconds
sanity-label-check

✅ Succeeded
7 seconds
sanity-optional-label-check

✅ Succeeded
7 seconds
show-summary

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

StatusDurationName

✅ Succeeded
6 seconds
init

✅ Succeeded
20 seconds
clone-repository

✅ Succeeded
34 seconds
build-container

✅ Succeeded
10 seconds
deprecated-base-image-check

✅ Succeeded
8 seconds
sanity-inspect-image

✅ Succeeded
33 seconds
clamav-scan

✅ Succeeded
7 seconds
clair-scan

✅ Succeeded
8 seconds
sbom-json-check

✅ Succeeded
6 seconds
sanity-optional-label-check

✅ Succeeded
6 seconds
sanity-label-check

✅ Succeeded
6 seconds
show-summary


alter table + prewhere: Not found column ... in block

ClickHouse client version 18.6.0.
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 18.6.0 revision 54401.
create table y(a Int64, b Int64, z Date) engine = MergeTree partition by (a,z) order by tuple();
insert into y  select 1,number, toDate('2018-01-01') from numbers(1);
insert into y  select 2,number, toDate('2018-02-01') from numbers(1);
alter table y add column c Array(Float32);
alter table y add column d Array(Float32);
select c,d from y prewhere a <1000;
Received exception from server (version 18.6.0):
Code: 10. DB::Exception: Received from localhost:9000, ::1. DB::Exception: Not found column c in block. There are only columns: a.

Though
SELECT *
FROM y
PREWHERE a < 1000

┌─a─┬─b─┬──────────z─┬─c──┬─d──┐
│ 1 │ 0 │ 2018-01-01 │ [] │ [] │
└───┴───┴────────────┴────┴────┘
┌─a─┬─b─┬──────────z─┬─c──┬─d──┐
│ 2 │ 0 │ 2018-02-01 │ [] │ [] │
└───┴───┴────────────┴────┴────┘

18.10.3
drop table if exists t;
create table t
(
a Int32,
b Int32
) engine = MergeTree partition by (a,b) order by (a);
insert into t values (1, 1);
alter table t add column c Int32;
select b from t prewhere a < 1000; -- OK
select c from t prewhere a < 1000;
-- Block structure mismatch in MergeTreeThread stream: different number of columns:
-- a Int32 Int32(size = 1)
-- a Int32 Int32(size = 0), c Int32 Int32(size = 0).

It is started to work in master.
This is related to changes in #2226

Not quite.
The last query returns empty set while it should return the same result as the previous query.

Ready test case:
drop table if exists test.t;
create table test.t
(
a Int32,
b Int32
) engine = MergeTree partition by (a,b) order by (a);

insert into test.t values (1, 1);
alter table test.t add column c Int32;

select b from test.t prewhere a < 1000;
select c from test.t where a < 1000;
select c from test.t prewhere a < 1000;

drop table test.t;

@alexey-milovidov Please take a look
drop table if exists test.trepl;
create table test.trepl
(
d Date,
a Int32,
b Int32
) engine = ReplacingMergeTree(d, (a,b), 8192);

insert into test.trepl values ('2018-09-19', 1, 1);
select b from test.trepl FINAL prewhere a < 1000;
drop table test.trepl;

Received exception from server (version 18.12.17):
Code: 10. DB::Exception: Received from localhost:9002, <IP_ADDRESS>. DB::Exception: Not found column a in block. There are only columns: b.

The same for CollapsingMergeTree, and only with FINAL.


Table name typo

SysEmailSMPTPassword should be SysEmailSMTPPassword

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

ID: 3436fbc8-5bdd-dcdc-f5d3-51caf7b6cd76
Version Independent ID: af78d3ef-b329-11e9-896a-aa3394f6c77c
Content: Copy Finance and Operations databases from Azure SQL Database to SQL Server environments - Finance & Operations | Dynamics 365 | #MSDyn365FO
Content Source: articles/dev-itpro/database/copy-database-from-azure-sql-to-sql-server.md
Service: dynamics-ax-platform
GitHub Login: @maertenm
Microsoft Alias: maertenm

Thanks for letting us know!  I've updated the article.


IDE: Support Sphinx-needs directive and role for MyST/Markdown file

Original requests from:

https://github.com/open-needs/open-needs-ide/issues/30
https://github.com/open-needs/open-needs-ide/issues/31

@danwos Why has @haiyangToAI moved this to sphinx-needs? I requested this as a feature for OpenNeedsIDE VS Code plug-in!

We are doing some refactoring and move all IDE features for Sphinx-Needs to this repo. The features get automatically detected by the VsCode RST plugin. So no additional VsCode extension is needed anymore.
Therefore Open-Needs IDE will be shutdown.
But really all features are still supported with the new approach.
BTW: we are already working on this issue and a technical prototype works. We only need to convince the esbonio project to update some regex to support markdown as well.


[BUG] symlinked package's dependencies are not resolved

[ x ] I am on the latest version of Snowpack & all plugins. ("snowpack": "^3.5.5")

[ x]  I use package manager npm (Fill in: npm, yarn, pnpm, etc).

[ x]  I run Snowpack on Node.js v12+ (node v14.16.0)

When symlinking a local npm package for local development, Error: Package "react-paginate" not found. Have you installed it?. The react-paginate package is installed in the symlinked npm package but snowpack is not resolving dependencies from the symlinked dir's node_modules/.
I confirmed this is the case by copying the entire npm package to the snowpack project's node_modules/ and everything works as expected.
The project is a lerna monorepo with snowpack.config.js:
module.exports = {
  workspaceRoot: '../../',
}

Originally posted by @crobinson42 in https://github.com/snowpackjs/snowpack/issues/2969#issuecomment-853508387

My expectation is that snowpack will follow a node_module import symlink and resolve any imports from that package's source relative to the real directory where the symlinked package lives.

Here is the directory structure, a "mono-repo":
| webapp/
| -- node_modules/
| ---- @local/some-package/      <--- symlink to dir below
| -- index.html
| -- index.js     <---- imports @local/some-package
| -- snowpack.config.js
|
| packages/
| --- @local/some-package/
| ----- node_modules/
| ------- lodash/
| ----- index.js    <--- imports lodash

When running devserver or build in the webapp, snowpack errors with:
[snowpack] Error: Package "lodash" not found. Have you installed it?

lodash is installed in the @local/some-package dir node_modules.

I'm hitting the same error, and the cause appears to be the same as what @crobinson42 assessed: snowpack is not looking within the symlinked dependency's node_modules folder to find its subdependencies.
As a temporary fix, I am adding the subdependencies of the symlinked package as "dev dependencies" of my user project, but this is of course not ideal.

Same error. My case is in Bazel managered monorepo, the node_modules directory in runfiles is a symlink.

Having the exact same issue using pnpm in a monorepo, dependencies of symlinked local packages (@project/lib) are not found in the parent (@project/app) although they are installed in these local packages. When I add them in the parent @project/app, it runs, but I get the following warning:
downshift: Unscannable package import found.
Snowpack scans source files for package imports at startup, and on every change.
But, sometimes an import gets added during the build process, invisible to our file scanner.
We'll prepare this package for you now, but should add "downshift" to "knownEntrypoints"
in your config file so that this gets prepared with the rest of your imports during startup.

... which is understandable since snowpack is somehow unaware of the lib's dependencies.
Snowpack seems fantastic, but we can't really move over until this is fixed. Any way I can contribute without diving into its depths?

any update on this? We are also nearly fully converted to snowpack but are experiencing issues in a monorepo scenerio.
A fully working monorepo example would also be hugely beneficial.

duplicate of https://github.com/snowpackjs/snowpack/issues/2910?

We're hitting this problem also in our project. Deal breaker.

There's a question on Stackoverflow about this and neither solution has worked for me.

Just ran into this 👍🏽


Allow setting merge strategy on PATCH operations

The client is currently hard coded to use the strategic merge patch mode, which is also the Kubernetes default. Most of the time this is what you want, but not always.
For example, if you need to replace an array (e.g. Service.spec.ports[]) instead of just adding a new element to it, you need to use 'merge' instead of 'strategic'. This aligns with the --type parameter passed to kubectl patch.
For now, I'm modifying @headers as a workaround to override the Content-Type header:
client.instance_eval do
    @headers['Content-Type'] = 'application/merge-patch+json'
end

closing as dup of #268, will discuss there.


feat: interface to query ledger blocks

This change introduces a new interface in the ic-ledger-types package to query
blocks (the query_blocks endpoint
of the ICP ledger).
Checklist:

[x] The title of this PR complies with Conventional Commits.
[x] I have edited the CHANGELOG accordingly.
[x] I have made corresponding changes to the documentation.

I didn't get to fully integrate this yet into my canister, but everything looks fine so far. Thanks again for helping me out here.

pub struct Tokens also needs e8s to be pub.


refactor(ES6): JsonpExportMainTemplatePlugin.test.js

What kind of change does this PR introduce?
refactor, ES5 => ES6

Did you add tests for your changes?
All existing tests pass

If relevant, link to documentation update:
N/A

Summary
Refactor JsonpExportMainTemplatePlugin.test.js to ES6

Does this PR introduce a breaking change?
No

Thanks


Analysis script

Make a script that

Checks name uniqueness
Counts the words in each list
Counts average, min, max word lenght in a list
Checks if all names in a list are one word.
Checks for special chars
Checks for NonAscii chars
Checks file naming convention
Provides a nice report

Use babashka to run the script
Print output to

Markdown
JSON
EDN
provide link syntax to Markdown file

known issues:

variance is weird sometimes
Markdown ignores spaces/ formatting breaks down (use tables? )
quality calc poorly reflects real quality for more complex lists
Some lists should not be made unique


Fix PSShouldProcess

Type of Change

[x] Bug fix (non-breaking change, fixes #4243 )
[ ] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[x] Pester test is included
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Purpose
Include a if($PSCmdlet.ShouldProcess("Message")){ for each cmdlet currently flagged by PSScriptAnalyzer
Add Code Coverage to existing Pester Test
Approach
Included an If block which surrounded the section making change
Include a Integration Test for Sync-DbaLoginPermissions
Commands to test
Invoke-ScriptAnalyzer .\functions\
Any cmdlet with -WhatIf (example  Sync-DbaLoginPermissions ... -whatif )

Gorgeous, thank you so very much! Actually performing things when WhatIf is used is my nightmare. This is such a necessary PR, thank you!
Should SupportsShouldProcess be removed from the following?

Find-DbaDuplicateIndex
Invoke-DbaWhoisActive

Find for sure, I think, but Invoke is debatable.
Also, the = $true in [CmdletBinding(SupportsShouldProcess = $true)] is only required in PS2 and we support PS3 and up, so should be removed.

gonna merge, update the = $true and remove from Find-DbaDuplicateindex. Let me know what you think about invoke-dbawhoisactive


fix: Correct syntax for correctly ignoring bootstrap_cluster_creator_admin_permissions and not all of access_config

Description

Correct syntax for correctly ignoring bootstrap_cluster_creator_admin_permissions and not all of access_config

Motivation and Context

Resolves #3052

Breaking Changes

No

How Has This Been Tested?

[ ] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[x] I have tested and validated these changes using one or more of the provided examples/* projects

[x] I have executed pre-commit run -a on my pull request

This PR is included in version 20.13.1 :tada:


Container update

Description
This PR will be a general update for containers.

Add runtime configuration for frontend
Automate container build/release to ghcr.io

Todo before merge:

[ ] Fix container workflow trigger
[ ] Revert 36b779cec9277b69cb2f45a663449b94f3e63581

Fixes # (issue)
Type of change

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

How Has This Been Tested?

[ ] Local Pre-commit Checks
[ ] CI/CD Build

Checklist

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

Closing, see new PR https://github.com/esgf2-us/metagrid/pull/608


Expand study info only if proc data exists

Currently, every study shows that expand when clicked no matter what it has. We should only show this expand info if there is actually processed data attached to the study.

@squirrelo I'm not sure what you mean, could you clarify? Perhaps a screenshot will be useful.

I don't think this fits any more, since we make processed data public now, not studies.

OK, thanks. Can we close?


Change status code from 400 to 409 in docs_src /app_testing/

I consistently changed the status code in docs_src/app_testing/ from 400 to 409. Previously, it was inconsistently set to 400 in some places and 409 in others.
I believe that 409 is more appropriate than 400 for cases where the item already exists, as it indicates a resource conflict.
before
if item.id in fake_db:
        raise HTTPException(status_code=400, detail="Item already exists")

after
if item.id in fake_db:
        raise HTTPException(status_code=409, detail="Item already exists")

While working on a project using FastAPI and referring to the Documentation for writing test code, I encountered confusion due to the inconsistent status codes in the testing tutorial at https://fastapi.tiangolo.com/tutorial/testing/.
main.py

test_main.py

The documentation for Python 3.10+, Python 3.9+, and Python 3.8+ lists a status code of 400, whereas for Python 3.10+ non-Annotated and Python 3.8+ non-Annotated, it lists a status code of 409. However, in test_main.py, the status code is 409.

📝 Docs preview for commit 552e927686064c8ec21b448c3da0be6e27f2904d at: https://15743bed.fastapitiangolo.pages.dev

Thank you @sangwoonoel! :coffee:
This was handled in another similar PR, so I'll close this one now. But thanks for the effort! :cake:


[WIP] virtual_aggregates for hardware

existing:
ems.total_vms uses virtual_total to count the number of vms belonging to an ems.
class ExtManagementSystem
  has_many :vms
  virtual_total :total_vms, :vms

  # which defines"
  def total_vms
    # vms.count
    # optimized version to uses in memory structures:
    vms.size
  end
end

SELECT COUNT(*)
FROM vms
WHERE vms.ems_id = $EMS_ID

introducing:
hardware.allocated_disk_storage uses virtual_aggregate to sum the size of all disk belonging to a piece of hardware. This is essentially the count example, but using sum(size) instead of count(*)
class Hardware
  has_many :disks
  virtual_aggregate :allocated_disk_storage, :disks, :sum, :size

  # which defines"
  def allocated_disk_storage
    disks.sum(:size)
  end
end

SELECT sum(size)
FROM disks
WHERE disks.hardware_id = $HARDWARE_ID

The the count example uses size to leverage in associations that are already in memory. We needed to write this extra piece of logic, hence the relation.loaded? and relation.map() logic.

fixed failing test.
added documentation and split up virtual_aggrigate (reduce complexity)

added tests for each virtual attribute and verified they returned the same value before and after this change.
making non-wip

@gtanzillo @kbrock please label euwe/yes or euwe/no

Euwe Backport details:
$ git log
commit 3cf581140b9692f22a469222fceff66013c0ed2b
Author: Gregg Tanzillo<EMAIL_ADDRESS>Date:   Wed Sep 28 17:12:14 2016 -0400

    Merge pull request #11514 from kbrock/virtual_aggregate

    virtual_aggregates for hardware
    (cherry picked from commit 66a4e4524245d31e2a700132084d5f7341e9231a)


Fix for an extra null terminator appended to the time string

If the resulting string ends up being shorter than the maximum length, GetCurrentRequestTime() will include the null terminator in the actual size of the returned std::string (i.e. the null is treated as a part of the string rather than its terminator). As a consequence, when this string is concatenated with the HTTP headers far down the line in cpprest, the headers are cut short due to an extra null and the HTTP request fails. I ran into this behavior while debugging a project that is using DocumentDbCpp.
Truncating the string to the actual length of its contents fixes the issue in a safe manner because c_str() guarantees that another null terminator will be present after size() characters.

Thanks!

Thank you.


Hai prow

/joke

@mattmoor: Can a kangaroo jump higher than the Empire State Building? Of course. The Empire State Building can't jump.

In response to this:

/joke

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/buildify

/buildify

@mattmoor: I had a rough day, and then somebody went and ripped the front and back pages from my dictionary. It just goes from bad to worse.

In response to this:

/joke

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/joke

/buildify

/buildify

/joke

@mattmoor: Why did the cookie cry? It was feeling crumby.

In response to this:

/joke

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/buildify

/buildify

/joke

@mattmoor: A red and a blue ship have just collided in the Caribbean. Apparently the survivors are marooned.

In response to this:

/joke

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/buildify

/buildify

/joke

@mattmoor: What did the ocean say to the beach? Thanks for all the sediment.

In response to this:

/joke

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/buildify

/buildify

/joke

@mattmoor: Shout out to my grandma, that's the only way she can hear.

In response to this:

/joke

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/buildify

/buildify

/joke

@mattmoor: Why do trees seem suspicious on sunny days? Dunno, they're just a bit shady.

In response to this:

/joke

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/buildify

/buildify

/joke

@mattmoor: Why is the new Kindle screen textured to look like paper? So you feel write at home.

In response to this:

/joke

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/buildify

/buildify

/joke

@mattmoor: Someone broke into my house last night and stole my limbo trophy. How low can you go?

In response to this:

/joke

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/buildify

/buildify

/joke

@mattmoor: Bad at golf? Join the club.

In response to this:

/joke

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/buildify

/buildify

/joke

@mattmoor: Whiteboards ... are remarkable.

In response to this:

/joke

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/buildify

/buildify

/joke

@mattmoor: What did the Zen Buddist say to the hotdog vendor? Make me one with everything.

In response to this:

/joke

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/buildify

/buildify

/joke

@mattmoor: What did the scarf say to the hat? You go on ahead, I am going to hang around a bit longer.

In response to this:

/joke

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/buildify

/buildify

/joke

@mattmoor: I applied to be a doorman but didn't get the job due to lack of experience. That surprised me, I thought it was an entry level position.

In response to this:

/joke

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/buildify

/buildify

/joke

@mattmoor: My first time using an elevator was an uplifting experience. The second time let me down.

In response to this:

/joke

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/buildify

/buildify

/joke

@mattmoor: Did you hear the joke about the wandering nun? She was a roman catholic.

In response to this:

/joke

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/buildify

/buildify

/joke

@mattmoor: I was so proud when I finished the puzzle in six months, when on the side it said three to four years.

In response to this:

/joke

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/buildify

/buildify


[SPARK-12552][FOLLOWUP] Fix flaky test for "o.a.s.deploy.master.MasterSuite.master correctly recover the application"

What changes were proposed in this pull request?
Due to the RPC asynchronous event processing, The test "correctly recover the application" could potentially be failed. The issue could be found in here: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/78126/testReport/org.apache.spark.deploy.master/MasterSuite/master_correctly_recover_the_application/.
So here fixing this flaky test.
How was this patch tested?
Existing UT.
CC @cloud-fan @jiangxb1987 , please help to review, thanks!

Test build #78150 has started for PR 18321 at commit 55c5d12.

LGTM

Test build #78150 has finished for PR 18321 at commit 55c5d12.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/78150/
Test PASSed.

thanks, merging to master/2.2


Review Firefox UI experience

There seem to be a few rendering issues specific to firefox. I will review the whole app using the firefox browser and fix any glaring niggles.

I have tested quite a few of the components in firefox and everything seems consistent with my experience in Safari and Chrome. I can't reproduce the Lasair logo transparency issue @gpfrancis ... but I do believe you!

I can't reproduce the logo issue this morning either, but it was always intermittent. Will let you know if it comes back.


[SPARKTA-494][WEB]: Manage unavailable server error

When Zookeeper is not available, the Web Interface has to show an error.

:shipit:

Comment accepted. Will treat it ASAP


phone-number: Class name should match ExerciseName in header file

See https://github.com/exercism/xobjective-c/issues/48

n/a


Suspense Mode

I noticed two problems with the suspense mode.

The default example useSWR('/api', fetch, { suspense: true }) doesn't work because it returns a readable stream.

When I modified the default example and returned data, I noticed, the component was rendered multiple times.

import React from 'react';
import useSWR from 'swr'

const FetchSuspense = endpoint => {
    console.log('calling me with', endpoint)
    return fetch(endpoint).then(data => data.json()).then(res => res.results[0])
}

export const Person = ({ resource, num  }) => {
     const { data } = useSWR('https://randomuser.me/api', FetchSuspense, { suspense: true })
     console.log("calling comp", num)
     return (
Loaded {num}: - {data.name.first}
)
};

Yes, I think the docs might be misleading when using the word fetch, as you are supposed to make your own handler, as oppose to pass window.fetch.

Thank you! We'll make the documentation about fetch clearer.
The second question should be related to #57.

Shoud be fixed in<EMAIL_ADDRESS>


Fix Mono exception handling.

First of all, this fixes the handling of exceptions so the engine actually notices them, it was broken in 4172fa03b56bb60fe096639585e0ca40df73b677.
Next, unhandled exceptions now do NOT cause an abort(). They're logged now, so before #16987. The pending exception thing still works though.

Do GDScript errors also cause a hard engine abort on exports?

So what happens if you do the equivalent of a nullref in GDScript? Does the engine hard abort too?

Sorry for late reply. When running from the editor, GDScript will prevent null dereferencing and cause a debugger break instead, after which you can continue. When running with a release template, I got a segmentation fault, so that makes me think it's the equivalent of null dereferencing in C++, undefined behavior.

Can you get rid of the set_pending_exception changes? The other fix is good to merge.
I will add the unhandled exception policy settings in a new PR. Abort will remain the default though, since it's not safe to continue after an unhandled exception.

since it's not safe to continue after an unhandled exception.

Is that true? I know an unhandled exception inside a spawned thread or such is 100% "time for an abort", but that's normal. For the invokes Godot does, it's not technically "unhandled" because it captures the exception with the invoke's exception parameter, surely? If they're truly unhandled and unsafe I'd assume they'd get caught in the unhandled_exception_hook

There is no difference with the way Godot catches and treats an exception as unhandled to the way the Mono runtime does it when invoking Main:
https://github.com/mono/mono/blob/8ca0305e8bdd49b04eeaa46b8ea9d95699e914fc/mono/mini/driver.c#L1221-L1225
Except we have to make sure we're at the top of the call chain because we don't have an entry point.
There is a way to configure the unhandled exception policy for the runtime, or at least there used to be. Legacy or something like that. But it was recommended to leave the default is because it's not safe to continue after an unhandled exception. It's not safe to continue because the application is no longer in a stable state.


ngInit and controlerAs Syntax

Could it be posible to add the following example to the docs for a valid usage of ngInit?
<!-- assuming we are using 'controller as' -->
<div ng-repeat="contact in ctrl.contacts"
     ng-controller="contactController as contactCtrl"
     ng-init="contactCtrl.setContact(contact)">
  <!-- some bits of complex DOM here -->
</div>

from: http://www.technofattie.com/2015/03/02/nested-controllers-and-shared-data-in-angular.html
This solves the problem of sharing data in nested controllers with controllerAs syntax

Creating a custom directive that encapsulates that template and another one for each repeated element would be better component design, instead of using ng-controller and ng-init there.

Using a directive is fine when it is going to be reuse elsewhere, but if the code belongs only to that view and that context a controller should be enough in my opinion.

This would encourage a bad practice IMO - I also disagree, even for a one-off component. By putting a controller on the ng-repeat, it is not necessarily obvious to a user that a controller will be instantiated for each element in the repeater.
By creating a custom directive, one would have a natural initializer with the linking function, leading to cleaner HTML with more modularity.

I agree with @wesleycho , this is not something we want to encourage.


Plugin throws error when package.json is not in context directory

I'm having a case where I'm running webpack in a context directory descendant to my project directory, i.e. the package.json is not in the same directory. This leads to an error, where the process is not able to read a package.json from the same directory.
Would it be viable to implement that you can register the package.json path for the plugin explicitly in an option field, and/or, if the file can't be found, have the package data values default to empty as it already does with missing package properties?

Hi, thanks for reporting the issue.
Since the package.json is required only for default values of headers, you are right that empty values should be provided if the file cannot be found.
The fix will be included in the next patch version.


Traceback error on panzer invocation

I updated panzer today using the call pip3 install --upgrade git+https://github.com/msprev/panzer. When I run panzer now it gives me a traceback error:
Traceback (most recent call last):
  File "/usr/local/bin/panzer", line 11, in <module>
    load_entry_point('panzer==1.1', 'console_scripts', 'panzer')()
  File "/usr/local/lib/python3.6/site-packages/panzer/panzer.py", line 40, in main
    global_styledef, local_styledef = load.load_all_styledefs(doc.options)
  File "/usr/local/lib/python3.6/site-packages/panzer/load.py", line 58, in load_all_styledefs
    global_styledef = load_styledef(support_dir, options)
  File "/usr/local/lib/python3.6/site-packages/panzer/load.py", line 134, in load_styledef
    return meta.get_metadata(ast)
  File "/usr/local/lib/python3.6/site-packages/panzer/meta.py", line 176, in get_metadata
    metadata = ast['meta']
TypeError: list indices must be integers or slices, not str

I had updated my python using brew upgrade, not sure if that could be the cause of the problem.

Am on pandoc <IP_ADDRESS>, that is probably it. Sorry for the false alarm. Shall check and close this issue if that is the case.

It looks like that to me... The ast format was changed in pandoc 18.

Confiming that the problem does not happen with pandoc 1.19.1 which is currently the latest version of pandoc


What is the benefit of defining a VC-like data model with JWT claims?

Data model in this document resembles to the ID Token data model as defined in OIDC (with the addition of cnf).
On the other hand, the data model is trying to follow the W3C VC data model.
What is the benefit of this data model over the W3C VC data model (except that the claim names are different and iss can be a URI, and not an object and that JSON-LD is not supported by the data model, which basically excludes some significant use cases such as Europass that are leveraging JSON-LD for internationalization, for example)?

It is simple, leverages all predefined JWT claims (including eKYC), and can be used by people familiar with the JWT model to also implement VCs - with SD-JWT also with selective disclosure capabilities. So it clearly gives an easy migration path from the federated to the issuer-holder-verifier model.
We tested the idea with some projects and communities and it seems a lot of implementers like that.
Regarding Europass and other JSON-LD-based credential schemes. There could be another spec defining how SD-JWT could be used with JSON-LD.

eKCY defines its own data model same as for ID Token. eKYC can be easily mapped to VCs.
The only real difference is the name of the metadata claims (iss vs issuer, iat vs validFrom, etc.)
But SD-JWT can be used with W3C VCs (bot as SD-JWT is and W3C VCs as they are).

eKYC defines an extension that can be used in any JWTish environment. Doesn't work with W3C VCs due to the split between subject related data (credentialSubject) and metadata (evidence). Ask Mark Haine.

But SD-JWT can be used with W3C VCs (bot as SD-JWT is and W3C VCs as they are).
not sure what you mean. can you please explain.

We did some mapping in the past (it was some time ago, and I don't remember how far we got):
Evidence in VCs is optional and the model and use of evidence for eKYC doesn't make a lot of sense since eKYC already defines the full data model. eKYC can be nicely modelled within the credential subject. There were discussions around re-using the model of eKYC for expressing different levels of verifications.
Essentially it was something like:
{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "Verifiable Global ID",
    "description": "Schema of the Verifiable Global ID for a natural person",
    "type": "object",
    "allOf": [{
            "$ref": "./verifiable-attestation-v1.json"
        },
        {
            "properties": {
                "credentialSubject": {
                    "$ref": "#/definitions/credentialSubjectDef"
                }
            }
        }
    ],
    "definitions": {
        "credentialSubjectDef": {
            "allOf": [{
                    "properties": {
                        "id": {
                            "description": "Defines the DID of the subject that is described by the Verifiable Attestation. This identifier is usually used for cryptographic binding.",
                            "type": "string",
                            "format": "uri",
                            "examples": ["did:ebsi:z...", "did:key:..."]
                        },
                        "claims": {
                            "type": "object",
                            "properties": {

                            }
                        }
                    }
                },
                {
                    "$ref": "./e-kyc-verified_claims-2022-08.json#/definitions/verified_claims_def2"
                }
            ]
        }
    }
}

verifiable-attestation-v1.json is the VC data model
e-kyc-verified_claims-2022-08.json#/definitions/verified_claims_def2 - is the JSON schema of the eKYC

to answer the original question raised in the issue,

the way VCDM 2.0 is going, it requires data model to be JSON-LD and processed according to JSON-LD rules, so things like @context is in the payload, we put it to be conformant, but are not processing it will not be conformant.
the value of VCDM IMO is defining the concept of a credential in a three party model: issued credential must contain the issuer, the subject, claims about the subject, metadata about the issuance of that credential (iat, exp, etc.) and optionally a cryptographic key. that's it. How to map it to the JWT claims is not the expertise of w3c vc wg nor is well-defined in the documents produced by that group.
VCDM itself is silent about how to sign/process the data model

I would absolutely not equate ID Token data model to a VC data model. VC data model needs one step to get to the ID Token usability which is defining how the concepts defined in VCDM are mapped to the JWT claims and how to sign/process that JWT claimset, which is what this sd-jwt vc draft attempts to do.

@Sakurann

OID4VP/OID4VP define those (application/x-www-form-urlencoded and application/json) I do not think sd-jwt vc draft should say anything about that.

I think we need to at least scope the media type definition in the spec as those definitions are related to the typ only, not request payload.

why it can't be left to the protocol? why it can't be application/json? just for example: https://openid.bitbucket.io/connect/openid-4-verifiable-credential-issuance-1_0.html#section-7.3-9

@Sakurann
- the way VCDM 2.0 is going, it requires data model to be JSON-LD and processed according to JSON-LD rules, so things like @context is in the payload, we put it to be conformant, but are not processing it will not be conformant.
Please check the discussion in https://github.com/w3c/vc-data-model/pull/1088 since the conclusion is different.
@Sakurann What do you understand under LD processing?  (LD processing with VCs is used only by: data integrity proofs, selective disclosure that's been just defined, internationalisation, identity matching, some advanced querying)
Since JWS is not using any of that, JWS protection mechanism is not affected by the -LD part.
However, it enable use cases, that want to use the -LD (e.g., ELM v3) for internationalisation etc., to use it.
When VCs are secured with JWS, LD processing is not performed. It MAY be performed, if use case requires it, in the post-processing (after the validation) or rendering phase.
- the value of VCDM IMO is defining the concept of a credential in a three party model: issued credential must contain the issuer, the subject, claims about the subject, metadata about the issuance of that credential (iat, exp, etc.) and optionally a cryptographic key. that's it. How to map it to the JWT claims is not the expertise of w3c vc wg nor is well-defined in the documents produced by that group.
That's perfectly fine. W3C VCDM is focusing on the VCDM data model.
Note that the current VCDM v2.0, without any JWT claim, is a valid JWT.
- VCDM itself is silent about how to sign/process the data model
I think this is a good approach of the specification, since it defines a data model. Securing mechanism should be defined by specifications like JAdES which defines a profile for JSON-based AdES.

why it can't be left to the protocol? why it can't be application/json? just for example: https://openid.bitbucket.io/connect/openid-4-verifiable-credential-issuance-1_0.html#section-7.3-9

Reason is simple and it is following the basic architecture/design principles. Signature (e.g., JWS) defines the serialisation and with it the resulting type.  JWS specification cannot and should not know anything about the protocol that will use it.
When a protocol defines a profile or a set of supported elements, the protocol needs to ensure that the media type that's defined consistent with the elements it selected.

@Sakurann Perhaps I did not explain well.
This is the media type definition from the spec.

It does not describe the context where the media type application/vc+sd-jwt shall be used. So people might think this is a media type that should be used as content type of an HTTP response. I think we agree this is not the case. All I'm suggesting to document the intended use in the JOSE header (and as format identifier in credential exchange protocols).
Would you agree?

@Sakurann
- the way VCDM 2.0 is going, it requires data model to be JSON-LD and processed according to JSON-LD rules, so things like @context is in the payload, we put it to be conformant, but are not processing it will not be conformant.
Please check the discussion in https://github.com/w3c/vc-data-model/pull/1088 since the conclusion is different.
@Sakurann What do you understand under LD processing?  (LD processing with VCs is used only by: data integrity proofs, selective disclosure that's been just defined, internationalisation, identity matching, some advanced querying)
Since JWS is not using any of that, JWS protection mechanism is not affected by the -LD part.
However, it enable use cases, that want to use the -LD (e.g., ELM v3) for internationalisation etc., to use it.
When VCs are secured with JWS, LD processing is not performed. It MAY be performed, if use case requires it, in the post-processing (after the validation) or rendering phase.
- the value of VCDM IMO is defining the concept of a credential in a three party model: issued credential must contain the issuer, the subject, claims about the subject, metadata about the issuance of that credential (iat, exp, etc.) and optionally a cryptographic key. that's it. How to map it to the JWT claims is not the expertise of w3c vc wg nor is well-defined in the documents produced by that group.
That's perfectly fine. W3C VCDM is focusing on the VCDM data model.
Note that the current VCDM v2.0, without any JWT claim, is a valid JWT.
- VCDM itself is silent about how to sign/process the data model
I think this is a good approach of the specification, since it defines a data model. Securing mechanism should be defined by specifications like JAdES which defines a profile for JSON-based AdES.

I agree that securing JSON-LD as payload with SD-JWT is important work that should be considered and investigated.
I don't agree that it is a good idea to take VCDM claims and use all of those to secure JWTs, because there are existing claims from JWT claims registry and existing implementations depend on those

@paulbastian thank you for your feedback and I fully understand your concern. We need to put things into a context: most of those cases operate within closed systems where everything is well defined - data models, verification rules, etc. Within this context, I fully agree with you.
Securing JSON-LD can be done today by JAdES (pure JWS, no JWT). I believe it is worth to read and reflect on it
https://www.etsi.org/deliver/etsi_ts/119100_119199/11918201/01.01.01_60/ts_11918201v010101p.pdf
From my experience, the @context is really processed (in most cases) outside of the verification scope/process. There are signatures that rely on the context, however, that's not relevant for JWS and this discussion. (In a brute-force scenario context can be embedded/inline and problem solved - size is the price to pay - not in the scope of this discussion)
Since JWT specifies that all claims are optional, libraries should be able to process JWT tokens without any JWT claims (I know how it sounds). From experience, JWS/JWT libraries verify the signature, other verifications are performed manually. People could also argue that VCs are used. This direction won't lead to a solution.
ID Token and eKYC define rules for the JWT claims when they are secured with JWS. I believe there are many other use cases that define profiles, rules, etc.
In an open multi-use case system, there are additional challenges and we had a good discussion with Torsten on the topic where we identified several points that should be considered.
It is worth reflecting on the designs of

JWS
JAdES
linked data proofs
VCDM v2
on their data model and serialisation.

Back to my question:
What is the real benefit of this data model over the W3C VC data model by looking at the situation objectively?
(I'm also trying to find an answer to the question)
With Torsten we had a very fruitful discussion. We need to reflect on several elements.
Have a nice weekend!

@paulbastian , I missed one point.

I agree that securing JSON-LD as payload with SD-JWT is important work that should be considered and investigated. I don't agree that it is a good idea to take VCDM claims and use all of those to secure JWTs, because there are existing claims from JWT claims registry and existing implementations depend on those

Can you please elaborate on "take VCDM to secure JWT"?
If my understanding is correct (sometimes is, sometimes isn't), it is JWS the one secures the payload (and it can be any JSON). JWT claims define contextual information: who, validity, about who, for whom. We should reflect on sigTst from JAdES.
I'm personally not proposing to use VCDM to protect a JWT. VCDM and JWT are both protected by JWS.

As an example, iss and cnf are registered claim names for JWTs that are used to secure the VC. Existing RFCs are using those. Therefore it doesn't make sense to overwrite those by the w3c data model in my opinion

Thank you @paulbastian. I understand your view. If VC claims were registered, what would be the benefit of the data model over VCDM?
Since I’m involved in projects that use VCDM (in JSON and JSON-LD) and also JWT I would really like to understand the objective benefits od the data model.

To resolve this issue, we will add a section on relationship to other documents and include a chapter on "VCDM".

This issue is ready for a PR.


Sanderrr/evm 31 deploy tablelandtables to arbitrum nova

Adds Arbitrum Nova deployment. This should go in after https://github.com/tablelandnetwork/evm-tableland/pull/354.

Looks good 👍


"AND" condition in triggers of pipeline

I used this trigger to control condition branch master and git tag.
trigger:
branches:
include:
- master
- refs/tags/development
When i push source code to branch "master" AND with git tag "development", the pipeline will be built.
But i push to branch "master" OR Pushed git tag is "development". The pipeline also will be built.
How can i control "AND" condition for branch and git tag.

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

ID: f5673ec1-c7d1-e0ac-043a-8fc3d5b226a9
Version Independent ID: b4872831-51c0-6cf8-1c56-de20beb38a80
Content: Build pipeline triggers - Azure Pipelines
Content Source: docs/pipelines/build/triggers.md
Product: devops
Technology: devops-cicd
GitHub Login: @steved0x
Microsoft Alias: sdanie

Please tell me the answer

Thanks for your question. It looks like your question isn't an issue with the documentation, but an issue or question specific to your implementation or a bug in the product itself.
For help with a specific task, here are a couple of options where you might consider asking your question:

Azure DevOps on Stack Overflow
Azure DevOps Support Bot

If you've encountered an issue with the product itself, to make sure it gets in front of the right people, please submit your bug here.
If you have an idea for improving the product, please submit your idea here.