stuck at "starting zigbee-herdsman" fail to connect

Description of the issue
What happened?
The add on in HomeAssistant fails to start with the error message: seems to hang at "starting zigbee-herdsman" for a long time while refreshing the logs
info  2022-10-06 17:01:46: Starting zigbee-herdsman (0.14.62)
error 2022-10-06 17:02:51: Error while starting zigbee-herdsman
error 2022-10-06 17:02:51: Failed to start zigbee
error 2022-10-06 17:02:51: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
error 2022-10-06 17:02:51: Exiting...
error 2022-10-06 17:02:52: Error: network commissioning timed out - most likely network with the same panId or extendedPanId already exists nearby
at ZnpAdapterManager.beginCommissioning (/app/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/manager.ts:347:23)
at ZnpAdapterManager.start (/app/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/manager.ts:92:17)
at Controller.start (/app/node_modules/zigbee-herdsman/src/controller/controller.ts:132:29)
at Zigbee.start (/app/lib/zigbee.ts:58:27)
at Controller.start (/app/lib/controller.ts:101:27)
at start (/app/index.js:109:5)
Steps taken to solve the issue:
very very new at this, read that i could try to delete the data/coordinator_backup.json file to try it but not sure how to find it with a Raspberrypi HA set up.  instead went into file editor and deleted the files in config/zigbee2mqtt/
Tried to reflash the SONOFF zigbee 3.0 USB dongle (CC1352P2_CC2652P_launchpad_coordinator_20220219)
not 100% sure how to set panID but i did attempt to change channel in the configuration page
Zigbee2MQTT version
1.28.0-1
Adapter firmware version
20220219
Adapter
Sonoff Zigbee 3.0 USB Dongle Plus (ZBDongle-P)
Addon version
v1.28.0-1
Platform
RaspberryPi 4
Home Assistant 2022.10.0
Supervisor 2022.09.1
Operating System 9.0
Frontend 20221005.0 - latest
Logs of the issue (if applicable)
info  2022-10-06 17:17:46: Logging to console and directory: '/config/zigbee2mqtt/log/2022-10-06.17-17-46' filename: log.txt
info  2022-10-06 17:17:46: Starting Zigbee2MQTT version 1.28.0 (commit #unknown)
info  2022-10-06 17:17:46: Starting zigbee-herdsman (0.14.62)
error 2022-10-06 17:18:52: Error while starting zigbee-herdsman
error 2022-10-06 17:18:52: Failed to start zigbee
error 2022-10-06 17:18:52: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
error 2022-10-06 17:18:52: Exiting...
error 2022-10-06 17:18:52: Error: network commissioning timed out - most likely network with the same panId or extendedPanId already exists nearby
at ZnpAdapterManager.beginCommissioning (/app/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/manager.ts:347:23)
at ZnpAdapterManager.start (/app/node_modules/zigbee-herdsman/src/adapter/z-stack/adapter/manager.ts:92:17)
at Controller.start (/app/node_modules/zigbee-herdsman/src/controller/controller.ts:132:29)
at Zigbee.start (/app/lib/zigbee.ts:58:27)
at Controller.start (/app/lib/controller.ts:101:27)
at start (/app/index.js:109:5)

My situation has been going on for 2 days, how can I fix it
[16:45:16] INFO: Preparing to start...
[16:45:16] INFO: Socat not enabled
[16:45:16] INFO: Zigbee Herdsman debug logging enabled
[16:45:17] INFO: Starting Zigbee2MQTT...
/app/dist/util/externally-loaded.js:2474
.withPreset(['manual', 'program']).withSensor(['internal', 'external', 'both'], ea.STATE_SET),
^
TypeError: exposes.climate(...).withSetpoint(...).withLocalTemperature(...).withLocalTemperatureCalibration(...).withSystemMode(...).withRunningState(...).withPreset(...).withSensor is not a function
at /app/dist/util/externally-loaded.js:2474:52
at Script.runInContext (node:vm:141:12)
at Script.runInNewContext (node:vm:146:17)
at Object.runInNewContext (node:vm:306:38)
at loadModuleFromText (/app/lib/util/utils.ts:148:8)
at loadModuleFromFile (/app/lib/util/utils.ts:155:12)
at Object.getExternalConvertersDefinitions (/app/lib/util/utils.ts:165:25)
at getExternalConvertersDefinitions.next ()
at new ExternalConverters (/app/lib/extension/externalConverters.ts:12:20)
at new Controller (/app/lib/controller.ts:84:58)


Introduce BluetoothAudioSink

Introduce BluetoothAudioSink plugin
BluetoothControl: some fixes around BR/EDR connection, have baudrate configurable from build system (audio requires more than the hardcoded 115200)
BluetoothRemoteControl: changes due to renamed Profile to GATTProfile

@mhughesacn can you have a look at this. It seems you need to approve if the changes are oke, so we can merge it.

Sorry guys, didn't realise that I was blocking anything when the checks were passing.

@mhughesacn No problem. Thanks !


Conway era support

It looks like we've got 2 new TX attributes (voting procedures and proposal procedures) and their associated data structures.
https://github.com/input-output-hk/cardano-ledger/blob/master/eras/conway/test-suite/cddl-files/conway.cddl

This is a duplicate of #323, which is now closed


Defining aliases

Would be nice to be able to define aliases for some symbols or override prefixes. For example, I use these shortcuts:
{
  "ox": "⊗",
  "o+": "⊕",
  "to": "→",
  "e": "ɛ",
  ...
}

Probably a setting with a path to some additional json with these definitions would help..

How does<PHONE_NUMBER>2d29d724270659f4672f397596ecfd look to you?

Hmm looks like the selector config isn't working though

Fixed

@one-more-minute :+1: thanks! yes that's what I was thinking about. I would ask for one more option: to be able to turn on/off the default list of completions. For example, I want to copy some part of it (only the symbols I need) to the custom json and turn off the rest.

Also, not so essential, but still useful: being able to set several custom files (same setting, just list then comma separated). Then you can store different sets of symbols (math, greek, strange arrows, etc.) in different files (easier to maintain).

Done & done.

wonderful! thanks a lot! :+1:

No problem!

Could you provide an example of the necessary syntax for a custom completions file, please?
Also, should I use DOS file naming when running under Windows?
Thanks!


Skip creating merged objects if there are too many samples

We have not been successful in completing the merged workflow when there are > 100 libraries being merged into a single object. Because of this we probably want to add a check for the total number of libraries being merged and if it's > 100 we skip creating the object and emit a warning message about how that object won't be created, similar to what we do for multiplexed samples.
Something similar to this but for total number of libraries:
https://github.com/AlexsLemonade/scpca-nf/blob/f215046b3a9d9ddc50fac1a198a57e1bb813aeae/merge.nf#L175-L179

Closed by #777


Create zazu-solarized

All pull requests should go to master, even the documentation is in master
under ./docs/.

It's on master here
https://github.com/tinytacoteam/zazu/commit/b63b22720c18903b6b414d58f36ef805009a0c92

i should have named it dark so i can make a light one too...
should i rename my github project and make another pull request?

On 10.11.2017, at 20:02, Blaine Schmeisser<EMAIL_ADDRESS>wrote:
Closed #304 https://github.com/tinytacoteam/zazu/pull/304.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/tinytacoteam/zazu/pull/304#event-1336623640, or mute the thread https://github.com/notifications/unsubscribe-auth/ADflvWlquvbGBcqKAlmp2DNVI3Oe6cPZks5s1J21gaJpZM4QS2gH.

I'm happy to help with those changes if you do.

hey!
i have renamed the repo to
marcpaul/zazu-solarized-dark-theme
what should i do next?
or can you simply change the link?
thanks for your help
marc

On 13.11.2017, at 19:23, Blaine Schmeisser<EMAIL_ADDRESS>wrote:
I'm happy to help with those changes if you do.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/tinytacoteam/zazu/pull/304#issuecomment-344011008, or mute the thread https://github.com/notifications/unsubscribe-auth/ADflvfCMZ3vNuXJeVfJkCvrQPJ8bhiVuks5s2IkngaJpZM4QS2gH.

@marcelocg I've updated the docs.
http://zazuapp.org/themes/

kool thanks

On 15.11.2017, at 18:09, Blaine Schmeisser<EMAIL_ADDRESS>wrote:
@marcelocg https://github.com/marcelocg I've updated the docs.
http://zazuapp.org/themes/ http://zazuapp.org/themes/
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/tinytacoteam/zazu/pull/304#issuecomment-344660898, or mute the thread https://github.com/notifications/unsubscribe-auth/ADflvQ70NLh5-PvEwvMcHhazUVGFFjmsks5s2xq_gaJpZM4QS2gH.


Small fix for eventSource for compatibility beyond official OpenAI API

Applies mainly to projects like the one below vs proxies
https://github.com/abetlen/llama-cpp-python
https://github.com/keldenl/gpt-llama.cpp

what's the difference between OpenAI API eventsource and other eventsource?

what's the difference between OpenAI API eventsource and other eventsource?

Mainly newlines that make parsing it break with this client.
These changes were tested against OpenAI, sse-starlette (Python EventSource) and a Javascript EventSource implementation.


Cardboard UI does not work if application prevents translation of touch events into mouse events

Cardboard UI relies on the browser automatic translation of touch events into mouse click events. If the application touchstart handler calls event.preventDefault(), this translation is disabled and Cardboard UI buttons do not function.
A fix could be to also listen for touchstart in CardboardUI.prototype.listen and take client(X|Y) from event.touches[0].client(X|Y) if it is defined.

You could also bind to a particular DOM element instead of the window.
On Tue, Nov 15, 2016 at 2:33 AM Jan Wrobel<EMAIL_ADDRESS>wrote:

Cardboard UI relies on the browser automatic translation of touch events
into mouse click events. If the application touchstart handler calls
event.preventDefault(), this translation is disabled and Cardboard UI
buttons do not function.
A fix could be to also listen for touchstart in
CardboardUI.prototype.listen and take client(X|Y) from
event.touches[0].client(X|Y) if it is defined.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/googlevr/webvr-polyfill/issues/174, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AAQ8gNiHOS_bl1aLE_8nPiUJUuygR1q1ks5q-YplgaJpZM4KyXfc
.

I'm not sure this is possible, CardboardUI buttons are rendered in WebGL and do not have corresponding DOM elements, so CardboardUI needs to listen on canvas for click events. Application with custom touch navigation also needs to listen on the same canvas.

如果 canvas 的容器 添加了 pointerEvents: "none"  CardboardUI 也不会添加事件响应

I think @borismus meant that the touch events that stop propagation be bound to particular DOM elements rather than interfering with the canvas element's events.
If I understand this correctly, there are a few work-arounds applications can implement, like not disrupting events while in VR mode. I think it's reasonable that the application is responsible for not interfering with these events making it to the canvas.
Thank you for filing!

@jsantell Please consider reopening this issue.
As @wrr pointed out, the standard way handle both touch and mouse events together is to add handlers for both events, and to call preventDefault on touch events (see https://hacks.mozilla.org/2013/04/detecting-touch-its-the-why-not-the-how/).
More so, if an app is relying on third party libraries for processing touch/mouse events which are following this standard practice, it is not necessarily easy to make sure that preventDefault is not called while in VR mode. In my case, I am using a gesture library that processes touch/mouse events on a parent element of the canvas, and calls preventDefault without stopping propagation (so all events propagate to the canvas, while I handled the derived gesture events). The preventDefault on touch events is necessary to avoid several undesired browser side effects (such as scrolling or zooming), in addition to avoiding the synthetic 'click' events. I don't see a good way to work around this issue aside from updating webvr-polyfill to support touch + mouse events.
Here is a solution:
var kTouchSlopFactor = 1.5;
CardboardUI.prototype.listen = function(optionsCallback, backCallback) {
  var canvas = this.gl.canvas;
  var hasTouchEventClass = typeof TouchEvent !== 'undefined';
  this.listener = function(event) {
    var midline = canvas.clientWidth / 2;
    var buttonSize = kButtonWidthDp * kTouchSlopFactor;
    var e = hasTouchEventClass && event instanceof TouchEvent ?
      (event.preventDefault(), event.changedTouches[0]) :
      event;
    // Check to see if the user clicked on (or around) the gear icon
    if (e.clientX > midline - buttonSize &&
        e.clientX < midline + buttonSize &&
        e.clientY > canvas.clientHeight - buttonSize) {
      optionsCallback(event);
    }
    // Check to see if the user clicked on (or around) the back icon
    else if (e.clientX < buttonSize && e.clientY < buttonSize) {
      backCallback(event);
    }
  };
  canvas.addEventListener('click', this.listener, false);
  canvas.addEventListener('touchstart', this.listener, false);
};```

I'll reopen this and give it a further look and follow up next week -- thanks for the additional info, @speigg


Add docs on scheduler MultiPoint config

This adds documentation for the scheduler's new MultiPoint config field, along with examples and comparisons to the old way of configuring the scheduler.
Enhancement issue: https://github.com/kubernetes/enhancements/issues/2891
Work PR: https://github.com/kubernetes/kubernetes/pull/105611

/assign @nate-double-u

Deploy preview: https://deploy-preview-30442--kubernetes-io-vnext-staging.netlify.app/docs/reference/scheduling/config/#multipoint-config

/sig scheduling

If this is a new field that doesn't work in older Kubernetes, we should also document that detail.

Do we have to add any extra notes in #30404?
IIUC, people using v1beta2 could just swap the version without needing extra changes, right?

Right, an existing v1beta2 config will work with v1beta3 without any changes

/lgtm
/sig scheduling

/lgtm

looks like final editorial and tech comments have been addressed, thanks!
/approve


[Feature Request] JSON Schema for sitemap

https://developers.weixin.qq.com/miniprogram/dev/reference/configuration/sitemap.html
I want to know if you have already set out to do this? Or i can help.

yes, all JSON schemas of MiniProgram are hosted here https://github.com/NewFuture/miniprogram-json-schema

NewFuture/miniprogram-json-schema#1


⚠ Jenkins Plugins Artifactory has degraded performance

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

HTTP code: 200
Response time: 1118 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 06c1b87 after 21 minutes.


DynamicServerListLoadBalancer ignores ping interval configuration

DynamicServerListLoadBalancer implementation of setPing does not call super.setPing which causes the load balancer to completely ignore the ping interval configuration. Is this intentional?
Everytime the server list is update it forces a ping on all servers, but what if I want to update that list only every 2 minutes but ping all servers every 15 seconds?

Just ran into the same issue. I don't see any reason why DynamicServerListLoadBalancer overwrites setPing(), it could just be removed.

Are there any impediments to merging the fix for this issue, pull request #208?
We've had this much needed patch in production for months now and would love to see it included in the next release.


Single import suggestion seems to have disappeared

I just see apply all / apply all import suggestions and no entry for the actual suggestion itself! (vscode)

Maybe this was fixed, I definitely see individual import suggestion now.


Making external links open in new tab

Added target="_blank" rel="noopener noreferrer" on all the external links so they open in new tab

I'm willing to be overridden on this, but I'm hesitant to open new tabs for external links. There are a bunch of opinions on this, but I think the web is meant to have back buttons, and the points here are valid https://css-tricks.com/use-target_blank/

I agree with @nburka that we should avoid opening links in new windows/tabs. That said, it is a bit jarring to have two of the main nav links take you off the site. The GitHub link is pretty clear that it'll take you off site, but there's nothing to distinguish the "Request an Icon" and "About" links, though they have significantly different behaviour.
I suggest we make a new page on healthicons.org for "Request an Icon" that explains the process and links to the New Issue template on GitHub.

I've made an Issue for what Steven mentioned https://github.com/resolvetosavelives/healthicons/issues/56

agreed! We can change the expectations from request an icon by changing the content. Perhaps something on the lines of "Request an icon on github" will suit better


[UnirestMock] thenReturn(Object pojo) assumes JSON serialization

Is your feature request related to a problem? Please describe.
I'm working against a REST Api that (sadly) only returns XML formatted responses and I wanted to use UnirestMock in my tests, notably the thenReturn(Object pojo) method.
Alas, that can not work as, like the title says, the thenReturn(Object pojo) method serializes the provided Object pojo to a JSON string as the response's body:
https://github.com/Kong/unirest-java/blob/685d8f843d155db3ea4dafce934f342a2b6f2c71/unirest-mocks/src/main/java/kong/unirest/Invocation.java#L75
The Unirest instance I'm mocking in my tests has been configured to use Jackson XmlMapper, thus when processing the MockRawResponse to produce an ObjectResponse:
https://github.com/Kong/unirest-java/blob/685d8f843d155db3ea4dafce934f342a2b6f2c71/unirest/src/main/java/kong/unirest/ObjectResponse.java#L41
It fails due to a parsing exception:
"com.fasterxml.jackson.core.JsonParseException: Unexpected character '{' (code 123) in prolog; expected '<' at [row,col {unknown-source}]: [1,1]"

And of course it does: my ObjectMapper expects some XML and is provided JSON instead

As a consequence, the body of the response is null and my test fails.
Describe the solution you'd like
I'd like to be able to somehow provide a custom ObjectMapper to a MockClient instance, that will be used when serialiazing POJOs.
Something like (or anything else that makes more sense):
this.instanceMock = MockClient.register(this.customInstance, new CustomObjectMapper());

Describe alternatives you've considered
Of course, I could simply the XML I want to see returned as a String argument to the `thenReturn(String body) but... I'd very much like not to do that 😅
(I'll do that in the meantime, though, but still)

What if it used the ObjectMapper that was configured with Unirest? No need for a different one.

What if it used the ObjectMapper that was configured with Unirest? No need for a different one.

I've got no objection with that 😃 Even easier for me.
Don't know if it could be relevant for the matter at hand, but in my app I'm managing several distinct Unirest instances with their own config (roughly one per API I'm working with) and almost never using the static one.

I've got no objection with that 😃 Even easier for me.
Don't know if it could be relevant for the matter at hand, but in my app I'm managing several distinct Unirest instances with their own config (roughly one per API I'm working with) and almost never using the static one.

Complete in v3.11.10. It will try in order:

The request ObjectMapper
The Config ObjectMapper
A JsonObjectMapper (this is probably impossible as the system will have either 1 or 2)

Complete in v3.11.10. It will try in order:

The request ObjectMapper
The Config ObjectMapper
A JsonObjectMapper (this is probably impossible as the system will have either 1 or 2)

Works like a charm 💪
Many thanks!

Works like a charm 💪
Many thanks!


A dataset page doesn't load

I was checking datasets that are linked from reference data page here - https://datahub.io/collections/reference-data
But one of them doesn't work - https://datahub.io/core/imo-imdg-codes - no 404/500 so it's confusing if it finished loading or not.

FIXED (Including the issue with incorrect user site URLs not returning 404s)


Modify response to GetConfiguration and ChangeConfiguration to include charger serial

Hey all,
I'm working with a RESTful api, ingesting messages from the OCPP server. Each message is dependent on the {"id":"1234567"} charger serial value. Currently, the responses I'm getting from the charger from the 'ChangeConfiguration' message returns as the following: ChangeConfigurationPayload(status='Accepted'), which doesn't help me update the value. Does anyone have an idea of how to modify the following code to be able to add in the serial? Ideally, I'd like to have the message response in the following format:
{ id: '1234567', msg_type: 'ChangeConfigurationPayload', status: 'Accepted'}
The current relevant portions of code:
                msg = call.ChangeConfigurationPayload(                   key = keyValue,                   value = vValue                 )
   `response = str(await self.call(payload=msg))
    logger.info("RESPONSE: %s", response)
    self.csms.sqs_client.send(response)

`
Really, I'd like to change the result of the 'ChangeConfiguration.conf' response message that is finally being sent back to the SQS queue to my api to include the charger serial value.

The charger id is available at ChargePoint.id. See https://github.com/mobilityhouse/ocpp/blob/22b52387ea60558cc0398f668a00eed6d5f75286/ocpp/charge_point.py#L93-L99
Does that help?

It does! I might have brained out in the process of writing the original post, and I figured it out before your comment, but thank you still!


Add Hover Effect on Active Project Button

can you please become more specific, what are the expected deliverables is needed?
@AdarshSinghTomar768  i would like to work on this issue.

can i be assigned for this task @AdarshSinghTomar768


Testing, getting errors

so first I wanted to just test so I created a folder, I manually cloned my repo
 git clone ssh://test.com/path/to/repo test

The Caddyfile had this
  git {
    repo ssh://test.com/path/to/repo
    path ../
    interval -1
    hook /pull
    hook_type generic
    then_long command "npm run build"
  }

but when I ran caddy I got this error
017/08/29 15:57:52 another git repo 'ssh://test.com/path/to/repo.git' exists at .

No idea what that means.
If I comment out the git section above my Caddyfile works fine
Any ideas?

Not sure what happened, but I accidentally referenced your issue in mine. This is incorrect.

Try this
Use https url if public repo. e.g. https://test.com/path/to/repo.
Or this format if it is private repo. git@github.com:user/repo.


Make new lasair-cassandra for deployment

The cassandra tables should be built from the lasair schema, not bolted into the gkservercollection.
The new ansible code will look like lasair-deploy/main.yml and will run all the CREATE TABLE scripts using the cassandra module from galaxy

The initial cut of this will use the command shell rather than the Ansible galaxy command module, since it's not yet integrated into Ansible and only has one rating so far. I don't want to exchange one galaxy dependency for another!  (I'll take a look at it for future modifications.)


Restrict API based on Grant Types

Hi,
I have two controller. I wanted to restrict the access to API based on Grant Types.

Controller one can be accessed using access token which requested using Client Credential Grant.
Controller one can be accessed using access token which requested using Client Authorization Code Grant.

Can you please assist us, how can we achieved the above scenario in identityserver4?

This seems to be a general question about IdentityServer - not a bug report or an issue.
Please use one of the our free or commercial support options
See here for more details.
Thanks!


feat(env): Add env module

What

Add env module for environment-specific values
Use in request module for local files

Why

To DRY up the code
To fix #269

Pull Request Test Coverage Report for Build 580171606

6 of 8 (75.0%)  changed or added relevant lines in 2 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.1%) to 48.953%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

queenbee/base/request.py
1
3
33.33%

Files with Coverage Reduction
New Missed Lines
%

queenbee/base/request.py
1
61.29%

Totals

Change from base Build 579302846:
0.1%

Covered Lines:
1379

Relevant Lines:
2817

💛  - Coveralls

Thanks for the feedback @mostaphaRoudsari ! Requested again in case there's anything else you think should be changed.


TypeScript Roadmap: January - June 2021

Roadmap Overview
This roadmap is meant to give our team and users clarity over our priorities over the next year. It's meant more as a set of guidelines than as a strict set of tasks we are bound to finish.
At a high-level, we're going to be focusing on the following 5 goals:

Types on every desk, in every home, for every JS developer
Productivity through strong tooling
Approachability and UX
Community engagement
Infrastructure and engineering systems

The how is broken down into the following sections:

Language design and innovation
Developer productivity tools and integration
Education and UX
Community investment
Internal engineering

If you've seen our last roadmap, you will notice that our goals and areas of investment haven't changed - so much so that our last roadmap sufficiently covered all of 2020. The biggest changes you might notice are specific work items and amount we'll be focusing on each area of investment.
Language design and innovation
TypeScript and the core type system

Enabling popular JS patterns in a type-safe way
Increasing expressivity
Proving relationships between types
Stricter settings
Implementing ECMAScript features

The goal of TypeScript's type system is to statically model patterns in JavaScript in a reasonable way while catching bugs and enforcing correctness. As more features are added to ECMAScript, and as we notice emerging patterns in the ecosystem, we have more work to do, and because the JavaScript world moves fast, so must we.
While nothing has changed here, new areas of focus might target a few core issues like:

More types as keys for index signatures
Continued investment in template string types and tuple types
Expanded non-strict checks (e.g. override, no property access on index signatures, unknown in try/catch)
Running under multiple runtimes with conflicting global declarations

Back to top
JavaScript: TypeScript beyond TypeScript

Making the JavaScript editing experience better
Smoothing the transition to TypeScript
Leveraging analyses outside of checkJs
Understanding more dynamic patterns

TypeScript isn't just for TypeScript anymore. Our userbase now includes the JavaScript ecosystem as a whole, whether they are

using .js/.jsx files in editors powered by TypeScript,
compiling purely with allowJs,
type-checking with checkJs (also enabled by the // @ts-check comment), or
transitioning to TypeScript

Whoever these users are, we believe TypeScript can serve them in some way.
We largely expect investment in the following areas:

editor tooling
leveraging TypeScript to provide stronger hints in the untyped editing experience
polish in the existing .d.ts file generation from .js files
improving parity for JSDoc mode where appropriate (e.g. supporting a broader set of tags)
investigating /// comments

Back to top
Committee Representation and Standards Compliance

Supporting modern module patterns and formats
Advancing committee work on decorators
ES/CJS module interop
Expression-oriented constructs

We are involved in several different committees, including TC39 and the Node modules group. We try to provide representation as

implementers of TypeScript, the type-checker
implementers of JavaScript language services & tooling
a voice for the users of both of the above

We're prioritizing forward compatibility with proposals/features that we've adopted early on, and we are also helping champion features which are highly-demanded from the community. To maintain focus, we will likely only be engaged with a few proposals at a time.
We hold a policy of not implementing features unless they reach stage 3 and we have high confidence in them.
Developer productivity tools and integration
Editor productivity

UX around refactorings/quick fixes
Improve experiences in partial semantic editing, such as during project load, or in-browser code exploration
Invest in support for the Language Server Protocol
Investigate opportunities to make getting started easier

Partial semantic mode has allowed editors to provide a better experience in single files while waiting for full projects to load; at the same time, we've seen that this mode can benefit in-browser scenarios as well. We'll be smoothing out the experience there as opportunities and issues arise.
We'll also be scoping out support for the language server protocol over time. Most editor support will likely continue to use TSServer in the near future, but we'll be investigating what it takes to provide an LSP server for TypeScript as well.
Back to top
Speed, scalability, and stability

Provide user-level tooling for profiling tsc builds
Address top-hitting stability issues from telemetry & crawlers
Investigate long-run performance wins
Document best practices

We've learned lots from users over the past year in investigating slow builds. We've documented some best-practices for keeping builds fast, and we've built some tooling and options like --explainFiles and --generateTrace. We'll continue improving our diagnostic tooling as we learn more.
Back to top
Education and UX
Handbook and Website

Investigate, experiment, and improve user flow
Transition docs to the new handbook
Better onboarding for configuration and creating projects
Ensure site continues to be accessible

The new website has been launched, and our handbook gathering feedback there. We'll switching over to the new handbook by default this year.
Back to top
Error and type display UX

"Smarter" diagnostics
More related error spans
Investigate interactive diagnostics and quick info

This area continues to receive investments, where we find heuristics to make the compiler "smarter" and provide more actionable errors.
Back to top
Community investment
downlevel-dts
downlevel-dts has been a useful tool for several partner teams. It lets library authors rewrite .d.ts files so that they can be consumed by older versions of TypeScript. For example, for Typescript 3.6, .d.ts files with get accessors in classes need to be rewritten to property declarations. This tool will need ongoing investment for each release containing new .d.ts syntax. We'd like to document this more as part of the "blessed" flow in writing libraries, and continue investment in the tool.
Back to top
DefinitelyTyped

Weekly DefinitelyTyped rotations
Surrounding infrastructure

DefinitelyTyped Tools
dt-mergebot
dtslint

Back to top
External contributors

Weekly meetings to drive down outstanding pull requests
Dedicated time from engineering team to assigned pull requests following release candidates

Back to top
Partner teams
We'd love to hear from your team if you use TypeScript in interesting or broadly applicable ways. This gives us insight on various things we could improve. Please give us your feedback!
Back to top
API Consumers

Rolling requests for API endpoints
Invest in support for the Language Server Protocol
Investigate improving rich editing experiences

in enhancing plugins like IntelliCode
in templates

Back to top
Outreach

Public talks
Meetup attendance
In-depth blog post content
Help with TSConf coordination

We want to encourage members of our team to be involved with the community, and write and talk about things that they find interesting. This keeps us close to our users and makes the project itself more approachable.
Internal engineering
Team infrastructure

Invest in profiling and tracing improvements
Invest in automated test running UX
Invest in various quality-of-life GitHub Actions

The idea here is really anything that improves

stability
productivity
ease of contribution

for development on the TypeScript project and any of our satellite projects.
We may consider building out memory profiling tools given that we need it, but few options exist for free.
Back to top
Organizational guidance

Internal guidance on TypeScript-first API designs
Providing internal partner teams with best practices for projects
Addressing major Microsoft-internal build regressions

We are not a company-wide build infrastructure team, but because we have the expertise and because we are involved with the JavaScript community, we're able to provide a level of guidance across Microsoft to give our peers better experiences all around. Additionally, when we hear about major build regressions on large codebases, our internal teams can provide us with their source code, allowing us to often isolate minimal repros (which is not always the case with external closed-source codebases). This work usually benefits external users in some way, whether it's because a bug fix generalizes, because we've produced better APIs, or because we've been able to extract new guidance.
Back to top

transitioning to TypeScript

I have some thoughts to say.

Smoothing the transition to TypeScript

transitioning to TypeScript

I believe that the better idea is to migrate from TypeScript to checkJs and that's why:
Code readability and aesthetics
TypeScript is a very "Horizontal" language, which means that it makes us write very (VERY) long lines of code because the types and the runtime code are declared on the same line here. The better practice is to write more code lines, but make this lines shorter. If I can write 2 lines of code with the length of 2/3 of original line, I would prefer this. And checkJs gives us this opportunity by separating the types and the runtime code. Feel the difference:
type Option<T> = T | undefined

export const map = <P, R>(func: (arg: P) => R) => (data: Option<P>): Option<R> => data !== undefined ? func(data) : undefined

/** @template T @typedef {T | undefined} Option */

/** @type {<P, R>(func: (data: P) => R) => (data: Option<P>) => Option<R>} */
export const map = func => data => data !== undefined ? func(data) : undefined

sure, we can chop that TypeScript function into a 3 lines like this:
type Option<T> = T | undefined

export const map = <P, R>(func: (arg: P) => R) =>
(data: Option<P>): Option<R> =>
data !== undefined ? func(data) : undefined

But it didn't make the code more readable at all. We can also see the main problem of such code chopping in TypeScript: some code line may be surrounded by lines that are up to 10 times longer or shorter. It typically looks like
export function notSoLongFunctionName<
T extends VeryLongGenericConstraintTypeName<AlsoLongGenericConstraintParameterTypeName>,
P
> (
parameterName: LongParameterType<T, P>,
param2: number,
parameter3: VeryLongParameterTypeName<T, P, SomeLongTypeName>
): AlwaysTheMostLongThingInTheFunctionTypeDeclarationIsItsReturnType<T> extends number
? BecauseOfExtendsChecksAndSomeOtherThings
: never {
  const stateMap = new Map<string, VeryLongMapElementType<T, P>>()

  // other runtime code
}

It's ugly. I guess https://github.com/microsoft/TypeScript/issues/42388 is created to partially solve this problem by determining how function generic parameters should be chopped, but we still have also function parameters and return type. This problem also persists in the runtime code too. The nice example is a creation of some Map where we pass its key and value type parameters in the same line with the variable declaration as in the code above.
No need to compile
The need to compile is not a big problem as the previous one. But anyway it may help you to start a new node.js project quicker if you don't need to setup any build tools. Just commit your code, pull it on production and it's ready to run.
checkJs problems
Of course, checkJs isn't without its problems either. The main one is that there're some features that are supported by .ts files, but not by checkJs. We can't pass generic parameters into a function, can't use as const etc. We figured out how to live with it, so I just ask you to not add any more features in the future that increase difference between typed JS and TypeScript as a language.
d.ts generation for .js files

polish in the existing .d.ts file generation from .js files

I tried this feature. The first drawback is that imports of types from other files are not preserved. Instead it produces type declaration duplicates. The second thing is a lack of preserving empty lines between generated declarations.
Development priority
I think our new ability to work with string literals is very helpful, but we are still deadly limited in library development because of impossibility to determine that we expect not abstract number, string, object or array, but literals. Many libraries use models based on literals which are passed as parameters and then handled on both type and runtime levels. But nothing prevents you from passing just string or Record<string, any> there and breaking all type checks by it. So I believe that solving this problem is much more important than all together OOP typing problems that are currently being worked on. Issue: https://github.com/microsoft/TypeScript/issues/41114

-TypeScript Roadmap: January - June 2021
+TypeScript Roadmap: January - December 2021

@glen-84 well, potentially.

I have some thoughts to say.

Smoothing the transition to TypeScript

transitioning to TypeScript

I believe that the better idea is to migrate from TypeScript to checkJs and that's why:
Code readability and aesthetics
TypeScript is a very "Horizontal" language, which means that it makes us write very (VERY) long lines of code because the types and the runtime code are declared on the same line here. The better practice is to write more code lines, but make this lines shorter. If I can write 2 lines of code with the length of 2/3 of original line, I would prefer this. And checkJs gives us this opportunity by separating the types and the runtime code. Feel the difference:
type Option<T> = T | undefined

export const map = <P, R>(func: (arg: P) => R) => (data: Option<P>): Option<R> => data !== undefined ? func(data) : undefined

/** @template T @typedef {T | undefined} Option */

/** @type {<P, R>(func: (data: P) => R) => (data: Option<P>) => Option<R>} */
export const map = func => data => data !== undefined ? func(data) : undefined

sure, we can chop that TypeScript function into a 3 lines like this:
type Option<T> = T | undefined

export const map = <P, R>(func: (arg: P) => R) =>
(data: Option<P>): Option<R> =>
data !== undefined ? func(data) : undefined

But it didn't make the code more readable at all. We can also see the main problem of such code chopping in TypeScript: some code line may be surrounded by lines that are up to 10 times longer or shorter. It typically looks like
export function notSoLongFunctionName<
T extends VeryLongGenericConstraintTypeName<AlsoLongGenericConstraintParameterTypeName>,
P
> (
parameterName: LongParameterType<T, P>,
param2: number,
parameter3: VeryLongParameterTypeName<T, P, SomeLongTypeName>
): AlwaysTheMostLongThingInTheFunctionTypeDeclarationIsItsReturnType<T> extends number
? BecauseOfExtendsChecksAndSomeOtherThings
: never {
  const stateMap = new Map<string, VeryLongMapElementType<T, P>>()

  // other runtime code
}

It's ugly. I guess #42388 is created to partially solve this problem by determining how function generic parameters should be chopped, but we still have also function parameters and return type. This problem also persists in the runtime code too. The nice example is a creation of some Map where we pass its key and value type parameters in the same line with the variable declaration as in the code above.
No need to compile
The need to compile is not a big problem as the previous one. But anyway it may help you to start a new node.js project quicker if you don't need to setup any build tools. Just commit your code, pull it on production and it's ready to run.
checkJs problems
Of course, checkJs isn't without its problems either. The main one is that there're some features that are supported by .ts files, but not by checkJs. We can't pass generic parameters into a function, can't use as const etc. We figured out how to live with it, so I just ask you to not add any more features in the future that increase difference between typed JS and TypeScript as a language.
d.ts generation for .js files

polish in the existing .d.ts file generation from .js files

I tried this feature. The first drawback is that imports of types from other files are not preserved. Instead it produces type declaration duplicates. It may be fixed with #22160 if it will be implemented ever. The second thing is a lack of preserving empty lines between generated declarations.
Development priority
I think our new ability to work with string literals is very helpful, but we are still deadly limited in library development because of impossibility to determine that we expect not abstract number, string, object or array, but literals. Many libraries use models based on literals which are passed as parameters and then handled on both type and runtime levels. But nothing prevents you from passing just string or Record<string, any> there and breaking all type checks by it. So I believe that solving this problem is much more important than all together OOP typing problems that are currently being worked on. Issue: #41114

Where is a solution for using it in JSDoc https://github.com/ThomasAribart/json-schema-to-ts? It requires as const for JSON schemas to interpret string (boolean) literals as constants but not widened as strings.
I’d like to see it similar to:
/** @type {(typeof someStruct) as const} MyStruct */

Will someone please explain to me why coding on a 4k  screen (which is now becoming the standard ) is a better user experience by adding more lines instead of using more of the screen?
Why not just code on 640k pc with 80 characters per screen?
The value of screen real-estate should be to afford the user to see more code at once but coding conventions still implicitly argue that the console and editing in "teco"  are still the most  legitimate means to write code
The more lines approach is like the PTO insisting that all drawings be in black and white or that all court-submitted legal briefs look like they were written in the 1940's.
No one prints out code. And  Monkeys have better memories than we do for detailed information.
I don't play chess from memory I look at the chessboard. Even the best chess players in the world do not play in serious competitions without looking at the board.
I wonder how they would do if they had to scroll up and down all the time to figure out their board positions?
The largest part of the human brain is dedicated to visual processing, not for remembering numbers or words.
The vertical nature of VS Code and other tools merely causes unforced memory errors.
I have been using typescript for one full year... I have been using Javascript and other languages a great deal longer.
In the entire time I have used Typescript it has caught perhaps 5 tricky bugs that would have taken me more than 30 minutes to figure out without it.  It has also wasted 30% of my coding time with engineering theatre.
The reason why typescript is not that useful to me is that I use my entire screen to display lines of code  (rather 10 or 20 to show one function and its parameters).
Typescript is a necessary evil for production apps... but there can be no doubt that it makes code brittle and coding a lot more unpleasant (for the very experienced javascript coders).  I use typescript in the same way as I floss... begrudgingly and with some discomfort.
If the goal is to make Typescript ubiquitous then by all means no horizontal full expressions.
On the other hand if the goal is to make code less buggy ...

I have some thoughts to say.

Smoothing the transition to TypeScript

transitioning to TypeScript

I believe that the better idea is to migrate from TypeScript to checkJs and that's why:
Code readability and aesthetics
TypeScript is a very "Horizontal" language, which means that it makes us write very (VERY) long lines of code because the types and the runtime code are declared on the same line here. The better practice is to write more code lines, but make this lines shorter. If I can write 2 lines of code with the length of 2/3 of original line, I would prefer this. And checkJs gives us this opportunity by separating the types and the runtime code. Feel the difference:
type Option<T> = T | undefined

export const map = <P, R>(func: (arg: P) => R) => (data: Option<P>): Option<R> => data !== undefined ? func(data) : undefined

I watch line length like a hawk, and I actually find this harder to deal with when expressing types in JSDoc than in .ts(x) files. As an exercise, I’m going to reformat these types in a way similar to how I would in my editor. The narrowness/tallness will likely be exaggerated because I’m on mobile and I’m going to attempt to get it to fit on this narrow screen. But that might help illustrate how much flexibility .ts syntax has. AFAIK you can’t do this in JSDoc because types must be single-line (at least that’s what I reckon from editing in VSCode).
type Option<T> =
  | T
  | undefined

export const map = <P, R>(
  func: (arg: P) => R
) => (
  (data: Option<P>): Option<R> => (
    data !== undefined
      ? func(data)
      : undefined
  )
)

That was actually even better than I was expecting. I added parentheses around multi-line expressions to aid readability. And I didn’t need to break the ternary expression out to multiple lines to fit but I also find that improves readability.
For a bit of extra credit this also allows me to fit an explicit return type on the export and let the compiler check the returned implementation:
type Option<T> =
  | T
  | undefined

export const map = <P, R>(
  func: (arg: P) => R
): (data: Option<P>): Option<R> => (
  (data) => (
    data !== undefined
      ? func(data)
      : undefined
  )
)

I realize i am going against the grain here but the average coder now has a minimum 1920 x 1080 screen and  more often than not a 4k screen.
rather than make a case I will simply copy a gif that makes it for me.

I have two related questions for the TS team:

Expression-oriented constructs

This sounds intriguing but intriguingly vague! Can you elaborate (or reference standards proposals/issues tracking these)?
I recently did a “what’s happening in ESNext?” pass reading through many of the current/outstanding proposals and I was quite pleased to see a lot of them are oriented around providing richer support for functional programming patterns and more expressive expressions. Is this partly influenced by your team? (If so, thank you!)

I realize i am going against the grain here but the average coder now has a minimum 1920 x 1080 screen and more often than not a 4k screen.

I am a weirdo whose primary dev setup includes a 43” screen with scaling set to 4k@1x. Since I bought this display I have consistently referred to it as “comically large”, and I sincerely feel like it’s as much a monument to excess as a niche preference. All of which is setup to say: I still keep windows about the same width as they would be on my 16” MBP display, and my VSCode window showing two editor columns. Anything wider impairs my readability, as well as my ability to collaborate with other devs who actually use their laptops as portables.
This comically large screen also affords a pretty ridiculous amount of vertical screen real estate. But even for folks with more modest desktop setups, vertical scrolling is much more easily available for most people than horizontal.
Most advocates for accessible typography recommend columns of text 60-80 characters wide. I realize the tech crowd has preferences that skew from the general population, but please try to consider that horizontal sprawl and vertical density is a challenge for most people, and especially people with limited vision or cognitive impairments. Speaking (only) for myself on both: before my exercise reformatting code above I could barely make out any boundaries between types and implementation, and my ADHD kicked in and just decided it was an amorphous blob that can’t be reasoned with. Completely apart from scrolling. It was just too much information jammed together.
I think for your use case and preferences, as well as my own, it’s best to advance the capabilities of formatting/linting tools to allow each dev to read and edit in a style most comfortable to them, and to default to more commonly accessible formatting for the canonical case.

not sure your comment addresses the core issue that i was making.  Playing chess with all the pieces in view has been tested for at least 500 years as the method with the best chance of winning
the way most format  code right now is at best pre-gutenberg-esque in its wisdom

not sure your comment addresses the core issue that i was making. Playing chess with all the pieces in view has been tested for at least 500 years as the method with the best chance of winning
the way most format code right now is at best pre-gutenberg-esque in its wisdom

I tried to address your point. I spoke to the ways people experience having pieces in view (accessible line width and how impairments affect that), as well as tooling to accommodate your needs as well as my own to ensure we both can have pieces in view.
I’m asking and inviting you to consider that other people want what you’re describing but have different needs and preferences.

My friend, you are in the majority, and it truly flummoxes me.
And you are also the second person I have ever met who has ADHD and codes. Guess who the other one is? :)
If you tell me that you play chess the way VSCode would format it then I will say horses for courses and leave it.
If I had the memory of a chimp (which is better than ours for short-term items) then I would agree with you.
Alas, I need to see the code I work on and my eyes are horizontally aligned.
Now if I had an eye on my forehead and another one on my chin?
BTW This whole issue reminds me of the discussion about football vs soccer.  Out of a roster of 44 players, only 2 actually use their feet with the ball and they do it for less than 10 seconds per game total.
Yet other than headers and off the chest, the only means of interacting with the ball in Soccer is by foot.
Go figure
:)

@velociwabbit I don’t feel like this is a healthy interaction for me and I’d prefer to leave it now. Thank you.

Is this item in the roadmap about the #35822? Or it is something different? (the #35822 is about .d.ts generation from .ts files)
We largely expect investment in the following areas:

polish in the existing .d.ts file generation from .js files

Regarding 'Error and type display UX'...
I think a simple thing that would vastly improve this experience is touched on in another thread that I commented in:
https://github.com/microsoft/TypeScript/issues/31940#issuecomment-583738002
Namely, to simply display the highest order type alias with its generic arguments instead of attempting to display the entire type hierarchy in all its permutations.
Perhaps consider a contrived example:
In simple cases it's fine for the IDE/error to display that a type as { name: string, email: string, age: number} but in terms of communicating intent to developers, it's far more useful to know that it's meant to be a Person. The fully resolved version quickly turns into unintelligible chaos as soon as any small amount of type logic is applied to it.
To me, as a developer, it's far more useful to know that a function's arguments are meant to be a Person and be agnostic about what kinds of property being a Person entails until I really need to know about it. At which point I can jump to the type def and documentation.
Whenever type logic gets complicated enough, as a developer I'm contextually interested in the most high-order abstraction. E.g. I might need to know that this is Maybe<...> or Promise<...> or Readonly<...> because those are the constructs I have to deal with right now, at my cursor. In this case, the more terse the generic arguments the better, so that it doesn't obscure the context.
In your summary you mentioned 'interactive diagnostics`... in such a system, one might 'drill down' on types and resolve them incrementally in the IDE. The first step for such an approach could be to implement this. It could be a compiler option that instructs the language server to short-circuit type resolution from aliases in prompts and errors.

Running under multiple runtimes with conflicting global declarations

That's very useful when writing libraries targeting multiple different host environment.
For example, for DOM and Worker. It will be better to be able to use shared API in both environments and allows environment specific code by feature detection.
// Let's say this project has Dom and worker as it's environment
if (typeof importScripts === 'function') {
    // Only lib worker applies
} else {
    // Only lib dom applies
}


app.json Target property

With the relaxed rules that are coming with allow source code modifications (to ease ISVs into AL) can we get a third Target added to the app.json to control this.
Extension: forces you down the cloud route on extensions only - perfect
Internal: allows all of the on prem interaction we need also good - i assume this will then allow us to modify standard objects (i.e. table 36...) -  can this be made (or left as it is today - so that you CANNOT edit any standard objects)
ISV: add a 3rd option "ISV" which allows you to do everything as the internal plus modify standard objects.
This way we can still force our dev teams to produce extensions for on premise soltuions and not have the same issues we have with upgrades we have today of having to compare and merge all of the modified standard objects.
ty

Hi @RickTweede,
AL does not allow you to do code modification, ie. in one extension change the code inside a procedure that is defined in another extension.
With the move to AL you will have the base application not in C/AL but in AL for and that code you can change like you are used.
If this issue is a suggestion to provide Code modifications on other extensions, then please go to https://aka.ms/bcideas

so which is is as you've said you can't and you can make mods.. "AL does not allow you to do code modification" can't and  " base application not in C/AL but in AL for and that code you can change like you are used" can.
This is not a "Can i make mods today...." it's a "can we add something to stop/enforce people from making mods in AL to the standard objects once the base is in AL"

For On-premise installation you will have access to all the source code of the base application written in AL as an extension. You can then open these source code files, make your changes to the files and publish your version of the base application instead of the one we provided.
What is not possible is to have the base application as one extension and make separate extensions that does code modifications.

I think you are missing the point of the requested future functionality - i don't need to know what is possible / not possible - i was suggesting that something get introduced as to force people using on prem installs to ONLY be allowed to build extensions (as per internal property today) and NOT modify any of the standard objects. If this restriction is not there developers are just going to modify the standard objects as well/instead of building extensions and upgrades have the sames issues as they have for the past 20 years.

Great idea! Go ahead and post this to our Ideas forum at https://aka.ms/BusinessCentralideas, or vote up the idea if its already there. We're constantly monitoring top Ideas and will consider them for a future release.


Adding a Loader Animation to website

Prerequisites

[X] I am an Open Source Contributor
[X] I checked to make sure that this issue has not already been filed

Description
Using a loading animation can make the website look nicer and improve how people enjoy using it.
Can do it using simple javascript and GASP
Screenshots
No response
Code of Conduct

[X] I follow Contributing Guidelines of this project.

Are you talking about adding any coponent or implement Preloader in the main website? @Vikranthraosb

Are you talking about adding any coponent or implement Preloader in the main website? @Vikranthraosb

Adding a Preloader in the website.

Okay go ahead and implement the eye catching preloader @Vikranthraosb

Thanx bro

Hey, I also want to contribute to this issue using GSAP under JWOC.

can i contribute in this

@Paarisha1 Share your ideas with proper screenshots on the working of this issue

Sir I have already added this preloader to website

Okay go ahead @Paarisha1

Are you working under SWOC @Paarisha1

Yes sir


Add support for locating UWP versions of the CRT

I was told the compiler uses this crate to locate the CRT on Windows (MSVC) which is linked at the end of the build.
For UWP support it is needed to link a different version of the CRT, so I'd like to add this functionality.
I'd appreciate some guidance on where to start, since I'm not familiar with this codebase.

This definitely seems appropriate for this crate! I think support would go around this file, and the specifics depend on how this is actually found on Windows systems

I'm going to close this since unfortunately I don't have a ton of time to maintain more APIs in this crate, but having this in an external crate would likely work great!


Behavior of deref when dealing with various error conditions

I have found deref to have some odd behavior in some edge cases around errors.  We should address these to have proper behavior.
Conditions

If some or all the suffixes happen to error but the value type at the end of the bound path is a non-error value type.
The value-type at the end of the bound path is an error value type.

This is already a defined behavior but I wanted to elaborate all the possible error conditions

There is no value type at the end of the bound path, a branch node. (due to an error from dataSource.)

Behaviors (only 2 is defined, the rest act odd depending on the conditions).

The model should be onNextd a model with the correct bound path and onCompleted since the deref operation is technically correct.

The behavior depends if all or some of the suffixes fail.  If only some fail, then the model is onNextd.  I forget what happens on all suffixes error (i think the deref op just onCompleted).

We have this currently defined behavior
This behavior seems the most confusing to me.  I think we should error, but what do we error.  InvalidModelError?  Now that i think about this.  This should just onCompleted (probably).  The problem is when I have an empty cache and I request for foo.bar.  foo should be a reference value type and deref-able.  Instead, since the server 500s, foo is a branch node (since errors are inserted at every path).  Therefore, in that situation onCompleted seems weird to me.

@jhusain @trxcllnt Thoughts?

This is all addressed in the new version of deref which only allows for specially typed deref from JSON output.  So the unknown condition of deref and its potential errors almost all go away.  The only error condition that stays is short circuit case where a once deref'd item has been replaced in the cache with a type-value.  If that happens a InvalidModelError is onError'ed.


tests(ticdc):  add multi rocks integration test

What problem does this PR solve?

Issue Number: close #8823
What is changed and how it works?
Check List
Tests

Integration test

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
`None`.

/run-integration-tests

/test cdc-integration-mysql-test

/retest-required

/test cdc-integration-mysql-test

/test cdc-integration-mysql-test

/merge

/merge

/merge


build: release candidate

Description
Fixes

Add types for SVG imports and remove unused code (#318)
Improved type safety by adding SVG import types and cleaning up unused imports.

Streaming JSON types and error reporting tests (#315)
Updated JSON streaming types and enhanced error reporting tests.

Chore

Remove example_lesson.json (#366)
Deleted an unused JSON file to reduce clutter.

Camel case imports in a single file (#309)
Standardized import naming in one file for consistency.

Change text to sentence case (AI-237) (#355)
Updated UI text to follow sentence case formatting.

Refactor

Adjust dialogs to use Oak components (#335)
Replaced custom dialog components with standardized Oak components.

Tests

Add stories for Aila routes (#371)
Created new test stories for Aila-related routes.

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


Specifying a time range for results in google custom search api

I would appreciate if you could take a look at  this post  ans give an answer

It looks like you got an answer on StackOverflow :) Please do let us know if this is still an issue!


proper parameter indexing in insert plans v2

now planner_test compiles and passes once again.

Coverage increased (+0.04%) to 67.777% when pulling 878cf97bb4c89f353e5607c2c8e91c158c5442d7 on akamaus:master into 642bef950e0fbaedd73e81c09eab624d95446de3 on cmu-db:master.


[SPARK-11731][STREAMING] Enable batching on Driver WriteAheadLog by default

Using batching on the driver for the WriteAheadLog should be an improvement for all environments and use cases. Users will be able to scale to much higher number of receivers with the BatchedWriteAheadLog. Therefore we should turn it on by default, and QA it in the QA period.
I've also added some tests to make sure the default configurations are correct regarding recent additions:

batching on by default
closeFileAfterWrite off by default
parallelRecovery off by default

Test build #45872 has started for PR 9695 at commit dfe29b8.

Test build #45872 has finished for PR 9695 at commit dfe29b8.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):\n  * public class JavaGradientBoostingClassificationExample \n  * public class JavaGradientBoostingRegressionExample \n  * public class JavaRandomForestClassificationExample \n  * public class JavaRandomForestRegressionExample \n

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

Merged build finished. Test FAILed.

Test build #45876 has started for PR 9695 at commit 2cbf59e.

Test build #45876 has finished for PR 9695 at commit 2cbf59e.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please

Test build #45884 has started for PR 9695 at commit 2cbf59e.

Test build #45884 has finished for PR 9695 at commit 2cbf59e.

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/45884/
Test PASSed.

LGTM

+1

LGTM. Merging this to master and 1.6


Working directory relative to current open file

I find it weird that the cargo run and cargo build are run in the directory where the currently open file resides, I'd much prefer if cargo run specifically was run in the project root. My project expects it's data files to be located in the directory it's run in. I'm open to suggestions on how to remedy this issue in my code too. From what I gather this behavior comes from emacs' built-in compile command.

It is indeed what compile.el does. Also for reference see what https://github.com/kwrooijen/cargo.el/ does.
Can you show me an example of non-working code? FWIW, here is what I do in diffr: https://github.com/mookid/diffr/blob/f44f2306fe8744d0b11b037e82f0c7c0a75464f3/src/test_cli.rs#L60  CARGO_MANIFEST_DIR is supposed to be set by cargo run, and your code should depend on that rather than the cwd.

I'll switch to CARGO_MANIFEST_DIR if it's set then, thanks! you can close this if you want


Cleanup messages.po to remove unused strings, add missing strings

(I suggest some automated way of handling this. Not necessarily to generate the messages.po from the HTML/JS, but something like a specific gulp task to print out unused and missing strings)


Mac OS build keep loading forever 0.10.3

Hi,
I have manually built the mac electron version successfully, with no errors. After launching the app, then giving "documents folder" permission, the app keeps loading forever.

I checked ~/Library/Logs/Bitfinex Report folder which stays empty.
Additionally, checking with Little Snitch, the app doesn't make a call at all.

Hi @sbtnc might be the case that you are already running a grenache network on your computer?

Actually I haven't.
Additionally, I ran npm run electron and it failed:

I then tried npm rebuild and npm install which didn't help.
node v13.11.0
npm  6.14.3

Ohh right, there is an issue with node greater than 10.X as to create a build.

@sbtnc can you confirm if last fixes solve the issue, please check that README has new instructions on how to proceed.


test: add e2e consensus test

Description
Add start-e2e-consensus-test which starts up localnet with the develop version of zetacored pushed in #3121.
Opt in on your PR with the CONSENSUS_TESTS label. This will generally require your PR to be up to date with develop.
To acknowledge a breaking change, you must add the CONSENSUS_BREAKING_ACK label to your PR. If your PR is consensus breaking, you should also have an explanation point in your PR title (feat!, fix!, etc).
If CONSENSUS_BREAKING_ACK is not applied to your PR, the consensus tests will be run on the mergequeue automatically. The mergequeue is the best place to run this test as the head branch is guaranteed to be one commit above develop (at least with our current config).
e2e will still point at zetacore0 so any rpc only changes should not result in failure.
Also add block production monitor to zetae2e local which will halt the e2e tests quickly if blocks are not being produced.
Closes https://github.com/zeta-chain/node/issues/3120
How Has This Been Tested?

[x] make start-e2e-consensus-test on arm64 macos

Summary by CodeRabbit

New Features

Introduced a new end-to-end consensus test that can be initiated via a new Makefile target.
Enhanced the GitHub Actions workflow to conditionally execute tests based on pull request labels and merge events.

Improvements

Updated the zetacore1 service in the Docker Compose configuration for improved configurability with dynamic image and platform settings.

Bug Fixes

Minor formatting adjustments made in the Makefile for clarity.

Would make sense to add the description in the PR in docs/development/RELEASES.md

This check only works on develop PRs atm. I'd need to push release docker images and turn on mergequeue for release PRs for it to work there.


Fix "undefined array key" error

When calling get_geo and passing a value that does not exist, we get an "undefined array key" PHP fatal error.
This PR adds graceful handling in the eventuality that we're requesting data that is allowed but was not returned from the CDN.

Merging!


Add flag to filter for a desired metaprotocol while indexing

The title says it all. Such flag would be very useful for people wanting to build metaprotocols on top of ordinals.
I'm guessing this would be fairly easy to do, a simple if statement that checks for the metaprotocol field before updating the index would do the job.

We already store metaprotocol tags in the database. With a bit of Rust code and another database table you could easily look up inscriptions by metaprotocol. At the moment this is probably low priority for us though.


Build error

Subject of the issue
tRPC works in dev but not when building for production
Environment

pnpm latest version OR npm
trpc-nuxt latest version
<EMAIL_ADDRESS>
Steps to reproduce

pnpm i trpc-nuxt --shamefully-hoist OR npm i trpc-nuxt
Setup server like in tutorial
pnpm run build OR npm run build

Expected behaviour
Should build normally
Actual behaviour
nuxt build

Nuxt CLI v3.0.0-rc.3                                                                                11:07:46

 ERROR  Failed to resolve import "C:/path/.nuxt/trpc-client" from "virtual:nuxt:C:\path\.nuxt\imports.mjs". Does the file exist?

 ERROR  Failed to resolve import "C:/path/.nuxt/trpc-client" from "virtual:nuxt:C:\path\.nuxt\imports.mjs". Does the file exist?

 ERROR  Failed to resolve import "C:/path/.nuxt/trpc-client" from "virtual:nuxt:C:\path\.nuxt\imports.mjs". Does the file exist?

 ERROR  Failed to resolve import "C:/path/.nuxt/trpc-client" from "virtual:nuxt:C:\path\.nuxt\imports.mjs". Does the file exist?

 ERROR  [vite]: Rollup failed to resolve import "C:/path/.nuxt/trpc-client" from "virtual:nuxt:C:\path\.nuxt\imports.mjs".
This is most likely unintended because it can break your application at runtime.
If you do want to externalize this module explicitly add it to
`build.rollupOptions.external`

Thank you! Working on it right now.

Fixed https://github.com/wobsoriano/trpc-nuxt/commit/dc86c0252efc6009cc6b74dd13dcfca8b751eb3a. Thnks!

Thank you so much!


copper: 4.4 -> 4.5

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/copper/versions.
meta.description for copper is: "Simple imperative language, statically typed with type inference and genericity"
meta.homepage for copper is: "https://tibleiz.net/copper/"
meta.changelog for copper is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
/nix/store/cyvq1hy6n24yqc95vfdqcpj161j6s3c2-copper-4.5/bin/copper-elf64 passed the binary check.
/nix/store/cyvq1hy6n24yqc95vfdqcpj161j6s3c2-copper-4.5/bin/coc passed the binary check.
/nix/store/cyvq1hy6n24yqc95vfdqcpj161j6s3c2-copper-4.5/bin/collvm passed the binary check.
1 of 3 passed binary check by having a zero exit code.
3 of 3 passed binary check by having the new version present in output.
found 4.5 with grep in /nix/store/cyvq1hy6n24yqc95vfdqcpj161j6s3c2-copper-4.5
found 4.5 in filename of file in /nix/store/cyvq1hy6n24yqc95vfdqcpj161j6s3c2-copper-4.5

Rebuild report (if merged into master) (click to expand)

8 total rebuild path(s)

4 package rebuild(s)

4 x86_64-linux rebuild(s)
4 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
code-browser-gtk
code-browser-qt
copper
docbookrx

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/cyvq1hy6n24yqc95vfdqcpj161j6s3c2-copper-4.5 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A copper https://github.com/r-ryantm/nixpkgs/archive/52ae9b6f63589a586e4a169ea3f697a1c9d5233b.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/cyvq1hy6n24yqc95vfdqcpj161j6s3c2-copper-4.5
ls -la /nix/store/cyvq1hy6n24yqc95vfdqcpj161j6s3c2-copper-4.5/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages failed to build:

code-browser-gtk
code-browser-qt

1 package built:

copper

Maintainer pings

Might break code-browser?
2 packages failed to build:
code-browser-gtk code-browser-qt

1 package built:
copper

cc @jacereda

I've contacted the author, looks like the latest available code-browser version (8.0) doesn't build with copper 4.4 / 4.5.

https://github.com/NixOS/nixpkgs/pull/150424

I guess this can be closed now.

Better to leave this open until the other one is merged and automatically closes this. Otherwise r-ryantm will regenerate it.


Support change notifier in ReactiveServiceMixin

Disclaimer: this is my first ever contribution to open source. Please leave a comment if I did something wrong ;)
Description:
This PR adds support for ChangeNotifier in ReactiveServiceMixin, i.e our service can just extend the ChangeNotifier and does not have to use observable_ish values.
Then, instead of having to pass in different RxValues we can just do this:
listenToReactiveValues([this])
inside our ReactiveService class (that has to extend ChangeNotifier though)

I like it. The ReactiveServiceMixin already has a notifyListeners function call that we're using. We've moved away from Observable Ish. I'll merge this in and probably push a new release later


footer - mobile

Depends on issue #3
Has accordion treatment, see https://github.com/hlxsites/dsg/blob/main/blocks/footer/footer.js#L37 for inspiration.
https://www.freseniusmedicalcare.com/

Covered in PR: https://github.com/hlxsites/fresenius/pull/49


Sign Transaction

For each of the inputs used in the transaction (#24), call the sign method using the same private key from wallet unlock for each:
rawTransaction.sign(0, privateKey)
rawTransaction.sign(0, privateKey)
...

Verified by b8aaf345db3ae095e9a88dde98e72b962f9575ae


Planning for CRAN 2.4-0 release

Given #423, I would like to make a new CRAN release before 8th of June.
Time plan:
May 10-19:

[x] Add fixes to issue #423 to PR #422
[x] Wait for feedback on PR #422 from @jhmigueles and/or @m-patterson. I hope at least one of you has time to do this before 21st of May?
[x] Merge PR #422 in Master branch
[x] Check out new PR #426 by Jairo and if all is good, merge that first.
[x] Create GitHub-only release version 2.3-3
[x] E-mail GGIR list to ask users to try out the version 2.3-3 and report urgent issues.

May 20-29:

[x] Check GGIR for new R 4.1 release.
[ ] Consider creating a 2.3-4 release if there are any significant changes before the 2.4-0 release.
[x] Fix urgent issues, if any.

May 30 - June 3:

[x] Prepare and submit 2.4-0 release to CRAN

Hi Vincent,
I’ve been working on a tiny bug related to g.report.part2 this morning (see https://github.com/wadpac/GGIR/issues/425 and the branch https://github.com/wadpac/GGIR/tree/issue425_reportpart2stops). I’m not sure if I should do the pull request now or wait until you merge your branch on the fragmentation metrics with the master. I think we can include this one in the new release as well, what do you think?

Hi Jairo, Feel free to make a separate pull request, we can merge them, no problem.
Yes, it would be good to include in this in the new release. Thanks

I have now submitted 2.4-0 to CRAN, once it has been accepted by CRAN later this week I will also create 2.4-0 release here on GitHub.


Change tone (creative, balanced and precise)

We should have the ability to be able to specify which tone/mode is used for conversation.
This mode can be changed using a cookie called 'cdxtone'.

This feature has been added in #10.


feat: add demo site

This PR adds a demo/docs site 😄
I based in on one of egoist's project.
Let me know if you have any thoughts/suggestions.
You can preview it here:
https://jovial-panini-a7dd0b.netlify.com/
Maybe could use some more words 😛
Closes #92

IssueHunt Summary

Referenced issues
This pull request has been submitted to:

#92: vue-timeago demo

IssueHunt has been backed by the following sponsors. Become a sponsor

Thanks but I'm already working on the website which will be built with https://github.com/egoist/demoboard 😄

Oh :(
Would be good to leave a note on the issue in future. All good.


too many arguments?

Hi, I try to run:
python "/media/WORKSPACE/cen/nanopolish/scripts/nanopolish_makerange.py" 15amplicon_formated.fasta | parallel --results nanopolish.results -P 8  nanopolish variants -- consensus polished.{1}.fa -w {1} -r barcode15_nanopolish.fa" -b barcode15.sorted.bam" -g 15amplicon_formated.fasta -t 4 --min-candidate-frequency 0.1
but got this message:
variants: too many arguments
variants: a --reads file must be provided
variants: a --genome file must be provided
variants: --ploidy parameter must be provided
variants: a --bam file must be provided
Can you tell me what is wrong here?
Thanks

There is an errant space in -- consensus, it should be --consensus. The second set of quotes may be problematic as well.


Describe how to connect an Oracle Cloud database.

I got this error:
cx_Oracle.DatabaseError: ORA-29003: SSL transport detected mismatched server certificate.

The solution is this sqlnet.ora in the wallet directory:
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/opt/oracle/wallet/Paulissoft/PATO")))
SSL_SERVER_DN_MATCH=no

Both are important. The sqlnet.ora from the Wallet zip must be changed into places:

DIRECTORY="?/network/admin" => DIRECTORY="/opt/oracle/wallet/Paulissoft/PATO"
SSL_SERVER_DN_MATCH=yes => SSL_SERVER_DN_MATCH=no

Then you can set TNS_ADMIN to the wallet directory. But what if you want to combine wallets?

If you combine TNS names in one tnsnames.ora for instance in directory /opt/oracle/network/admin you must do a few things:

Add a line like this to sqlnet.ora: SSL_SERVER_DN_MATCH=no
add the location of the wallet directory (i.e. where you unzipped the wallet) like this to the security section: (my_wallet_directory=/opt/oracle/wallet/Paulissoft/PATO)

Here an example with the original TNS from the wallet directory and an alias pato:
pato, rwldvcd6gncilewb_tp = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.eu-frankfurt-1.oraclecloud.com))(connect_data=(service_name=mzk7wchfin1der1_rwldvcd6gncilewb_tp.adb.oraclecloud.com))(security=(my_wallet_directory=/opt/oracle/wallet/Paulissoft/PATO)(ssl_server_dn_match=yes)))


[10.x] Add tags in flush method in container

When flush the binding, the tags are still and not flushed!
Benchmark:
0.054ms => Flush without tags

0.041ms => Flush with tags

This could be a breaking change?

@taylorotwell  @driesvints
If break changes, we can add param for flush method to flush tags


preliminary debian packaging

Since pytest-pythonpath is required by other software, and since there is an effort to try to get that software into Debian GNU/Linux it would be useful to have the files required to be a debian project synced with this repository. This as a side effect would also help get pytest-pythonpath (and software depended upon it) into Ubuntu, Mint, Tails, Devuan, and dozens of other distributions both current and future if successful.
I have made a fork and added what seems to be the minimum necessary changes to actually be a Debian package, though since I am not actually a DM/DD/maintainer the name will eventually have to be changed by whoever with the actual credentials required to be a maintainer the Debian project chooses to be the maintainer, but it's a first attempt anyway.

Thank you for this, @themusicgod1!  I have to admit that I have next-to-zero knowledge on debian packaging.  I'm happy to merge this, but I have a couple questions:

How does this package end up in debian / ubuntu / mint after merging this?  Is there an automated process somewhere that scrapes pytest packages and automatically add them (assuming the files in this PR exist in the code base)?

What is my role going forward after merging this?  Will this code need to be updated?  Will someone else on another project need write access to this repository?

Thanks 👍

How does this package end up in debian / ubuntu / mint after merging this?

As I'm not a DD/debian developer myself I only sorta know the process.  I do, however, have a DD  on my pay so ...

? Is there an automated process somewhere that scrapes pytest packages and automatically add them (assuming the files in this PR exist in the code base)?

Not afaik but if there was it wouldn't surprise me much.

Will this code need to be updated?

Yes.  For starters once they get a real DM/DD/assistant/person who will do the actual uploading to debian.  How much of that can be done at your level vs. debian though, I'm not sure.  At the very least if you make a major update/release, it would be nice if this were represented in that change (a change in changelog, any new prerequisites added) - we can hammer the process out a little more when you make a release I think - there should be a human being on the debian side(this could even be me should debian be ok with that????) who ideally would be notified(typically on debian side) that you've made an update.  That'd be a first step, anyway.

Will someone else on another project need write access to this repository?

Not likely, unless it becomes a big hassle I wouldn't worry about that.  You jumped on this PR pretty fast so it should be ok.  Just wait for the bug requests/patches/etc to come from debian-land(as a point of entry to those other distros)

Ok, merged.  Let me know what else I can do to help move the ball forward 👍


Docker Engine 25 stops k3s 1.29.0 from starting containers

Environmental Info:
K3s Version: k3s version v1.29.0+k3s1 (3190a5fa)
go version go1.21.5

Node(s) CPU architecture, OS, and Version: Linux nuc-5 5.14.0-362.13.1.el9_3.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 21 07:12:43 EST 2023 x86_64 x86_64 x86_64 GNU/Linux

Cluster Configuration: Five masters, one agent

Describe the bug:

│ Events:                                                                                │
│   Type     Reason         Age                    From               Message                                                                                │
│   ----     ------         ----                   ----               -------                                                                                │
│   Normal   Scheduled      4m33s                  default-scheduler  Successfully assigned democratic-csi/democratic-csi-iscsi-node-mnxjp to nuc-5                  │
│   Warning  Failed         4m22s (x3 over 4m34s)  kubelet            Error: ImageInspectError                                                                       │
│   Warning  InspectFailed  4m22s (x3 over 4m34s)  kubelet            Failed to inspect image "docker.io/democraticcsi/csi-grpc-proxy:v0.5.3": Id or size of image " │
│ docker.io/democraticcsi/csi-grpc-proxy:v0.5.3" is not set

Steps To Reproduce:

Install Docker Engine 25
Start k3s with -docker option

Expected behavior:

It runs containers/pods in docker
Actual behavior:

See Describe the bug
Additional context / logs:

docker container ls

CONTAINER ID   IMAGE                        COMMAND    CREATED          STATUS          PORTS     NAMES
5a180800a60a   rancher/mirrored-pause:3.6   "/pause"   9 minutes ago    Up 9 minutes              k8s_POD_democratic-csi-iscsi-node-mnxjp_democratic-csi_219caa53-da34-4879-91d2-2a05e74b8ccb_0
0da3cec937aa   rancher/mirrored-pause:3.6   "/pause"   13 minutes ago   Up 13 minutes             k8s_POD_kube-prometheus-stack-prometheus-node-exporter-mpskv_monitoring_03fe0043-a1e5-4aa9-8cd9-5f0d0feda27b_0
2b8fc06a8ee4   rancher/mirrored-pause:3.6   "/pause"   13 minutes ago   Up 13 minutes             k8s_POD_metallb-speaker-vdckb_metallb-system_25bcebbb-356a-425b-bb93-c6c03aa8bbe7_0
da768fa238b4   rancher/mirrored-pause:3.6   "/pause"   13 minutes ago   Up 13 minutes             k8s_POD_longhorn-manager-xfcc2_longhorn-system_25b3e6b6-f5be-484c-8856-109a49ca7aef_0
2ab78e197f49   rancher/mirrored-pause:3.6   "/pause"   14 minutes ago   Up 14 minutes             k8s_POD_longhorn-csi-plugin-v827z_longhorn-system_2e601aa7-1507-469f-9ef6-bc248ea73571_0
a34bf8e57f75   rancher/mirrored-pause:3.6   "/pause"   14 minutes ago   Up 14 minutes             k8s_POD_engine-image-ei-68f17757-lthq7_longhorn-system_d7e91aec-92be-4343-a600-1c1df275b649_0
8a427c12356b   rancher/mirrored-pause:3.6   "/pause"   14 minutes ago   Up 14 minutes             k8s_POD_promtail-j9nv5_loki_3071d3f5-831c-40c6-afa1-0d3acca5e797_0
2bb2dc7457c7   rancher/mirrored-pause:3.6   "/pause"   14 minutes ago   Up 14 minutes             k8s_POD_loki-canary-6rxpp_loki_05a04f2a-a6bd-46a7-b47b-a2d4a559de4b_0
28676d436753   rancher/mirrored-pause:3.6   "/pause"   14 minutes ago   Up 14 minutes             k8s_POD_kube-vip-mlbks_kube-system_212db1e0-f1e4-416d-b41e-5968c5276353_0
7de9c2a8a10d   rancher/mirrored-pause:3.6   "/pause"   14 minutes ago   Up 14 minutes             k8s_POD_intel-gpu-plugin-dkhnb_intel_3382d46d-52ad-41a0-98aa-c6952290d5b6_0
68a3d623c068   rancher/mirrored-pause:3.6   "/pause"   14 minutes ago   Up 14 minutes             k8s_POD_democratic-csi-nfs-node-5jg6x_democratic-csi_e6084a3f-8eec-44b2-a4f3-e611d8889265_0
2e66b084befd   rancher/mirrored-pause:3.6   "/pause"   15 minutes ago   Up 15 minutes             k8s_POD_nfd-node-feature-discovery-worker-q2h26_nfd_187cf567-a7b1-4442-90c6-fb2332c45515_0

Failed to inspect image "docker.io/democraticcsi/csi-grpc-proxy:v0.5.3": Id or size of image "docker.io/democraticcsi/csi-grpc-proxy:v0.5.3" is not set

This error appears to be coming from docker by way of cri-dockerd. What do the docker logs say?

Your suspicion appears incorrect:
[root@nuc-5 ~]# docker pull docker.io/democraticcsi/csi-grpc-proxy:v0.5.3
v0.5.3: Pulling from democraticcsi/csi-grpc-proxy
Digest: sha256:4d65ca1cf17d941a8df668b8fe2f1c0cfa512c8b0dbef3ff89a4cd405e076923
Status: Image is up to date for democraticcsi/csi-grpc-proxy:v0.5.3
docker.io/democraticcsi/csi-grpc-proxy:v0.5.3
[root@nuc-5 ~]#

systemd unit logs only have various instances of TaskDelete:
...
Jan 19 16:48:36 nuc-5 dockerd[34990]: time="2024-01-19T16:48:36.434545903-05:00" level=info msg="ignoring event" container=496ae1a11c21f4c61ab71e83f5df9e9ba46fb5661e56bdd1c87bc06aa6735a39 module=libcontainerd namespace=moby topic=/tasks/delete type="*events.TaskDelete"
...

Can you do crictl --runtime-endpoint=/run/k3s/cri-dockerd/cri-dockerd.sock inspecti docker.io/democraticcsi/csi-grpc-proxy:v0.5.3

Now we've got the error:
[root@nuc-5 ~]# crictl --runtime-endpoint=unix:///run/k3s/cri-dockerd/cri-dockerd.sock inspecti docker.io/democraticcsi/csi-grpc-proxy:v0.5.3
E0119 19:13:23.827155  120138 remote_image.go:157] "ImageStatus failed" err="Id or size of image \"docker.io/democraticcsi/csi-grpc-proxy:v0.5.3\" is not set" image="docker.io/democraticcsi/csi-grpc-proxy:v0.5.3"
FATA[0000] image status for "docker.io/democraticcsi/csi-grpc-proxy:v0.5.3" request: Id or size of image "docker.io/democraticcsi/csi-grpc-proxy:v0.5.3" is not set
[root@nuc-5 ~]#

Note the path of the run socket, however.  I am not cri-dockerd's provider.  k3s is.

I am not cri-dockerd's provider. k3s is.

I'm not sure what your point is. yes, we bundle cri-dockerd. However, docker has apparently made some changes to their API that render it incompatible with the version of cri-dockerd that we bundle.
What do you get from:
docker inspect docker.io/democraticcsi/csi-grpc-proxy:v0.5.3

I see:
        "Size": 13263176,
         "Id": "sha256:24295910daf0305d74ee9f4e3101ddd8b5dc0231f5d418ece3851430b58175e9",

I am using:  Server Version: 24.0.7

docker inspect returns a list of hashes.  The first element of the list has both a "Size" and "Id" key:
[root@nuc-5 ~]# docker inspect docker.io/democraticcsi/csi-grpc-proxy:v0.5.3 | jq -r '.[0].Size'
13263176
[root@nuc-5 ~]# docker inspect docker.io/democraticcsi/csi-grpc-proxy:v0.5.3 | jq -r '.[0].Id'
sha256:24295910daf0305d74ee9f4e3101ddd8b5dc0231f5d418ece3851430b58175e9
[root@nuc-5 ~]# docker version
Client: Docker Engine - Community
 Version:           25.0.0
 API version:       1.44
 Go version:        go1.21.6
 Git commit:        e758fe5
 Built:             Thu Jan 18 17:11:25 2024
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          25.0.0
  API version:      1.44 (minimum version 1.24)
  Go version:       go1.21.6
  Git commit:       615dfdf
  Built:            Thu Jan 18 17:09:47 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.27
  GitCommit:        a1496014c916f9e62104b33d1bb5bd03b0858e59
 runc:
  Version:          1.1.11
  GitCommit:        v1.1.11-0-g4bccb38
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
[root@nuc-5 ~]#

Docker 1.44 API changes are here: https://docs.docker.com/engine/api/version-history/#v144-api-changes
This bullet point seems interesting:
The VirtualSize field in the GET /images/{name}/json, GET /images/json, and GET /system/df responses is now omitted. Use the Size field instead, which contains the same information.

And would you look at that:
(⎈|default:N/A)jstewart@crimfw13:~$ git clone https://github.com/Mirantis/cri-dockerd.git
Cloning into 'cri-dockerd'...
remote: Enumerating objects: 21687, done.
remote: Counting objects: 100% (2740/2740), done.
remote: Compressing objects: 100% (1101/1101), done.
remote: Total 21687 (delta 1849), reused 1724 (delta 1628), pack-reused 18947
Receiving objects: 100% (21687/21687), 45.93 MiB | 12.13 MiB/s, done.
Resolving deltas: 100% (11174/11174), done.
(⎈|default:N/A)jstewart@crimfw13:~$ cd cri-dockerd/
✔ ~/cri-dockerd [master|✔]
19:32 $ egrep -ir virtualsize ./
./libdocker/fake_client.go:             VirtualSize: fakeImageSize,
./libdocker/fake_client.go:             VirtualSize: fakeImageSize,
./libdocker/fake_client.go:             VirtualSize: fakeImageSize,
./core/convert.go:      size := uint64(image.VirtualSize)
./core/convert.go:      size := uint64(image.VirtualSize)
./vendor/github.com/docker/docker/api/types/image_summary.go:   VirtualSize int64 `json:"VirtualSize,omitempty"`
./vendor/github.com/docker/docker/api/types/types.go:   // VirtualSize is the total size of the image including all layers it is
./vendor/github.com/docker/docker/api/types/types.go:   VirtualSize int64 `json:"VirtualSize,omitempty"`
./vendor/github.com/docker/docker/api/swagger.yaml:      VirtualSize:
./vendor/github.com/docker/docker/api/swagger.yaml:      VirtualSize:
./vendor/github.com/docker/docker/api/swagger.yaml:                  VirtualSize: 1092588
./vendor/github.com/Microsoft/hcsshim/internal/winapi/system.go:        PeakVirtualSize              uintptr        // SIZE_T
./vendor/github.com/Microsoft/hcsshim/internal/winapi/system.go:        VirtualSize                  uintptr        // SIZE_T
./vendor/github.com/google/cadvisor/info/v1/docker.go:  VirtualSize int64    `json:"virtual_size"`
./vendor/github.com/google/cadvisor/info/v2/container.go:       VirtualSize   uint64  `json:"virtual_size"`
./vendor/golang.org/x/sys/windows/types_windows.go:     PeakVirtualSize              uintptr
./vendor/golang.org/x/sys/windows/types_windows.go:     VirtualSize                  uintptr
✔ ~/cri-dockerd [master|✔]
19:32 $

I'm thinking a cri-dockerd issue needs opening.  @brandond do your maintainers want to do it so you can track it, or should I?

Guess it can't hurt if I do it: https://github.com/Mirantis/cri-dockerd/issues/299

You might try adding DOCKER_API_VERSION=1.43 to /etc/sysconfig/k3s, then doing a daemon-reload, and restarting k3s?

Thanks for opening the upstream issue. If they aren't able to get to it quickly, we can look at fixing it in our fork for the february release. Wouldn't be the first time we've had to carry patches to add support for newer versions of things.

@brandond I will try that shortly.  I did notice that cri-dockerd in main branch here is 0.3.4 when main of cri-dockerd is up to 0.3.9:
https://github.com/Mirantis/cri-dockerd/compare/v0.3.4...v0.3.9
https://github.com/Mirantis/cri-dockerd/pull/279
Worth a 0.3.9 bump attempt?

I don't think so. Event their master branch is still on v24 of docker/docker:
https://github.com/Mirantis/cri-dockerd/blob/master/go.mod#L13
which in turn uses v1.43 of the api:
https://github.com/moby/moby/blob/v24.0.7/api/common.go#L6

Fair.
Confirming adding the env var does not change the behavior.

Hey, building a new home server today and ran into this!
Temp workaround for people is to downgrade docker dnf downgrade docker-ce lands me on:
Server: Docker Engine - Community
 Engine:
  Version:          24.0.7
  API version:      1.43 (minimum version 1.12)
  Go version:       go1.20.10
  Git commit:       311b9ff
  Built:            Thu Oct 26 09:08:22 2023
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.27
  GitCommit:        a1496014c916f9e62104b33d1bb5bd03b0858e59
 runc:
  Version:          1.1.11
  GitCommit:        v1.1.11-0-g4bccb38
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Which works 👍

Looks like upstream has already fixed this just by dropping use of the deprecated field without bumping the api version. We should be able to get this in for the february releases.

Yes, downgrade docker or build and run your own copy of cri-dockerd from the master branch.

Yes, downgrade docker to 24.x or build and run your own copy of cri-dockerd from the master branch.

we need upgrade to docker-25.0.2，cause this version fix the CVE-2024-21626。
by the way， k3s internal runc was v1.1.10

we need upgrade to docker-25.0.2，cause this version fix the CVE-2024-21626。

That fix is also available in docker-24.0.9.

As Jan said, stick with 24.0.9.

Validated on RC version v1.29.2-rc1+k3s1
Environment Details

Infrastructure

[ ] Cloud
[ ] Hosted

Node(s) CPU architecture, OS, and Version:

Ubuntu 22.04

Cluster Configuration:

1 server

Config.yaml:

write-kubeconfig-mode: 644
cluster-init: true
token: summerheat
node-name: server1
docker: true

Testing Steps

Install docker

curl -fsSL https://get.docker.com -o get-docker.sh && sudo chmod +x get-docker.sh
sudo ./get-docker.sh

Check docker is running

docker -v
Docker version 25.0.3, build 4debf41

Copy config.yaml

$ sudo mkdir -p /etc/rancher/k3s && sudo cp config.yaml /etc/rancher/k3s

Install k3s
Ensure cluster and pods are up and running

Replication Results:

k3s version used for replication:

k3s version v1.29.1+k3s2 (57482a1c)
go version go1.21.6

NAME           STATUS   ROLES                       AGE     VERSION        INTERNAL-IP    EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION    CONTAINER-RUNTIME
node/server1   Ready    control-plane,etcd,master   5m39s   v1.29.1+k3s2   xxx.xx.xx.16   <none>        Ubuntu 22.04.2 LTS   5.15.0-1031-aws   docker://25.0.3

NAMESPACE     NAME                                      READY   STATUS              RESTARTS   AGE
kube-system   coredns-6799fbcd5-w8msw                   0/1     ImageInspectError   0          6m52s
kube-system   helm-install-traefik-crd-kvrnb            0/1     ImageInspectError   0          6m52s
kube-system   helm-install-traefik-vkjlc                0/1     ImageInspectError   0          6m52s
kube-system   local-path-provisioner-84db5d44d9-sm2x8   0/1     ImageInspectError   0          6m52s
kube-system   metrics-server-67c658944b-lp6gq           0/1     ImageInspectError   0          6m52s

Logs shows similar error

"Failed to get image status" err="Id or size of image \"rancher/mirrored-metrics-server:v0.6.3\" is not set" image="rancher/mirrored-metrics-server:v0.6.3"

Validation Results:

k3s version used for validation:

k3s version v1.29.2-rc1+k3s1 (1c174611)
go version go1.21.7

NAME           STATUS   ROLES                       AGE   VERSION            INTERNAL-IP    EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION    CONTAINER-RUNTIME
node/server1   Ready    control-plane,etcd,master   11m   v1.29.2-rc1+k3s1   xxx.xx.xx.16   <none>        Ubuntu 22.04.2 LTS   5.15.0-1031-aws   docker://25.0.3

NAMESPACE     NAME                                      READY   STATUS      RESTARTS        AGE
kube-system   coredns-6799fbcd5-w8msw                   1/1     Running     0               11m
kube-system   helm-install-traefik-crd-kvrnb            0/1     Completed   0               11m
kube-system   helm-install-traefik-vkjlc                0/1     Completed   1               11m
kube-system   local-path-provisioner-6c86858495-xdr6h   1/1     Running     0               2m59s
kube-system   metrics-server-67c658944b-lp6gq           1/1     Running     1 (2m57s ago)   11m
kube-system   svclb-traefik-37100770-pthhp              2/2     Running     0               2m48s
kube-system   traefik-f4564c4f4-xh7fz                   1/1     Running     0               2m49s

Also validated on upgrades


Bump graphql-java version to include float coercion fix

Update graphql-java to include a float coercion fix https://github.com/graphql-java/graphql-java/pull/2982

Failing because of the same aQute builder problem https://github.com/graphql-java/graphql-java/pull/3002
I'll wait for this to appear on Maven Central and then I'll update this PR