Polished Roadmap

v4.0.0
New Features

[ ] Scoped Packages - Polished has always been offered as a single package that relies on tree-shaking to keep sizes down. However, the library has reached a point where this is becoming untenable.  Starting with v4 polished will be offered as a set of scoped packages. Currently planned are: mixins, color, math, shorthands, and helpers. As described below we will also be offering presets separately. There is a chance as development ramps up that we go more granular with the available packages.
[ ] Truly Support babel-plugin-polished  - This plugin has been around since the early days of polished.js, but we've never taken official ownership of it. We will be pulling it forward in v4, updating it, and incorporating it into our testing and docs. We will also be offering it as a macro.

New Modules

[ ] Adopt HCL Color Space - We will be adding support for the HCL color space within our color methods. This will include specific HCL helpers.
[x] Important Helper - Add a helper for adding important flags to existing modules.
[ ] CSS Logical Properties - Add a mixin for leveraging logical properties with proper fallbacks.

Module Improvements

[ ] ellipsis - add support for multiline ellipsis.
[x] fontFace - add local font file checking to avoid unnecessarily downloading remote font.
[ ] Color Modules - optimize HSL(A) color detection to avoid converting and recovering hsl values.
[ ] timingFunctions - separate timing functions into their own modules.
[ ] Eased Gradients - We will be adding the ability to smooth out generated gradients using easing.
[x] cssVar - allow default values to be passed when a value is not found for a css-variable.
[ ] cssVar - target variables stored in scopes other than :root.

Other Improvements

[ ] New Docs - polished.js has grown into a pretty robust library with a wide array of uses cases. There are a lot of things it can do that people are not aware of. Our aim with the new docs site is to provide a lot more insight on how to leverage polished.js regardless of your CSS-In-JS library.
[ ] Improved errors - We will be doing a complete re-write of our errors to drastically improve the developer experience.
[ ] Test Rewrite - Rewrite testing to use specific expect statements instead of snapshot tests.
[ ] Integration Testing - Adding integration testing with styled-components and emotion.

Bug Fixes

[ ] fluidRange - currently does not work with REMs, we will be investigating why this is breaking and attempt to provide support for REMs/EMs.
[x] triangle - restore the ability to leverage inherit.

Breaking Changes

[ ] Make presets optional - Several of our modules leverage large preset objects to provide commonly used values. The majority of users don't leverage these, yet everyone takes the bundle size hit for them. In v4, we will re-working those modules to take these as optional imports and providing a way for users to provide additional presets. This includes a variety of color modules and the math module.
[x] stripUnit - After much discussion, we will be keeping getValueAndUnit and returning stripUnit to its previous functionality. This makes the functionality the same as the named method, simplifies typing (that we previously had to make very forgiving), and keeps the more commonly used method smaller. **Therefore, the return unit functionality in stripUnit will be deprecated in v4.
[x] readableColor - strict mode will become the default behavior in v4 and will need to be explicitly turned off to use non-contrast-compliant return colors.

Other
We will be revamping the contributor experience. This will include simplifying the build, leveraging GitHub functionality to make it easier to contribute and make feature requests, starting a support Slack, among other things.
Updated as of 3/29/2020

In regards to the third bullet point (and please let me know if I should raise this in another issue instead), would that include integrating it as a macro, as styled-components does?

@wtgtybhertgeghgtwtg It would be a separate ask, but certainly something we'd be open to doing.

Bundle size would be great. We have private color helpers on Material-UI side. People ask us to expose them. I was curious to see if we could drop them for polished: https://github.com/mui-org/material-ui/pull/15540.

@oliviertassinari Reach out on that PR. Would love to work with you to allow you to use polished for this, especially if it is just a matter of working on bundle size.

Regarding point 3: docs redesign
I was wondering whether that's still up for grabs? I'd love to take a spin at designing a new doc for this lib :)

There were a few discussions on bundle size here so I thought I would share.
I recently released color2k which is a color lib I built specifically to have a small bundle size (1.5kB).
The big secret there is to use canvas to parse colors to rgba. This removes the need for larger files like _nameToHex and streamlines conversions to other color types (e.g. always parse to rgba then to any other color format).
There's definitely some tradeoffs with approach, namely parsing speed and an extra node compatibility package but I think these tradeoffs are worth it. Hopes this piques your interest!

P.S. Thanks for polished! color2k wouldn't exist without it.

@ricokahler Smart! Would it support colors outside the the sRGB color space, for instance https://webkit.org/blog/10042/wide-gamut-color-in-css-with-display-p3/?

@oliviertassinari Thanks! I answered your question over here 👆because it's off topic in this thread


Android support

How should this get added to the tutorial?
Implementation at every substep would be really arduous, but we do want to end up with one codebase. I think the issue here is that it would make the tutorial code very long and might require additional explanation at every step.
Might make more sense to have an extra sub step at the end of each main step that applies any additional changes to support Android.
The best test here is to first see how many edits are needed if just updating code from the latest step.

note -- will be much easier after #19


md-sidenav displaces content when align="end"

Bug, feature request, or proposal:
Bug
What is the expected behavior?
Sidenav should open and close without displacing content
What is the current behavior?
If you set the alignment of the sidenav to align="end" and then aggressively open the sidenav, click inside the nav then click outside the nav to close it, it will sometimes displace its content.
What are the steps to reproduce?
https://plnkr.co/edit/p5rn1klp18ujLHGL0g62?p=preview
Very quickly click 'Open sidenav' then click inside the nav that just opened, then click outside the nav to close it. You may have to do this several times/spam it. You will see the 'Open sidenav' button shift to the left when the problem occurs.
What is the use-case or motivation for changing an existing behavior?
We have navs on the right side for our website and when this bug occurs, it offsets all of the website content to the left making it mostly unusable.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Seen in beta 6, Chrome, Firefox and IE 11. Seems to affect IE 11 the worst.
Is there anything else we should know?

I am not able to reproduce this, even turning the animation speed down to 10% using the chrome inspector.

Closing since I am unable to reproduce

@benjamin-wilson I remember being able to repro this when I first saw this issue (like 1/20 times with no apparent consistency). I wonder if it could be related to https://github.com/angular/material2/issues/5743 or https://github.com/angular/material2/issues/4932 which could be a bug in @angular/animations

Doesn't look like I can reproduce this anymore.


Plotting / support complex numbers in plot_by_id

Support the plotting of complex numbers in plot_by_id. Still WIP.
Changes proposed in this pull request:

Add a preparser that splits complex-valued parameters into two real-valued ones

Still pending:

[x] Actually use the preparser in plot_by_id
[x] Update the documentation to show how to plot complex numbers
[x] Change phase_and_mag into mag_and_phase

@QCoDeS/core

@ThorvaldLarsen, you were one of the first people to request this feature. I'd be good to know if you think that this PR does the job, or whether we overlooked something.

@WilliamHPNielsen this looks great to me! Thanks for getting it done.

The notebook should use
load_or_create_experiment and explicitly pass the experiment to the measurement
plot_dataset()

The notebook should use load_or_create_experiment and explicitly pass the experiment to the measurement

Done. plot_dataset() change I would defer to another PR. so that we change plot_by_id for plot_dataset in the whole qcodes at once.


Multiplatform call (Android to iOS) not working.

We have two application in Android and iOS and we want to make call from Android to iOS and iOS to Android. We did the changes in accessToken.php to determine which push credential sid to put in the access token. After doing this change iOS to Android call is working fine but we are not able to make call from Android to iOS.

Hi @shashi180493
It would be great if you could provide us additional information, such as Twilio Call SID where iOS devices are not getting call notifications. Did you check the Push Credential SID used in the access token in the iOS application? Was you iOS application able to receive VoIP notifications before the change?

Hi @bobiechen-twilio
Call SID : CAf64ea29372af061d8155945689813e42.
Yes, i checked Push Credentials SID in the access token.
From iOS to Android it is working but from Android to iOS it is not working, for Android we are using Push Credential of type FCM and for iOS we are using Push Credential of type APN.
We follow steps mentioned in README.md.

Hi @shashi180493
Thanks for the Call SID, although it shows that all the push notifications Twilio sent were for FCM devices. Could it be possible that something went unexpectedly when the iOS application tried to register with the new credential?

@bobiechen-twilio
Registration was successful, it is not returning any error during registration.

I guess we can use the Push Credential SID used in the iOS application. Can you give us one that you are using in the iOS app?

Sure @bobiechen-twilio
Push Credential SID for iOS app : CRebe7722412cc0d463e8a1d36770a218b

Thanks @shashi180493.
From the records it looks like notifications associated with this credential started to fail today, most possibly due to it being updated.

@bobiechen-twilio
I also tried the same by generating new Credentials but not working.

Hi @bobiechen-twilio
We tried again after updating APN & FCM certificate details but still facing same issue, can you please help us to fix this issue.

Sure @shashi180493
Do you have a Call SID where you are seeing the problem after the credentials are updated?

Thanks for the reply @bobiechen-twilio
Here is the Call SID : CAda0f729e709d1e88ef77cd12dc7c6699.

Hi @shashi180493
The records show that

The VoIP pushes started to fail since August 5th
The first attempt to update the Push Credential happened at August 6th

It seems to me that VoIP service certificate was either revoked or had expired between 5th and 6th. Please check the validity of the VoIP Service certificate and update the Push Credential with valid keys.

Hi @bobiechen-twilio
Thanks for the help, I fixed this issue by deleting all the certificates and generated new one.
Now it is working fine.
Closing this issue as it is fixed now.
Thank you @bobiechen-twilio

I am having the same issue, iOS to Android audio and video call is working fine.
Facing issue in when calling from android and receiving on iOS,
but Video call is working fine in both the scenario. Having issue when receiving call on iOS device.
Have updated key and cert on Twilio and my server.
Android to android—audio/ video working fine.
iOS to android—audio/ video working fine.
iOS to iOS video is working fine.
iOS to iOS audio is failing on receiver side.
Android to iOS audio is having same issue in case of audio call,


Refactor basic, bearer, digest auth logic into separate class

WIP
I moved the auth method logic into separate file. The auth method is split into two methods basic and bearer. Also I moved _digest and the part of the code in onRequestResponse related to these 3 methods.
The reasons to move exactly these functions is as follows: all private flags _hasAuth,  _sentAuth and private variables _bearer, _user, _pass are local for the Auth class. That way request now knows only about only 3 distinct methods _auth.basic, _auth.bearer and _auth.response versus 6 variables _hasAuth, _sentAuth, _bearer, _user, _pass and _digest
The Auth class keeps a pointer to the request instance, but only use it to modify the headers, as well as reading some values (as I said private variables related to the Auth class are not set in request)
Other than that the code is mostly copy/pasted without changes, it certainly can be improved but I wanted to make this PR as short as possible. Also the debug call is currently commented out.
Ping @nylen @seanstrom @FredKSchott

YESSS! I can't :+1: this enough!
Great idea, these kinds of projects are huge steps towards a more sane code base

(I'm away for the long weekend so I can't review but from a quick readthrough it looks good

This is excellent stuff @simov.
How about getting rid of any underscores in self._someValue, can't anything on the Auth object be a "public" property?

I'm not saying that we should do the following now.  But, given that we want to move towards a composable API, what would it take to get there for this PR?  I'm thinking that inside request.js, the code would look something like this:
require('./lib/auth').extend(Request)

What hooks would be necessary in request to make this work?  Then, later on, we'd move request-auth into its own module and add some machinery for users to disable this default auth library.
One issue I foresee - I'm sure there are others:  say an app has two different use cases for request where one needs to have the default auth provider and the other needs some custom thing, how do you accomplish this?

Oh and about the debug method, I think we could make it Request.prototype.debug without causing any issues.  That would help with some of the linter weirdness I experienced in #1354.  I'll be glad to take that on after we merge this PR.

I removed all occurances of _ in the Auth code.
@nylen I'm not sure what's your goal with this line in this case.
require('./lib/auth').extend(Request)

The idea of the Auth class is to have its own scope and instance to keep the auth related variables outside of Request. The methods in Auth are also meant to be accessed through self._auth.method in Request, instead of self.method
We can easily export Auth from request.js and then again from index.js so the user would be able to replace the Auth implementation like this request.Auth = require('other-auth') If we want this to be done for each instance of Request then we can attach it to the prototype Requst.prototype.Auth = Auth then initialize it in request.js with self._auth = new self.Auth(self)
About debug that would do the job :+1:

@simov here's the idea:  https://github.com/request/request/issues/1094#issuecomment-58714438
Eventually, we would have request-base which contains the basic HTTP logic, probably including streaming too.  It doesn't know anything about auth, but provides a set of hooks for other modules to implement auth, and request loads the base and extends it with commonly used features, something like this:
var request = require('request-base')
  , auth = require('request-auth')

auth.extend(request.Request)

Some of the benefits of a composable API like this:

Modular code-base -> easier to understand
People can extend or replace features in third-party libraries (in fact this is already happening to some extent, see request-promise, requestretry, request-debug).  We could provide guidelines for people to implement and test plugins like this in a robust way.
Porting to streams 2.0+ becomes very easy once most of the features are split out into separate modules: we just swap out request-base for something else.

My question was to try to get us to think through what those auth hooks would need to look like.  We'd probably need a way to observe 401 responses and modify headers accordingly, and request-auth should probably add the Request.prototype.auth method itself.  Other than that, I just wanted to continue the discussion from #1094.
Splitting code for features into separate files, like you've done here, is a necessary first step towards this approach, and we need to start pulling apart more features like this into separate layers.  So I'll merge this in a couple of days, but please @FredKSchott @seanstrom and anyone else share your thoughts for where we want to go.

I think we're looking too ahead of us atm, the functions shouldn't be allowed to explode into a couple of hundreds lines of code in the first place. The only way to really move something out of the code and stop thinking about it, is to make it properly encapsulated (of course without sacrificing too much while doing so). The rest is really just a matter of implementation preference in the consumer.
Take a look at my last commit. Now the Auth class is fully encapsulated, and it knows nothing about Request or its state, nor the heavily modified Response object state. That means the Auth class potentially can be re-used in different context. Also you can completely ignore it while looking at the Request code, because all that it affects is in the Request code itself (only the implementation is hidden which you certainly don't want to look at all the time).

About the plugin approach. There are three completely different things here:

Public chaining API the one attached on the prototype and accessed via request().auth
Options API the one passed as a map to request({options})
Internal hooks that request would use

Essentially what the extend approach suggests is this:

I wan't each module to extend the Request prototype and modify its public API

But why is that? Request should define it's own public API as a module, then use the hooks internally. Potentially we want to give the user ability to swap the internal implementation on the fly.
The extend techiquie implies that all of these custom 'modules' should work with heavily modified request and response instances, how exactly we're going to document that? It's like telling our users (developers/ourselfs) to take a look at a couple of hundreds lines of code in Request + in a few other 'modules' as well
Passing the request class in the extend method doesn't solve the problem when that module needs its own state, meaning that it's not just a utility module. So it must be instantiated inside the Request ctor.
Also the idea of having separate Auth class is to not pollute the Request state with methods and variables.

The Request.prototype.auth method itlsef is part of the public API of Request and I really don't like it.
We should almost always use a map for arguments, not only that it makes the invocation more readable, but you ca easily add just the needed parameters.
request.auth({bearer:'token'})

in place of
request.auth(null,null,false,'token')

just like it's used in the options object.
So we can implement support for a map args there, and leave the current implementation in Request as a backward compatibility.

Again I am totally satisfied with this PR for now and plan to merge it as-is.  Encapsulation is a great first step and you've done a good job here.

We should almost always use a map for arguments, not only that it makes the invocation more readable, but you ca easily add just the needed parameters.

Agreed, and I'd like to start keeping a list of desired changes like this for our next major version.  I have a couple too.

Request should define it's own public API as a module, then use the hooks internally.

-1.  There is a lot of value in letting people mix and match request features.  Our users are already doing this anyway with the libraries I listed above, so why not provide a well-documented way?
Here's another example: https://github.com/FrankyBoy/request-ntlm.  NTLM auth would be nice to have (for those of us unfortunate enough to have to deal with M$ stuff), but I doubt that any of us have time to do it, and that module should really be done as a wrapper around request instead of requiring a specific version of it.
Having an extend API or convention also provides a path for extra features to become part of request core: people test the library for a while outside of request, then someone submits a patch with tests and docs, and ideally the patch to request is so simple that it's a pretty easy choice for us.  (ping @FrankyBoy - we're not to this point yet, but we're discussing how to do this at #1094 and here)

The extend techiquie implies that all of these custom 'modules' should work with heavily modified request and response instances, how exactly we're going to document that?

true, this is a concern.  We will need to beef up our test suite as much as possible going forward.

Passing the request class in the extend method doesn't solve the problem when that module needs its own state, meaning that it's not just a utility module. So it must be instantiated inside the Request ctor.

Also the idea of having separate Auth class is to not pollute the Request state with methods and variables.

Agree with both of these points, that's the kind of thing I want to discuss here.  Maybe request-auth does something like this:
exports.extend = function(Request) {
  Request._initHooks.push(function() {
    var self = this
    self._auth = new Auth()
  })
  Request.prototype.auth = function(options) {

  })
}

function Auth() {
  // ...
}

Monkey patching have never been a problem in js. My whole point was that we should make sure we move as much code as cleanly as possible (capsulated), and then figure out what to do with the rest.
Because at the end of the day we're still going to support that code, even though it's in separate request- module, and non capsulated code ultimately leads to maintenance hell.
So I can live with that extend thing, as long as it doesn't modify the state, at least for those modules that live in the request org.
Other than that I'm glad we agree on most of the points here :+1: @nylen  Also once this got it, I'll review my previous oauth refactoring PR, as there a few small things that I really don't like, and I'll make a new PR about it too.

+1 lgtm

@FredKSchott thanks for your feedback, I added the default values and the comment for the Auth class fields. See the comment about caseless above.
@nylen let me know if I have to squash the commits into one at some point.

yeah that would be good, if you squash this then I'll merge today.  I was hoping some others would weigh in on our discussion but I guess not.

 It might work for one or two plugins, but the conflicting code and assumptions of each plugin will become a nightmare at any sort of practical scale, especially if we see plugins becoming more prevalent once supported. I'd like to see us expose a collection of events or methods that a plugin can hook into.
Alternatively, we could actually define a plugin architecture for request to load:
plugin = {
  request:
  redirect:
  response:
  // ...
}
request.loadPlugin(plugin);

This strategy has the additional benefit of supporting asynchronous plugins as well.

I'm fine with anything we come up with, but -1 on blessing monkey patching as the official way to augment request.


Localization without .resx files

Hi,
I am using mvcSiteMapProvider for breadcrumbs in my project. For localization, I am fetching the resources from the database on start of the application and then filling up the cache (System.Web.HttpContext.Current.Cache["languageList"] ) containing the resources' key-value pair.
public DisplayResource(string value)
        : base(GetResourceValue(value))
    {

    }

As I am using this approach to localize the website, I do not want to create resource files just for mvcSiteMapProvider. So, how can I localize the breadcrumbs without using the Global Resource files?

Hello, I have same problem. I using Autofac for dependency container. And I want use my own string localization on sitemap titles(not resource file). Anyone succed it?


routes: fix error codes

Codecov Report

Merging #8 into master will decrease coverage by 0.07%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master       #8      +/-   ##
==========================================
- Coverage   39.25%   39.18%   -0.08%
==========================================
  Files           9        9
  Lines        1103     1105       +2
==========================================
  Hits          433      433
- Misses        589      591       +2
  Partials       81       81

Impacted Files
Coverage Δ

pkg/api/routes.go
41% <0%> (-0.2%)
:arrow_down:

Continue to review full report at Codecov.

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


Raidboss: DR nm and Savage fr

1 failing

timeline test
ui/raidboss/data/05-shb/eureka/delubrum_reginae_savage.txt
should not be missing translations:
AssertionError: ui/raidboss/data/05-shb/eureka/delubrum_reginae_savage.js:locale fr:no translation for replaceText '--stunned--'
at Context. (file:///home/runner/work/cactbot/cactbot/test/helper/test_timeline.js:237:17)
at processImmediate (internal/timers.js:461:21)

npm ERR! Test failed.  See above for more details.
Error: Process completed with exit code 1.
I not understand, that not exist in timeline drs.txt.
I made a mistake ? @quisquous

I revert, because i'm not sur for line break.
There is this as well.

I not understand, --stunned-- that not exist in timeline drs.txt.

I just added this recently: https://github.com/quisquous/cactbot/blob/main/ui/raidboss/data/05-shb/eureka/delubrum_reginae_savage.txt#L529

I revert, because i'm not sur for line break.
There is this as well.

Sorry, I'm not sure what it is going on here.  I'll take a look


use the current timestamp for logging qlog events

Fixes #2428.

Codecov Report

Merging #2434 into master will decrease coverage by 0.03%.
The diff coverage is 76.19%.

@@            Coverage Diff            @@
##           master   #2434      +/-   ##
=========================================
- Coverage   85.73%   85.7%   -0.03%
=========================================
  Files         119     119
  Lines        9211    9178      -33
=========================================
- Hits         7897    7866      -31
+ Misses        970     968       -2
  Partials      344     344

Impacted Files
Coverage Δ

session.go
71.44% <0%> (ø)
:arrow_up:

client.go
73.94% <0%> (ø)
:arrow_up:

internal/ackhandler/sent_packet_handler.go
75.77% <0%> (ø)
:arrow_up:

internal/handshake/crypto_setup.go
66.52% <0%> (+0.29%)
:arrow_up:

server.go
83.74% <0%> (ø)
:arrow_up:

qlog/qlog.go
93.87% <100%> (-0.95%)
:arrow_down:

internal/handshake/updatable_aead.go
91.34% <33.33%> (-0.07%)
:arrow_down:

Continue to review full report at Codecov.

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


esp_ble_gap_disconnect 引起卡死 直至看门狗触发重启 (IDFGH-7416)

idf commit fe1cf490b9e26689ce6d4b8268c97685e6e73c27

@fzboffice Thanks for reporting. Would you please help provide more details as suggested in the issue template? Information like elf, sdk configuration, backtrace, log outputs, commit ID, hardware and etc. would help us debug further. Thanks.

@Alvin1Zhang My description is wrong, esp_ ble_ gatts_ Close and ESP_ ble_ gap_ Disconnect will not cause jamming, it just will not cause a disconnect event, but the remote device will disconnect.
My device is esp32 and idf commit is c5deb7a9713887263b63549a891282f51a65d167

When I called it many times, the problem was solved


Fill out NodeBalancer list view

Review list items that may be missing from the node balancer list:
https://projects.invisionapp.com/share/8FALUJ0EY#/screens/220575701

moved back into ready, waiting on ipv6 addition to be deployed

IPv6 is in place just not supported by the alpha. Abe is taking care of the node status in his upcoming PR. The rest are not available at this time. Closing for now.


extension host terminated unexpectedly 3 times within the last 5 minutes.

Type: Bug
extension host terminated unexpectedly 3 times within the last 5 minutes.
I have been placing this problem since last update of vscode. I have not installed any extension after that. I tried to disable git related extension but no success. Please look into it.
 See also our issue reporting guidelines. If you don't know which extension is causing the problem, you can run Help: Start extension bisect from the command palette (F1) to help identify the problem extension.
Happy Coding!

This error "Extension host terminated unexpectedly 3 times within the last 5 minutes" is more likely caused by an extension, in my case, it was "Live Sass Compiler" extension, and that makes sense since it was migrated and outdated.

This error "Extension host terminated unexpectedly 3 times within the last 5 minutes" is more likely caused by an extension, in my case, it was "Live Sass Compiler" extension, and that makes sense since it was migrated and outdated.

Thanks Ali for the solution.


pruning testnet?

is there a way to prune testnet data or just keep the local data? Running a test node chewed up 40 gig and stopped running because disk space. This is totally unnecessary. When you run a node in the cloud disk space matters and could actually cost some good bucks

You can set up online_delete, but which database(s) are actually eating up that data?

online_delete=1 in config file? here is what he sizes looks like

I haven't used RocksDB in a while, but yeah, that seems like most of the space is used up there.
What's your full config file and the output of server_info?

I already had online_delete=1000000001 and the server info is following:
{
"result": {
"info": {
"build_version": "1.1.0-b2",
"complete_ledgers": "9886340-9887754",
"fetch_pack": 755,
"hostid": "0cd8f0411338",
"io_latency_ms": 1,
"jq_trans_overflow": "0",
"last_close": {
"converge_time_s": 1.999,
"proposers": 16
},
"load": {
"job_types": [
{
"avg_time": 6,
"job_type": "publishAcqLedger",
"peak_time": 41,
"per_second": 6
},
{
"job_type": "untrustedValidation",
"per_second": 3
},
{
"job_type": "ledgerRequest",
"per_second": 1
},
{
"job_type": "untrustedProposal",
"per_second": 1
},
{
"job_type": "ledgerData",
"peak_time": 2,
"per_second": 5
},
{
"in_progress": 1,
"job_type": "clientCommand"
},
{
"job_type": "transaction",
"per_second": 10
},
{
"job_type": "batch",
"per_second": 8
},
{
"avg_time": 1,
"job_type": "advanceLedger",
"peak_time": 43,
"per_second": 3
},
{
"job_type": "trustedValidation",
"peak_time": 2,
"per_second": 3
},
{
"job_type": "writeObjects",
"peak_time": 1,
"per_second": 28
},
{
"job_type": "trustedProposal",
"per_second": 5
},
{
"job_type": "peerCommand",
"per_second": 599
},
{
"job_type": "diskAccess",
"peak_time": 2,
"per_second": 2
},
{
"job_type": "processTransaction",
"per_second": 10
},
{
"job_type": "SyncReadNode",
"per_second": 15
},
{
"job_type": "AsyncReadNode",
"per_second": 1
},
{
"job_type": "WriteNode",
"per_second": 67
}
],
"threads": 6
},
"load_factor": 1,
"peer_disconnects": "0",
"peer_disconnects_resources": "0",
"peers": 11,
"pubkey_node": "n9K7WceQjoxeZxjTon4TTXtLm2EiJckAJaXyS7X3UWa1cvshrm3F",
"pubkey_validator": "none",
"server_state": "full",
"state_accounting": {
"connected": {
"duration_us": "122830986",
"transitions": 1
},
"disconnected": {
"duration_us": "1407365",
"transitions": 1
},
"full": {
"duration_us": "153632364",
"transitions": 1
},
"syncing": {
"duration_us": "61042911",
"transitions": 1
},
"tracking": {
"duration_us": "0",
"transitions": 1
}
},
"time": "2018-Jun-10 21:02:09.014049",
"uptime": 339,
"validated_ledger": {
"base_fee_xrp": 0.00001,
"hash": "E8DD70438D9835FB3412CCF1C3B573F5A78449F106E186D59A9B74BB56B43C03",
"reserve_base_xrp": 20,
"reserve_inc_xrp": 5,
"seq": 9887754
},
"validation_quorum": 11,
"validator_list_expires": "2018-Jun-18 00:00:00.000000000"
},
"status": "success"
}
}

online_delete=1000000001 means you want to keep a billion ledgers (currently there are about 39 million, so you're planning to store history for about a century) before you start removing some. Your uptime is only 5 minutes and the <2k ledgers that are available to you according to that info file are not that large. What's in your config file, that seems to be the root of your problems?

well, i stopped it because of the hard disk issue..just restarted to show you the info. So, will give a try with lower number and see what happens

with lower delete and ledger_history its been running for 12hrs now taking 1.5 gig. When I try to get an account info tho, it gives new error
"result": {
"error": "noNetwork",
"error_code": 17,
"error_message": "InsufficientNetworkMode",
"request": {
"account": "r3AeoS4gedy7YY6icSL61wGMZfjwMoBV4y",
"command": "account_info",
"ledger_index": "current",
"queue": true,
"strict": true
},
"status": "error"
}
}

running with online_delete=256, fetch_depth=128 and node_size = tiny still disk size is 38 gig,..its hard to keep up. any workaround to keep it low?

Excessive disk space usage can occur under some circumstances. You could simply shut down your server, remove the database files and restart.


"no extensions found" after installing an extension

Suddenly my extensions in Vscode seem to have disappeared. I uninstalled Vscode and then reinstalled it and tried to install the extensions again. Although the extensions appear to be installed in .vscode/extensions folder, Vscode says "no extensions found" and i can't use any of the extensions. I have tried uninstalling and re-installing Vscode many times. I even did a system restore. I deleted extensions.json and re-installed the extensions but it didn't work.
Screenshots:

extensions folder:

VS Code Version: 1.75 & 1.75.1
OS Version: Windows 10 Education

After installing an extension, what do you see in the extensions.json file?

Install the extension
F1 > Open View... > Shared - Share this log with us

Everything seems to be good.
Can you please share the contents of the extensions.json file in the extensions folder?

In the extensions folder, there is a file named .obsolete - Can you also please share contents of this file, if it exists?

It doesn't exist.

It seems the paths in extensions.json file are not matching with the extensions folder names shown in the above screenshot. For eg: relativeLocation & location properties of ecmel.vscode-html-css extension has el.vscode-html-css and mel.vscode-html-css respectively. Initial 3 and 2 letters are removed.
@seawinkle To re-confirm that you are able to reproduce this consistently, can you please do following?

From CLI, open VS Code using fresh user data directory and extensions directory. Eg: code --user-data-dir <path to a folder> --extensions-dir <path to another folder>
Install an extension
Check the extensions.json file in the second folder you passed to --extensions-dir argument and share the contents with us.

Here is the new extensions folder:

extensions.json:

It is clear that there is a problem with the relativeLocation. Can you please try our insiders from here - https://code.visualstudio.com/insiders/ and share the file

Install insiders from https://code.visualstudio.com/insiders/
Open Insiders and install extension
Share extensions.json content - F1 > Open Extensions Folder

There is the same problem:

Glad that you can repro on insiders. I am adding more logs in the insiders version that is available tomorrow.
I will update once new version of insider is available. Please try again and provide the shared log.

F1 > Open View... Shared

@aeschli I am computing the relative path in the following way and it seems this is cutting off the starting letters
https://github.com/microsoft/vscode/blob/eb940a296f0f32f859907def1fa87f62418a4347/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.ts#L312
Any insights?

The location is also wrong:

@aeschli Thats right. But please check the relativeLocation always trimming first couple of characters even from the wrong location.

@seawinkle Can you please download latest insiders and do following

F1 > Set Log Level... > Trace
Install an extension
F1 > Open View... Shared - Share this log

2023-02-16 20:04:49.503 [info] Starting worker process with pid 4212 (type: fileWatcher, window: 1).
2023-02-16 20:04:50.449 [info] WSL is not installed, so could not detect WSL profiles
2023-02-16 20:05:12.850 [trace] Started scanning system extensions
2023-02-16 20:05:12.850 [trace] Started scanning user extensions {"$mid":1,"fsPath":"c:\\Users\\\\.vscode-insiders\\extensions\\extensions.json","_sep":1,"external":"file:///c%3A/Users/Nalfe%C4%B0N/.vscode-insiders/extensions/extensions.json","path":"/c:/Users//.vscode-insiders/extensions/extensions.json","scheme":"file"}
2023-02-16 20:05:12.864 [trace] Started scanning system extensions
2023-02-16 20:05:12.864 [trace] Started scanning user extensions {"$mid":1,"fsPath":"c:\\Users\\\\.vscode-insiders\\extensions\\extensions.json","_sep":1,"external":"file:///c%3A/Users/Nalfe%C4%B0N/.vscode-insiders/extensions/extensions.json","path":"/c:/Users//.vscode-insiders/extensions/extensions.json","scheme":"file"}
2023-02-16 20:05:12.867 [trace] Started scanning system extensions
2023-02-16 20:05:12.868 [trace] Started scanning user extensions {"$mid":1,"fsPath":"c:\\Users\\\\.vscode-insiders\\extensions\\extensions.json","_sep":1,"external":"file:///c%3A/Users/Nalfe%C4%B0N/.vscode-insiders/extensions/extensions.json","path":"/c:/Users//.vscode-insiders/extensions/extensions.json","scheme":"file"}
2023-02-16 20:05:12.880 [trace] Scanned user extensions: 0
2023-02-16 20:05:12.929 [trace] Scanned user extensions: 0
2023-02-16 20:05:12.957 [trace] Scanned system extensions: 89
2023-02-16 20:05:12.999 [trace] Scanned user extensions: 0
2023-02-16 20:05:13.007 [trace] [File Watcher (node.js)] [raw] ["change"] globalStorage
2023-02-16 20:05:13.007 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\AppData\Roaming\Code - Insiders\User\globalStorage
2023-02-16 20:05:13.011 [trace] Scanned system extensions: 89
2023-02-16 20:05:13.013 [trace] [File Watcher (node.js)] [raw] ["change"] globalStorage
2023-02-16 20:05:13.014 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\AppData\Roaming\Code - Insiders\User\globalStorage
2023-02-16 20:05:13.014 [trace] [File Watcher (node.js)] [raw] ["change"] globalStorage
2023-02-16 20:05:13.014 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\AppData\Roaming\Code - Insiders\User\globalStorage
2023-02-16 20:05:13.025 [trace] Scanned system extensions: 89
2023-02-16 20:05:13.084 [trace] [File Watcher (node.js)] >> normalized [CHANGED] c:\Users\\AppData\Roaming\Code - Insiders\User\globalStorage
2023-02-16 20:05:13.929 [debug] ComputeTargetPlatform: win32-x64
2023-02-16 20:05:19.131 [trace] [code cache cleanup]: Starting to clean up old code cache folders.
2023-02-16 20:05:19.131 [trace] [storage cleanup]: Starting to clean up workspace storage folders for unused empty workspaces.
2023-02-16 20:05:23.415 [info] Getting Manifest... ms-vscode.cpptools
2023-02-16 20:05:23.416 [trace] Using main request service
2023-02-16 20:05:23.425 [info] Installing extension: ms-vscode.cpptools
2023-02-16 20:05:23.425 [trace] Started scanning system extensions
2023-02-16 20:05:23.425 [trace] Started scanning user extensions {"$mid":1,"fsPath":"c:\\Users\\\\.vscode-insiders\\extensions\\extensions.json","_sep":1,"external":"file:///c%3A/Users/Nalfe%C4%B0N/.vscode-insiders/extensions/extensions.json","path":"/c:/Users//.vscode-insiders/extensions/extensions.json","scheme":"file"}
2023-02-16 20:05:23.438 [trace] Scanned user extensions: 0
2023-02-16 20:05:23.468 [trace] Scanned system extensions: 89
2023-02-16 20:05:23.485 [trace] Started scanning system extensions
2023-02-16 20:05:23.485 [trace] Started scanning user extensions {"$mid":1,"fsPath":"c:\\Users\\\\.vscode-insiders\\extensions\\extensions.json","_sep":1,"external":"file:///c%3A/Users/Nalfe%C4%B0N/.vscode-insiders/extensions/extensions.json","path":"/c:/Users//.vscode-insiders/extensions/extensions.json","scheme":"file"}
2023-02-16 20:05:23.500 [trace] Scanned user extensions: 0
2023-02-16 20:05:23.534 [trace] Scanned system extensions: 89
2023-02-16 20:05:23.548 [trace] Started scanning system extensions
2023-02-16 20:05:23.548 [trace] Started scanning user extensions {"$mid":1,"fsPath":"c:\\Users\\\\.vscode-insiders\\extensions\\extensions.json","_sep":1,"external":"file:///c%3A/Users/Nalfe%C4%B0N/.vscode-insiders/extensions/extensions.json","path":"/c:/Users//.vscode-insiders/extensions/extensions.json","scheme":"file"}
2023-02-16 20:05:23.561 [trace] Scanned user extensions: 0
2023-02-16 20:05:23.588 [trace] Scanned system extensions: 89
2023-02-16 20:05:23.601 [trace] ExtensionGalleryService#download ms-vscode.cpptools
2023-02-16 20:05:23.601 [trace] Using main request service
2023-02-16 20:05:29.128 [trace] [language pack cache cleanup]: Starting to clean up unused language packs.
2023-02-16 20:05:48.704 [trace] [File Watcher (node.js)] [raw] ["change"] globalStorage
2023-02-16 20:05:48.704 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\AppData\Roaming\Code - Insiders\User\globalStorage
2023-02-16 20:05:48.705 [trace] [File Watcher (node.js)] [raw] ["change"] globalStorage
2023-02-16 20:05:48.705 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\AppData\Roaming\Code - Insiders\User\globalStorage
2023-02-16 20:05:48.795 [trace] [File Watcher (node.js)] >> normalized [CHANGED] c:\Users\\AppData\Roaming\Code - Insiders\User\globalStorage
2023-02-16 20:05:58.013 [trace] ExtensionGalleryService#downloadSignatureArchive ms-vscode.cpptools
2023-02-16 20:05:58.013 [trace] Using main request service
2023-02-16 20:05:58.791 [info] Extension signature verification: ms-vscode.cpptools. Verification status: Verified.
2023-02-16 20:05:58.793 [trace] Extracting extension... ms-vscode.cpptools
2023-02-16 20:05:58.795 [trace] Started extracting the extension from c:\Users\\AppData\Roaming\Code - Insiders\CachedExtensionVSIXs\ms-vscode.cpptools-1.14.3-win32-x64 to c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:05:58.802 [trace] [File Watcher (node.js)] [raw] ["rename"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:05:58.803 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:05:58.803 [trace] [File Watcher (node.js)] [ADDED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:05:58.879 [trace] [File Watcher (node.js)] >> normalized [ADDED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:05:58.903 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:05:58.985 [trace] [File Watcher (node.js)] >> normalized [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:05:59.231 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:05:59.231 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:05:59.231 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:05:59.232 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:05:59.235 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:05:59.235 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:05:59.236 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:05:59.236 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:05:59.306 [trace] [File Watcher (node.js)] >> normalized [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:05:59.615 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:05:59.616 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:05:59.691 [trace] [File Watcher (node.js)] >> normalized [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:00.624 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:00.624 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:00.625 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:00.626 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:00.700 [trace] [File Watcher (node.js)] >> normalized [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:00.710 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:00.710 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:00.785 [trace] [File Watcher (node.js)] >> normalized [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.063 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.063 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.065 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.065 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.067 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.067 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.069 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.069 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.071 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.071 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.072 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.072 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.074 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.074 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.076 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.076 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.078 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.078 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.080 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.080 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.081 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.081 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.083 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.083 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.085 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.085 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.087 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.087 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.089 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.089 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.091 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.091 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.092 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.093 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.094 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.094 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.095 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.096 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.100 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.101 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.104 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.105 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.105 [trace] [File Watcher (node.js)] [raw] ["change"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.105 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.139 [trace] [File Watcher (node.js)] >> normalized [CHANGED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.154 [info] Extracted extension to c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8: ms-vscode.cpptools
2023-02-16 20:06:01.173 [trace] [File Watcher (node.js)] [raw] ["rename"] .fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.174 [trace] [File Watcher (node.js)] [raw] ["rename"] ms-vscode.cpptools-1.14.3-win32-x64
2023-02-16 20:06:01.174 [info] Renamed to c:\Users\\.vscode-insiders\extensions\ms-vscode.cpptools-1.14.3-win32-x64
2023-02-16 20:06:01.175 [trace] [File Watcher (node.js)] [raw] ["change"] ms-vscode.cpptools-1.14.3-win32-x64
2023-02-16 20:06:01.175 [trace] [File Watcher (node.js)] [ADDED] c:\Users\\.vscode-insiders\extensions\ms-vscode.cpptools-1.14.3-win32-x64
2023-02-16 20:06:01.195 [info] Extracting extension completed. ms-vscode.cpptools
2023-02-16 20:06:01.198 [trace] Relative path c:\Users\\.vscode-insiders\extensions\ms-vscode.cpptools-1.14.3-win32-x64 c:\Users\\.vscode-insiders\extensions s-vscode.cpptools-1.14.3-win32-x64
2023-02-16 20:06:01.199 [trace] [File Watcher (node.js)] [raw] ["change"] extensions.json
2023-02-16 20:06:01.199 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\extensions.json
2023-02-16 20:06:01.200 [trace] [File Watcher (node.js)] [raw] ["change"] extensions.json
2023-02-16 20:06:01.200 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\extensions.json
2023-02-16 20:06:01.201 [trace] [File Watcher (node.js)] [raw] ["change"] extensions.json
2023-02-16 20:06:01.201 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\extensions.json
2023-02-16 20:06:01.201 [trace] [File Watcher (node.js)] [raw] ["change"] extensions.json
2023-02-16 20:06:01.201 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\extensions.json
2023-02-16 20:06:01.207 [info] Extension installed successfully: ms-vscode.cpptools
2023-02-16 20:06:01.254 [trace] [File Watcher (node.js)] >> normalized [ADDED] c:\Users\\.vscode-insiders\extensions\ms-vscode.cpptools-1.14.3-win32-x64
2023-02-16 20:06:01.254 [trace] [File Watcher (node.js)] >> normalized [CHANGED] c:\Users\\.vscode-insiders\extensions\extensions.json
2023-02-16 20:06:01.284 [trace] [File Watcher (node.js)] >> normalized [CHANGED] c:\Users\\.vscode-insiders\extensions\extensions.json
2023-02-16 20:06:01.285 [trace] [File Watcher (node.js)] [DELETED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.285 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\.vscode-insiders\extensions\ms-vscode.cpptools-1.14.3-win32-x64
2023-02-16 20:06:01.363 [trace] [File Watcher (node.js)] >> normalized [DELETED] c:\Users\\.vscode-insiders\extensions\.fa26cbf5-b4b5-44a6-a5f5-48648d5f05d8
2023-02-16 20:06:01.363 [trace] [File Watcher (node.js)] >> normalized [CHANGED] c:\Users\\.vscode-insiders\extensions\ms-vscode.cpptools-1.14.3-win32-x64
2023-02-16 20:06:01.382 [debug] Terminal profile not validated Git Bash ["C:\\Program Files\\Git\\bin\\bash.exe","C:\\Program Files\\Git\\usr\\bin\\bash.exe","C:\\Program Files\\Git\\bin\\bash.exe","C:\\Program Files\\Git\\usr\\bin\\bash.exe","C:\\Program Files (x86)\\Git\\bin\\bash.exe","C:\\Program Files (x86)\\Git\\usr\\bin\\bash.exe","C:\\Users\\\\AppData\\Local\\Programs\\Git\\bin\\bash.exe","C:\\Users\\\\scoop\\apps\\git-with-openssh\\current\\bin\\bash.exe"]
2023-02-16 20:06:01.384 [debug] Terminal profile not validated Cygwin [{"path":"C:\\cygwin64\\bin\\bash.exe","isUnsafe":true},{"path":"C:\\cygwin\\bin\\bash.exe","isUnsafe":true}]
2023-02-16 20:06:01.385 [debug] Terminal profile not validated bash (MSYS2) [{"path":"C:\\msys64\\usr\\bin\\bash.exe","isUnsafe":true}]
2023-02-16 20:06:01.392 [debug] Validated terminal profiles [{"profileName":"PowerShell","path":"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe","isDefault":false,"isUnsafePath":false,"icon":{"id":"terminal-powershell"}},{"profileName":"Windows PowerShell","path":"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe","isAutoDetected":true,"isDefault":false,"isUnsafePath":false,"icon":{"id":"terminal-powershell"}},{"profileName":"Command Prompt","path":"C:\\Windows\\System32\\cmd.exe","args":[],"isDefault":false,"isUnsafePath":false,"icon":{"id":"terminal-cmd"}}]
2023-02-16 20:06:01.620 [trace] [File Watcher (node.js)] [raw] ["change"] globalStorage
2023-02-16 20:06:01.620 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\AppData\Roaming\Code - Insiders\User\globalStorage
2023-02-16 20:06:01.621 [trace] [File Watcher (node.js)] [raw] ["change"] globalStorage
2023-02-16 20:06:01.621 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\AppData\Roaming\Code - Insiders\User\globalStorage
2023-02-16 20:06:01.697 [trace] [File Watcher (node.js)] >> normalized [CHANGED] c:\Users\\AppData\Roaming\Code - Insiders\User\globalStorage
2023-02-16 20:06:19.015 [trace] [File Watcher (node.js)] [raw] ["change"] globalStorage
2023-02-16 20:06:19.015 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\AppData\Roaming\Code - Insiders\User\globalStorage
2023-02-16 20:06:19.016 [trace] [File Watcher (node.js)] [raw] ["change"] globalStorage
2023-02-16 20:06:19.016 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\AppData\Roaming\Code - Insiders\User\globalStorage
2023-02-16 20:06:19.104 [trace] [File Watcher (node.js)] >> normalized [CHANGED] c:\Users\\AppData\Roaming\Code - Insiders\User\globalStorage
2023-02-16 20:06:50.285 [trace] [File Watcher (node.js)] [raw] ["change"] globalStorage
2023-02-16 20:06:50.286 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\AppData\Roaming\Code - Insiders\User\globalStorage
2023-02-16 20:06:50.286 [trace] [File Watcher (node.js)] [raw] ["change"] globalStorage
2023-02-16 20:06:50.286 [trace] [File Watcher (node.js)] [CHANGED] c:\Users\\AppData\Roaming\Code - Insiders\User\globalStorage
2023-02-16 20:06:50.375 [trace] [File Watcher (node.js)] >> normalized [CHANGED] c:\Users\\AppData\Roaming\Code - Insiders\User\globalStorage

@sandy081

@aeschli Please check this log statement
2023-02-16 20:06:01.198 [trace] Relative path c:\Users\\.vscode-insiders\extensions\ms-vscode.cpptools-1.14.3-win32-x64 c:\Users\\.vscode-insiders\extensions s-vscode.cpptools-1.14.3-win32-x64

This is logged while computing the relative path - please check following code
https://github.com/microsoft/vscode/blob/668f3de5b4b2018cd78db74ece6277276fb80c6c/src/vs/platform/extensionManagement/common/extensionsProfileScannerService.ts#L312-L320
It seems to be clear that the relative path is not returning the correct value. Any insights?

For file URIs we use path.relativePath(p1.fsPath, p2.fsPath). I would be surpised if there's a bug in there.
There are two slashes in c:\Users\\.vscode-insiders. Is that because the user name was removed for the log?

I can reproduce this with following test
const actual = path.win32.relative('C:\\Users\\İ\\.vscode-insiders\\extensions', 'C:\\Users\\İ\\.vscode-insiders\\extensions\\ms-vscode.cpptools-1.14.3-win32-x64');
		assert.strictEqual(actual, 'ms-vscode.cpptools-1.14.3-win32-x64');

It returns s-vscode.cpptools-1.14.3-win32-x64'

Seems to be a bug with node path library
https://github.com/nodejs/node/issues/27534
CC @bpasero

It's my fault that there are two slashes. I'd removed the user name before commenting. It actually looked like this:

Thanks @sandy081 for figuring this out!

@sandy081 if this can be addressed by patching our path.ts library, then please check with @sbatten as owner:
https://github.com/microsoft/vscode/blob/71f619cbda2b051d0b083a6393b175abd1ef30ad/src/vs/base/common/path.ts#L1
If we need to patch something in core node.js, then we have to add the patch to our internal builds with the help of @deepak1556
However, given that the PR was never merged, my confidence in the fix is not very high.

I have another fix for this. I am using basename instead of relativePath because extension is the immediate child of extensions location. I will create another bug for relativePath issue.

I've been having this issue across two macs (with settings sync) ever since i upgrade my work and personal machines simultaneously. Most of the time when i install an extension (most recently noticed: vim, ruby) it is installed and activated in the window, then gone if i reload the window. code --list-extensions outputs a short list of extensions, but my ~/.vscode/extensions folder shows many more. I disabled settings sync and observed the same behavior.
Maybe helpful context: This was an intel-M1 mac upgrade, and i used migration assistant on the first one i got, which led to all sorts of issues (brew prefix being different, etc). when i then replaced the second i started from a fresh install but settings sync was enabled between the two.

@erikdstock

I've been having this issue across two macs (with settings sync)

I do not think your issue is same as this. Can you please file a separate issue for yours and provide us steps to reproduce.

That may be the case but this was the closest issue i could find to mine and i cannot reproduce it. if it crops up again i will open a new issue.

@sandy081 The problems with relativeLocation and location seems to have been fixed. But "no extensions found" issue still appears when the extension is installed.

extensions.json:

@seawinkle Can you please try clicking the refresh button in the extensions view after installing the extension and see if the view gets updated?

@sandy081 Today when I opened vscode I saw that everything was fine. I'm thankful for all your help.

This bug has been fixed in the latest release of VS Code Insiders!
@seawinkle, you can help us out by commenting /verified if things are now working as expected.
If things still don't seem right, please ensure you're on version 78cb4eb690930964f4dcddde7c4828bdb5beaabd of Insiders (today's or later - you can use Help: About in the command palette to check), and leave a comment letting us know what isn't working as expected.
Happy Coding!

/verified


Remove internal LoopConfig struct

The struct is now part of sys, I forgot to remove it in the previous PR.

nit: Can you add in the description that this is a followup of #9805
LGTM

Done.


⚠ Bofrost.de has degraded performance

In 461f1ae, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1308 ms

Resolved: Bofrost.de performance has improved in 411813e.


2023.1: zed merge

Update smartmon-tools.yml
Fix permissions on reset-bls-entries playbook
CI: Fix check container image tags job for Ark
CI: Add retries to TF apply in aio job
CI: Trim down package dependencies
Correct OpenSearch migration instructions
Bump docker build and push action to v5
CI: Conditional container tag check job
Bump stackhpc.kayobe_workflows to version 1.0.3
Revert "Don't verify Apt repo CA initially when using HTTPS in container build"
Revert "Add package repository credentials to container image build"
Add Ansible Galaxy roles and collections to .gitignore
Update etc/kayobe/ansible/smartmon-tools.yml
Add a playbook to deploy an authenticating Pulp proxy
Use authenticating Pulp proxy during container image builds
CI: Avoid hitting Dockerhub rate limits

Testing container image build: https://github.com/stackhpc/stackhpc-kayobe-config/actions/runs/7888781930

Testing container image build: https://github.com/stackhpc/stackhpc-kayobe-config/actions/runs/7888781930

Trying again... https://github.com/stackhpc/stackhpc-kayobe-config/actions/runs/7889077040


Build in obs

Pull Request Test Coverage Report for Build c99e03c19a7e6c8441f36ca3b543241c2eb22f05-PR-14

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 95.971%

Totals

Change from base Build bf8d79436337e757a8fe19bc82158eb0df92b65e:
0.0%

Covered Lines:
262

Relevant Lines:
273

💛  - Coveralls


Dropdown navigation with arrow keys not working

Issue description

version 4.8.0
components: Dropdown

Dropdown items are not selectable by using arrow keys, which is supported by default by bootstrap v4 beta.
Also closing the dropdown with the ESC key is not working, contrary to bootstrap default.

Is this feature supposed to work for Custom Dropdowns? It looks like it works for all dropdown types except Custom: https://reactstrap.github.io/components/dropdowns/

@toodlooo You are sorta correct, it will not work for dropdowns which do not have any dropdown items (defined as .dropdown-item) which DropdownItem adds for you.
This is because we select the items via https://github.com/reactstrap/reactstrap/blob/c89bdea5ca7b90641708438c2415463996f2ab76/src/Dropdown.js#L132
Since not all of the elements within a dropdown menu are "items" (some can be dividers or grouping labels or something) we cannot just use all of the child elements.
Maybe we need a better convention so that the selector is not the same thing/class that applies styles so that the dropdown items can look different and also be selected.
It's also worth noting that in the example it manually toggles the menu when an item "selected" as DropdownItem would do that for you and not using DropdownItem means you have to do that yourself

Looks like this is still happening https://reactstrap.github.io/components/dropdowns/#app


Handle response headers split across packets

Currently the Client assumes the headers arrive in one packet:
https://github.com/CrowdHailer/server_sent_event.ex/blob/7b3544453acaa3881a2011fc626d2f1909701b3f/lib/server_sent_event/client.ex#L215-L221
When the header is incomplete, Raxx.HTTP1.parse_response/2 returns {:more, :undefined}
This should be solvable by buffering the request and keeping on receiving until the full header arrives.

Once this gets implemented it can and probably should be added to the StreamData-powered tests, so that the server's response gets split everywhere, not just in the response body

@nietaki check out PR #10 I think I have property tested ok


Bot stopping unexpectidly

I am running the bot on a Ubuntu 18.04 Linux VPS and its stopping on its own. I checked the nohup.out for the error and im getting this
events.js:167
throw er; // Unhandled 'error' event
^
Error: closed before the connection is established
at WebSocket.terminate (/root/modmail/master/node_modules/ws/lib/WebSocket.js:389:21)
at Shard.disconnect (/root/modmail/master/node_modules/eris/lib/gateway/Shard.js:102:25)
at Timeout.setTimeout [as _onTimeout] (/root/modmail/master/node_modules/eris/lib/gateway/Shard.js:1647:22)
at ontimeout (timers.js:427:11)
at tryOnTimeout (timers.js:289:5)
at listOnTimeout (timers.js:252:5)
at Timer.processTimers (timers.js:212:10)
Emitted 'error' event at:
at Shard.emit (/root/modmail/master/node_modules/eris/lib/gateway/Shard.js:1877:26)
at Shard.disconnect (/root/modmail/master/node_modules/eris/lib/gateway/Shard.js:113:18)
at Timeout.setTimeout [as _onTimeout] (/root/modmail/master/node_modules/eris/lib/gateway/Shard.js:1647:22)
[... lines matching original stack trace ...]
at Timer.processTimers (timers.js:212:10)

This looks like a network error/timeout of some sort. Make sure there isn't a firewall preventing connections to Discord's servers somewhere.

The VPS doesn't have a firewall or anything blocking the port its using. I just had it die again and this error was present
Error: read ECONNRESET
at TLSWrap.onread (net.js:656:25)
Emitted 'error' event at:
at Shard.emit (/root/modmail/master/node_modules/eris/lib/gateway/Shard.js:1877:26)
at WebSocket.ws.onerror (/root/modmail/master/node_modules/eris/lib/gateway/Shard.js:1600:18)
at WebSocket.onError (/root/modmail/master/node_modules/ws/lib/EventTarget.js:109:16)
at WebSocket.emit (events.js:182:13)
at WebSocket.finalize (/root/modmail/master/node_modules/ws/lib/WebSocket.js:182:41)
at TLSSocket.emit (events.js:182:13)
at emitErrorNT (internal/streams/destroy.js:82:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
at process._tickCallback (internal/process/next_tick.js:63:19)

Hey, sorry for the delay on this. These errors definitely seem like network errors of some sort between the bot and the Discord API. Unfortunately I'm not able to do much to fix them from my end - you might want to ask your VPS provider if they can help you out with this.

I moved the bot over to its own seperate VPS from my other services im running and still ended up stopping with this error
events.js:183
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at _errnoException (util.js:992:11)
at TLSWrap.onread (net.js:618:25)
~
I sent in a ticket to DigitalOcean to see if it is indeed something network related on their end since I don't have networking or firewall turned on for that vps.

I just pushed a new update that might help with this. Can you try with v2.16.0?

updated and will keep an eye out. usually only happens after a week or so.

I had this error again 2 days after upgrading

events.js:188
throw err;
^
Error: Unhandled "error" event. ([object Object])
at CommandClient.emit (events.js:186:19)
at Shard.emit (/root/modmailbot/node_modules/eris/lib/gateway/Shard.js:18
82:26)
at WebSocket.ws.onerror (/root/modmailbot/node_modules/eris/lib/gateway/S
hard.js:1605:18)
at WebSocket.onError (/root/modmailbot/node_modules/ws/lib/event-target.j
s:128:16)
at emitOne (events.js:116:13)
at WebSocket.emit (events.js:211:7)
at ClientRequest.req.on (/root/modmailbot/node_modules/ws/lib/websocket.j
s:535:10)
at emitOne (events.js:116:13)
at ClientRequest.emit (events.js:211:7)
at TLSSocket.socketErrorListener (_http_client.js:387:9)
at emitOne (events.js:116:13)
at TLSSocket.emit (events.js:211:7)
at emitErrorNT (internal/streams/destroy.js:64:8)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)

I will be pushing an update to help with the ECONNRESET errors sometime after next week. Until then, I recommend using an auto-restart utility of some sort, such as pm2.

While a bit brute force, it should be possible to simply catch the exception, log the error, andake x number of progressively delayed reconnection attempts. Unless you're seeing some details I'm not, it seems to just be some random loss or discord having a hiccough


Brouter for routing

Brouter.de is a famous routing engine for Bike routing.
It would be nice to have the possibility to use it also (choose between graphhopper / Brouter).
Cspecially the profiles in Brouter can be customized (prlenty of routing profiles already exists see https://brouter.damsy.ne) and it allows turn by turn possibility return in GeoJSON even in outdoors.

I do not plan to use 2 routing simultaneously but I actually didn't know that a BRouter instance could be easily deployed.
The GeoJSON format is nice because it contains road surface data, but where did you see turn-by-turn instructions?

You can customize a profile for doing so with the following parameters :
assign turnInstructionMode          = 4     # %turnInstructionMode% | Mode for the generated turn instructions | [0=none, 1=auto-choose, 2=locus-style, 3=osmand-style, 4=comment-style, 5=gpsies-style, 6=oruxmaps-style]
assign turnInstructionRoundabouts   = true  # %turnInstructionRoundabouts% | Set to "false" to avoid generating special turning instructions for roundabouts | boolean
assign turnInstructionCatchingRange = 4
You can play with it within in profile customization over the web in https://bikerouter.de

I don't use it because it is limited to files with at most 1k points, which is not a lot for a recorded activity, and even for such small files, it is very expensive.

Info. A free test tool can be found here.
https://www.waves.intec.ugent.be/exposure-tool/map-matching-tool
Important.
Use 'recorded' data with real timestamps.
Speed determines pedestrian, bicycle, or car.


[Snyk] Upgrade eslint-config-next from 13.1.6 to 13.5.6

Snyk has created this PR to upgrade eslint-config-next from 13.1.6 to 13.5.6.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 383 versions ahead of your current version.

The recommended version was released on 10 months ago.

Release notes

Package name: eslint-config-next

13.5.6 - 2023-10-18

13.5.6-canary.8 - 2023-10-19

13.5.6-canary.7 - 2023-10-18

13.5.6-canary.6 - 2023-10-18Core Changes

fix typos: #56870
Update React from 09fbee89d to a41957507: #56970
Reland "feat(turbopack): support basic next/dynamic": #56934
Add @ mui/icons-material to the default optimizePackageImports list: #56801

Credits
Huge thanks to @ xiaolou86, @ ztanner, @ sokra, and @ shuding for helping!

13.5.6-canary.5 - 2023-10-17No content.

13.5.6-canary.4 - 2023-10-17Core Changes

Adding  component to @ next/third-parties: #56106
Replace Promise.withResolvers polyfill with DetachedPromise: #56954
chore(next/image)!: mark onLoadingComplete as deprecated in favor of onLoad: #56944
chore: lower Node.js version requirement: #56943

Misc Changes

chore: reduce fs-extra usage in scripts/: #56917
chore(test): set COREPACK_ENABLE_STRICT: 0 for create-next-app tests: #56955

Credits
Huge thanks to @ janicklas-ralph, @ wyattjoh, @ SukkaW, @ styfle, and @ balazsorban44 for helping!

13.5.6-canary.3 - 2023-10-17Core Changes

feat: set status code to 500 if unexpected error occurs before streaming in app router: #56236
cache: add unstable_noStore API: #56930

Credits
Huge thanks to @ dpnolte and @ feedthejim for helping!

13.5.6-canary.2 - 2023-10-17Core Changes

feat(env): upgrade dotenv: #38481
Update Babel dependencies: #51962
perf: fix tracing for routes: #56924
build: Update swc_core to v0.86.1: #56770

Credits
Huge thanks to @ JuanM04, @ Andarist, @ feedthejim, and @ kdy1 for helping!

13.5.6-canary.1 - 2023-10-16Core Changes

Update React from d900fadbf to 09fbee89d. Removes server context and experimental prefix for server action APIs: #56809

Documentation Changes

Update 05-mdx.mdx . Fix key of the prop: #56883

Credits
Huge thanks to @ WhoAmIRUS and @ gnoff for helping!

13.5.6-canary.0 - 2023-10-16Core Changes

perf: fix server trace file logic : #56898
feat: drop Node.js 16: #56896

Misc Changes

improve next-image-proxy test: #56893
chore(test): test remote image from proxy: #56895
ensure kodiak is re-added to apps list after code-freeze action: #56907

Credits
Huge thanks to @ ztanner, @ styfle, @ feedthejim, and @ balazsorban44 for helping!

13.5.5 - 2023-10-16Core Changes

Update parallelizing tasks with webpackBuildWorker config: #56287
Misc Typescript and export updates: #55841
chore: pass defineEnv from next.js to rust directly: #56216
Expose util internally for debugging: #56381
App Router - preinitialize chunks during SSR: #54752
fix: use fs.existsSync to avoid race condition: #56387
Ensure loader generated export default has name: #56388
Move Edge SSR event waitUntil into the handler: #56404
fix: avoid unnecessary existSync call: #56419
fix: avoid creation of buffers for read ops: #56421
fix empty externals list, pnpm special case, and project path: #56402
chore: extract edge-app-route loader template: #56424
Separate RSC and SSR jsx-runtime modules: #56438
Async Batcher: #56423
Fix cli log next.js color: #56448
Turbopack: Implement Server Actions: #53890
Component Module Types: #56454
refactor: rewrite config schema in zod: #56383
Dev Service: #56442
feat(turbopack): port next.js template loading logic: #56425
Chunking Refactor Step 1: #56467
Use native node:fs in taskfile.js: #56491
Loose RSC import restrictions for 3rd party packages: #56501
turbopack: Chunking Refactor Step 2 : #56504
update turbopack, fix sass peer dependency: #56508
Remove ServerDirectiveTransformer: #56496
Improve failed to fetch RSC error: #56517
misc: fix wrong next start start duration: #56512
turbopack: Extract as_chunk into shared ChunkType trait: #56506
Flatten recursive wildcard exports in barrel optimization: #56489
Turbopack + app router: always use externals for predefined packages: #56440
fix: log error cause: #56528
Unsilence Taskr Webpack errors: #56542
refactor: cleanup app render: #56538
fix: don't add isolateModules to tsconfig when extending from tsconfig with verbatimModuleSyntax: #54164
enable verbatimModuleSyntax to make type imports/exports explicit: #56551
Ensure react-server-dom-turbopack-experimental uses the right package: #56560
Fix build restart log: #56543
feat(turbopack): add support for edge app pages: #56426
Improve error handling of Server Actions with skewed deployment: #56618
misc: split app-render into smaller functions: #56611
remove unnecessary structuredClone: #56570
Fix trace ignore handling: #56674
fix(next-core): allow sass loader for foreign codes: #56679
Fix SSG query with experimental-compile: #56680
Ensure rewrites are included in build manifest when using Turbopack: #56692
fix static worker restart behavior: #56728
Improve internal waitUntil utility: #56720
Fix reconnection loop when devserver is offline: #56698
Fix ensurePage for client-side navigation to / in Turbopack: #56704
ci: add job summary to the test suite runs: #56742
Prefer module over main on main fields for app router server compiler: #56532
Check origins of Server Action requests: #56753
OpenTelemetry: ignore bubble errors to avoid spamming traces: #56625
fix(turbopack): always alias server-only and client-only: #56760
Utilize Promise.withResolvers: #56764
Revert "Prefer module over main on main fields for app router server compiler": #56766
Revalidate Type: #56763
Revert static worker refactor: #56767
memoize useParams: #56771
Turbopack: Chunking Refactoring: #56756
Chunking Refactoring followup fixes: #56789
put app code into a separate layer: #56800
fix: add x-forwarded-* headers: #56797
fix(turbopack): middleware path and aliases: #56804
Implement preferredRegion array in Turbopack: #56743
Fix build traces case: #56817
Revert  "Drop ipc server headers filters (#56226)": #56836
Implement getOptimizedModuleAliases for Turbopack: #56839
chore: bump undici: #56851
bump: edge-runtime: #56856
feat(turbopack): support basic next/dynamic: #56389
Revert "feat(turbopack): support basic next/dynamic": #56885

Documentation Changes

add digest property to error prop: #56339
Updates MDX docs: #56378
Update redirect.mdx: #56414
docs: add missing word: #56547
docs: update code snippet for correct file name: #56006
corrected sentence: #56595
clarify client components render on server on full page load: #55469
docs(router): clarify dynamic route slug is about a file name, not "folder": #56596
Update 01-contribution-guide.mdx: Fix a typo: #56665
fix(docs): adjust api route documentation examples: #56660
Updates Large Page Data error message doc to use JSON.parse to make reading output easier: #56713
Docs: Add missing description field: #56749
Changes codeblock filename delimiter: #56712
Update supported-browsers.mdx: #56815
docs: fix cypress script typo in 10-testing.mdx: #56765
Fix typo: #56863

Example Changes

Maintenance: minor example dep bumps to fix moderate vulns: #56375
Update actions.ts: #56579
updated fauna fql v10: #56185
fix lint error from fauna example: #56719
chore(example): bump @ radix-ui/react-icons: #56452
fix: http2 example issue: #56768

Misc Changes

Fix mjs import for Turbopack test: #56354
Add test case for the permalink option of useFormState: #56329
Fix code freeze disable handling: #56340
add cargo fmt to lint staged: #56430
fix: .../templates/*/app/layout.* import order: #56380
Update .node-version: #56460
Fix logging level in actions test: #56473
Remove app dir warning test: #56350
Use consistent name for App Router tests: #56352
Remove isTurbo check in custom-routes test: #56360
test: speed up isolated next instance test setup: #56525
Update rust-toolchain to nightly-2023-10-06: #56541
update test manifest: #56522
chore: bump pnpm to 8.9: #56649
fix: next dev with edge runtime on windows: #56502
invert test filtering logic to exclude known failing: #56663
(test only) Integration tests: remove flatMap polyfill: #56546
Use node:fs instead of fs-extra in .github/actions: #56536
Use unique names for separate test suites: #56695
misc: tweak stats github action: #56694
CI: add manual workflow for running e2e on prod: #56738
Improve chunk encoding test to check right path for Turbopack: #56747
change those->some for clarity: #56688
docs: fix typo in Update 02-get-static-paths.mdx: #56757
Break out E2E deploy test workflow to its own: <a class="i...

@u21631532 , please can you decide if this upgrade is plausible, otherwise you may close the pr.


Update Set-SRNetworkConstraint.md

Updated Example 2 as it is for a cluster and not for a standalone computer.

@JohanFreelancer9 Please copy review

issue#https://github.com/MicrosoftDocs/windows-powershell-docs/issues/2678

Docs Build status updates of commit 0925d0c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/winserver2019-ps/storagereplica/Set-SRNetworkConstraint.md
:white_check_mark:Succeeded
View (WindowsServer2019-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 50b22b4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/winserver2016-ps/storagereplica/Set-SRNetworkConstraint.md
:white_check_mark:Succeeded
View (WindowsServer2016-ps)

docset/winserver2019-ps/storagereplica/Set-SRNetworkConstraint.md
:white_check_mark:Succeeded
View (WindowsServer2019-ps)

docset/winserver2022-ps/storagereplica/Set-SRNetworkConstraint.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit c154302:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/winserver2016-ps/storagereplica/Set-SRNetworkConstraint.md
:white_check_mark:Succeeded
View (WindowsServer2016-ps)

docset/winserver2019-ps/storagereplica/Set-SRNetworkConstraint.md
:white_check_mark:Succeeded
View (WindowsServer2019-ps)

docset/winserver2022-ps/storagereplica/Set-SRNetworkConstraint.md
:white_check_mark:Succeeded
View (WindowsServer2022-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Use unaligned store in SingleToSingle

In ModularImageToDecodedRect group origin is right shifted...
So alignement might become too small for the current architecture.

Have you observed a case where this happens, or is it a theoretical concern?
If it's only a theoretical concern, then I would keep the stores aligned and add a JXL_ASSERT somewhere to make sure that the x0 is actually aligned.
If I'm not mistaken, the maximum right shift should be 3 (I think that's the largest dim_shift we allow). The smallest group size is 128x128. So I think in principle the offset should be aligned to 128>>3 pixels, which is 16*4 bytes. That should still be just OK for avx-512, no?
If unaligned stores can happen here, it would be good to understand how/why. If this only happens in exotic and probably not very useful cases, it might be worthwhile to reject such cases (and update the spec to not allow it).
I don't know what the speed cost is of changing the aligned operations to unaligned ones, probably small in the bigger picture, but still, might be good to check if you can measure a speed difference in say jxl:m:2 decoding.

The case is discovered by oss-fuzz. In the testcase x0 = 768 >> 6 = 12. I'll attach transforms dump soon.

Question is if we want to support a dim_shift of 6 (or > 3 in general). If we're planning to make that work, then yes we should use unaligned stores. If we're not planning to support more than 8x upsampling (so max dim_shift 3) we should probably fail early on such inputs and still use aligned stores.
@veluca93 any opinions on this?

Question is if we want to support a dim_shift of 6 (or > 3 in general). If we're planning to make that work, then yes we should use unaligned stores. If we're not planning to support more than 8x upsampling (so max dim_shift 3) we should probably fail early on such inputs and still use aligned stores.
@veluca93 any opinions on this?

I'd avoid anything >3 and I wonder how we ended up with that value... That ought not to be possible AFAIU.

maximum_distance could be wildly large...

Question is if we want to support a dim_shift of 6 (or > 3 in general). If we're planning to make that work, then yes we should use unaligned stores. If we're not planning to support more than 8x upsampling (so max dim_shift 3) we should probably fail early on such inputs and still use aligned stores.
@veluca93 any opinions on this?

I'd avoid anything >3 and I wonder how we ended up with that value... That ought not to be possible AFAIU.

Well in the ExtraChannelInfo spec we have U32(0, 3, 4, 1 + u(3)) to encode the dim_shift, so certainly values > 3 are possible (and one of them even has a short code).
I have no strong preference on this: I don't think limiting it to 3 is very limiting in practice, and if that helps to keep the implementation simpler/faster, I think it's a reasonable thing to do. We might then want to change the spec to U32(0, 3, 1, 2) then though (that shouldn't break any existing files, afaik), or at least constrain the value to be <= 3.
There's also ec_upsampling which is cumulative with the dim_shift; I suppose we want to restrict ec_upsampling << dim_shift to be at most 8, then?

Question is if we want to support a dim_shift of 6 (or > 3 in general). If we're planning to make that work, then yes we should use unaligned stores. If we're not planning to support more than 8x upsampling (so max dim_shift 3) we should probably fail early on such inputs and still use aligned stores.
@veluca93 any opinions on this?

I'd avoid anything >3 and I wonder how we ended up with that value... That ought not to be possible AFAIU.

Well in the ExtraChannelInfo spec we have U32(0, 3, 4, 1 + u(3)) to encode the dim_shift, so certainly values > 3 are possible (and one of them even has a short code).
I have no strong preference on this: I don't think limiting it to 3 is very limiting in practice, and if that helps to keep the implementation simpler/faster, I think it's a reasonable thing to do. We might then want to change the spec to U32(0, 3, 1, 2) then though (that shouldn't break any existing files, afaik), or at least constrain the value to be <= 3.
There's also ec_upsampling which is cumulative with the dim_shift; I suppose we want to restrict ec_upsampling << dim_shift to be at most 8, then?

I mean in the sense that AFAIU we error out whenever we hit >3 :)

Ah right, we are already checking that. Then I wonder how we can get a value of 6 there.
There might be a way to reach 4 atm: if the color upsampling is 8, and YCbCr with chroma subsampling is used in modular mode, it could be 4. I think it would be reasonable to not allow that (only allow chroma subsampling if the upsampling <= 4).
I have no clue how we're getting to 6 there, so it would be good to take a look at that case and see what case we missed, since it's likely a bug.

As promised going to provide more info soon (asap)

It seems that this is caused by the same problem as https://github.com/libjxl/libjxl/pull/936
At least, it is fixed by that PR. (i.e. outrageous shift is just not undone squeeze).

Maybe in that case just add a check that shift is <= 3 at that point, and maybe also that there are no not-undone transforms.

PTAL


Omit the patch operation of resource that only contains tags

Since we introduced tags manipulation helper method, we do not have to introduce a Update method if it can only update the tags which introduce confusions to our customers.
The solution might be we could identify this in the generator and do not generate the Update method if it only updates tags.
In the future if they introduces something more in the update method, this condition will no longer meet, the function will show up again

Omit here means make these kind of update methods internal


Readme

What's this, two PRs?
Yep, I added a better README. It has the org name and some boilerplate legal nonsense.

@preetsmohan @Takudzwa-Rusike @AlexLevine

Agreed, should probably be modified to Code-M though.


mkt_clickid fields are too short

Google's gclid parameter can range from 25 to 100 chars, so it cannot fit in the defined mkt_clickid columns in Redshift and Postgres, which are both varchar(64).
Source: http://googleadsdeveloper.blogspot.co.uk/2014/02/changes-to-gclid-field-length-in.html

@bogaert - heads' up: we will be changing this field in r64.

Thanks for letting us know @danisola ! @fblundun let's set the field to 128 characters.

I can't find anything on msclkid and dclid sizes - should we change them too?

Never mind - they end up in the same field anyway

I've split this into #1603, #1604, #1605, and #1606

Thanks Fred!


Add linter for struct tags

Ensures some formatting for tags and also checks that tag keys match the given set

Does this PR need a docs update or release note?

[ ] :white_check_mark: Yes, it's included
[ ] :clock1: Yes, but in a later PR
[x] :no_entry: No

Type of change

[ ] :sunflower: Feature
[ ] :bug: Bugfix
[ ] :world_map: Documentation
[x] :robot: Supportability/Tests
[x] :computer: CI/Deployment
[ ] :broom: Tech Debt/Cleanup

Issue(s)

#3654

Test Plan

[x] :muscle: Manual
[ ] :zap: Unit test
[ ] :green_heart: E2E

Example of CI failure when there was a known issue with how tags were defined


Use golangci-lint for header checks

goheader's whitespace handling seems to be less fragile than license_checker's. This also means one less job in CI.
Signed-off-by: Stephen Kitt<EMAIL_ADDRESS>

License Headers Expected — Waiting for status to be reported Required

We need to make the old check not-required before this can be merged.


Convert invalid wav files to correct format

Use pydub in download.py to convert audio files that are not in wav format (such as mpeg-4) to the correct format. Adds pydub as a dependency, and ffmpeg as a system dependency. Fixes #23.
Fix taken from https://github.com/Tarteel-io/tarteel-api/issues/165#issuecomment-462164952.
@khanh111 if you've already done this in your updated scripts (or if this PR interferes with what you currently have), then feel free to close this.

Thanks for doing this! Unfortunately, most of these changes are invalid after the recent refactor of download.py.

Resolved separately by 21d8e54772ca54468f182c28c4cb743aec21a751.


Generate techdocs links that have the entity ref lowercased

Related to https://github.com/backstage/backstage/issues/12031

@ottosichert Am I understanding it right that this one is better to park for now? Or even close until a future time? Just cleaning out my list of tabs to check in on :)


feat: instrument active record

Todo:

[x] Get feedback from the SIG group
[ ] Add it to the rails instrumentation gem

In it's current state a simple controller create action looks something like this

@ahayworth  doesn't the myslq instrumentation have the same level of noise?

How does this compare to instrumenting ActiveRecord through a subscription to ActiveSupport::Notifications sql.active_record events?

@ahayworth doesn't the myslq instrumentation have the same level of noise?

@JordiPolo I'd actually presume the mysql instrumentation is even noisier. I would also say we should also have configuration options in that instrumentation as well, to help control the noise. If you wanted to start an issue or discussion about what kinds of configuration options you think a database instrumentation should have, I'd be very interested in discussing that. I put up a draft PR for postgres last night, and I'm actively thinking about what kind of options should be provided (because it is also noisy).

How does this compare to instrumenting ActiveRecord through a subscription to ActiveSupport::Notifications sql.active_record events?

@robbkidd We discussed this at the working group meeting yesterday - three big takeaways re: ActiveSupport::Notifications from my perspective (others who were on the call - please chime in if you disagree with this summary):

There are some reliability concerns - if another subscriber raises in their subscription handling, our own OTel subscribers may never get notified. That can cause problems that range from "annoying" to "maddening", depending on our implementation.

To some degree, this functions at a different level than notifications - because we're wrapping the persistence methods (and others), potentially this opens the door to other interesting ways we could annotate spans. We have access to a lot of internals this way, and can get information that just isn't available in notifications.

I think we're viewing this as an evolutionary step in our auto-instrumentation. The door is not shut to notification-based instrumentation at all, it's mostly that no one has done the work yet to prove why it's the right way to move forward. And, even if we get some based on notifications, it may or may not complement or supplant what this PR does.

I would say if you're interested, let's chat a bit more on another issue or a discussion - this PR should probably go forward independently of notification discussions 😄

How does this compare to instrumenting ActiveRecord through a subscription to ActiveSupport::Notifications sql.active_record events?

@robbkidd Subscribing to sql.active_record is more comparable to instrumenting the database adapter (mysql2 as an example).
The sql.active_record topic has the nice characteristic that you can subscribe to it and could likely get away without adding any database instrumentation.  But also comes with the disadvantages of using Active Support Notifications, we have been using this approach for tracing in production for quite some time now and it requires managing all the the open spans so that you can close them in the event that one of the notification subscribers raises and prevents your spans from properly closing.
The intention of this PR is to instrument Active Record, and not just a tight wrapper around the db calls.  From this approach we will be able to surface more timing information about persistence actions performed.
I'll provide an example to better illustrate my point.
Consider a simple User model with a slow callback.
class User < ApplicationRecord
  after_commit :take_a_nap

  private

  def take_a_nap
    sleep 2
  end
end

The corresponding controller.
class UsersController < ApplicationController
  def index
    @users = User.all
  end

  def new
  end

  def create
    User.create!
    redirect_to users_path
  end
end

If we know that the sql.active_record notification is just a tight wrapper around the db calls(being, insert, commit), you can see in the screenshot that it doesn't really provide much insight into why the request is performing so slowly.
There are future improvements to this such as instrumenting callbacks.
All this is to say this is just a first step to instrumenting Active Record, I fully expect us to add the option to instrument sql.active_record as well as any other topic.

I finally added the SIG meeting to my calendar, but yesterday I had a conflict. I'll be tuning in to future ones!
@ahayworth @robertlaurin That you both for the explanations! :bow: That clears up the differences for me.
@robertlaurin ... You had me at "instrumented ActiveRecord callbacks." 😍

@ahayworth I added a new commit here https://github.com/open-telemetry/opentelemetry-ruby/pull/653/commits/09cffd1458e1d109a82b8e76014995660765907f
If you get some time it would be cool if you try out (even locally) and see if this is still having the same issue as before.  It seems to be patching reliable for me now.

@robertlaurin We're off work this week, so I'll test this out more thoroughly on Monday. But, at least in my personal, test app, it seems to work:


[ENH] Add success/summary message at the end of each workflow

Closes #255

Add success/summary message at the end of each workflow.
For workflows that loop over participants and sessions, the message will report the number of successes and the number of total runs (with different colours depending on level of success).
Also making the CLI return a non-zero exit code if at least one iteration of the loop results in an error.

@mathdugre fixed the issues you pointed out!
I am unsure about having suffix = '.' for the feedback messages. I get that it's not symmetric with the success message having ! but I also feel like a period is too formal. Also the other log messages don't end with a period...

I am unsure about having suffix = '.' for the feedback messages. I get that it's not symmetric with the success message having ! but I also feel like a period is too formal. Also the other log messages don't end with a period...

Fair point! Let's keep it as is 👍


Mark obsolete methods in accordance with documentation

https://github.com/NLog/NLog/wiki/How-to-Log-Exceptions

Thanks. I'm not sure if the documentation is still correct. We have to look at this

See #431

#691 supersedes this PR.
So closing this, but still thanks for the reminder of fixing this.


README.md: Corrected name of command line executable

Signed-off-by: Ole Sæther<EMAIL_ADDRESS>

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Fixed by PR #104 so closing this.