CLI settings 260

MTV 2.6
Resolves https://issues.redhat.com/browse/MTV-860 by adding additional to the list of Operator settings that can be configured using the CLI.
Preview: https://file.emea.redhat.com/rhoch/cli_settings_260/html-single/#configuring-mtv-operator_mtv

@liranr23 @ahadas Please review this PR.

@liranr23 I made the changes you suggested. @ahadas Please review also.

@liranr23 @ahadas I made the changes you suggested. please review this PR again.

@ahadas Please review this PR ("Testing" review).

@ahadas I made the changes you suggested. Please review this PR again.

@ahadas I made the changes you suggested. Please review this PR again.

You may change the values by editing the YAML (editing or when creating the ForkliftController), using the UI. I suggest removing the CLI only.

@RichardHoch to give more context into what @liranr23 wrote above - when you wrote this PR, we didn't have a tab in the UI for ForkliftController so it was fair to say that only settings that do not appear in the overview tab can be changed using the UI
but what @liranr23 means, is that users can easily change the definition of ForkliftController also via the web console, so the differentiation should be different
cc @yaacov

@ahadas Are you saying remove all the "CLI only" references  (lines 17-20 and elsewhere) and or just the ones for the configuration maps (lines 19-20 and elsewhere) ?

@ahadas Are you saying remove all the "CLI only" references (lines 17-20 and elsewhere) and or just the ones for the configuration maps (lines 19-20 and elsewhere) ?

I would say everywhere, also the ending of Note, this setting can only be changed using the CLI.

@ahadas Are you saying remove all the "CLI only" references (lines 17-20 and elsewhere) and or just the ones for the configuration maps (lines 19-20 and elsewhere) ?

the solution is not to remove all the "CLI only" but to replace it with an indication that changing those settings require direct modification of the ForkliftController CR

@ahadas I removed all references to "CLI only" before you posted -- please advise what changes need to be made now (I'm not quite following you last comment, sorry).

@ahadas I removed all references to "CLI only" before you posted -- please advise what changes need to be made now (I'm not quite following you last comment, sorry).

@RichardHoch to things:
A. change "You can configure the following settings of the {operator-name} using either the CLI or the user interface." with something like: "You can configure the following settings of the {operator-name} using by modifying the ForkliftController CR, and some of them from the Settings panel in the overview tab"
B. to indicate which settings can be changed without modifying the ForkliftController CR directly, I see two valid options:

in the list of settings (that starts with Maximum number of virtual machines (VMs) per plan that can be migrated simultaneously and ends with Configuration map of operating systems to preferences for {rhv-full} ({rhv-short}) source providers., add that indication for all items which were not previously classified as "CLI-only"
same as (1) but in the description of each of these settings in the table below

@ahadas I think this should be OK. Please review.

@ahadas I made the changes you suggested. Please review this PR again.

@ahadas Fixed the inconsistency.


feat: add a new transaction for creating new account with coa

Description
This transaction is mainly used by CEXs.
It is a combined transaction for creating new accounts and creating COA resources.
Help CEX create COA addresses at the same time when creating user Flow deposit addresses.

For contributor use:

[ ] Targeted PR against main branch
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Code follows the standards mentioned here.
[ ] Updated relevant documentation
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Added appropriate labels

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 86.76%. Comparing base (02aab3f) to head (3b43836).
Report is 150 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #130      +/-   ##
==========================================
+ Coverage   86.19%   86.76%   +0.56%
==========================================
  Files          18       18
  Lines         884      967      +83
==========================================
+ Hits          762      839      +77
- Misses        122      128       +6

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

FYI @franklywatson pointed me to the original code and I have created an issue to update the original transaction: https://github.com/onflow/flow-core-contracts/issues/460

Updated the transaction.


Configure Azure Pipelines

This pipeline configuration builds the application and produces a build for the Release configuration.

 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.:x: srihari345 sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


PP-191: OpenID connect authentication flow.

This requires VPN and IT account access, so testing will be limited to some surface areas and checking that the code makes sense.
To test:

Checkout branch
Create a new file in the project root: .env.local
Add this content in the file: PAATOKSET_OPENID_SECRET=insert_client_secret_here (not the real secret, but this can't be tested anyway without VPN access)
Run make up
Run make shell
Inside the container, run printenv. Make sure the content you added in the env.local file is there
Inside the container, run drush en paatokset_ahjo_openid
Check that the status page works:  https://helsinki-paatokset.docker.so/fi/admin/ahjo-open-id
Check that the config page works: https://helsinki-paatokset.docker.so/fi/admin/ahjo-open-id/settings
Read code changes. Is there anything that would require more documentation?

Code seems good to me. Documentation-wise good to go - maybe update Confluence with instructions for end-users (hard to gauge without what is needed without testing all the way).


Configure environment variables in JRuby again, instead of the selfrun scripts

Delaying this after v0.8.32...

Your release plan sounds good to me. I'm taking a look.

Thanks. Merging!


[Feature] Make DartPad window or contents on API pages resizeable

Hello DartPad team -- I was told by the Flutter team may be able to address some embedded DartPad QOL improvements.
Use case
Make it easier to explore more complicated embedded code samples.
Proposal
Any of the following:

Make DartPad on the api docs larger vertically and/or horizontally
Give the option to resize the outer limits of embedded dartpad
Make text resizable.
Allow users to hide the right or left side bar

Before

After

Looks like an active issue already exists -- closing.


Fix zip glob/ignore settings

The ignore setting can be a string or string array
The scope should be 'resource' so that these work in multi-root workspace scenarios

Requires this PR to fully work: https://github.com/Microsoft/vscode-azuretools/pull/98

FYI @fiveisprime your wish has been fulfilled!


Keychain save error

I'm getting error when trying to save in Keychain that says: "The user name or passphrase you entered is not correct." What does that mean and how to solve it? Thanks!

I'm facing this error. Does anyone know how to solve it?

Any solution? Seems to only happen in the Simulator for me

Also have run into this issue - any leads would be much appreciated!

I'm facing with this issue on iOS 15 simulator.
Did anyone solve this issue?


Add and style PR badge for PPP

Before and after:

Syntax is similar to autoglossary:
<!-- instead of: -->
* Update website styling ([PR#333](https://github.com/AY2223S1-CS2103T-W16-2/tp/pull/333))
<!-- we have: -->
* Update website styling [[PR#333]]

Also has hover effects:

Codecov Report

Merging #513 (750f4d6) into master (306a6ba) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #513   +/-   ##
=========================================
  Coverage     65.53%   65.53%
  Complexity      730      730
=========================================
  Files           147      147
  Lines          2553     2553
  Branches        288      288
=========================================
  Hits           1673     1673
  Misses          742      742
  Partials        138      138

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Non-Permanent States / Save Exclusions

Question
Would it be possible to have non-permanent states?
By default all states are non-permanent, however to keep them it makes sense to have a Save/Restore Routine implemented.
It would however be great if we could exclude states from being saved or even define which ones are supposed to be saved to the file.
Background:
States are a great way for caching across runspaces, however it doesn't make sense to save the cache to the file while there are probably states that you'd want to save.
Thanks!
Robin

Hey @RobinBeismann,
I like the idea! So you're after something whereby you can exclude certain keys in the pode state?
Perhaps something like?
# some numbers state
Set-PodeState -Name 'Numbers' -Value @(1,2,3,4)

# save, but exclude numbers
Save-PodeState -Path './state.json' -Exclude @('Numbers')

Could possibly also add an -Include on there as well 🤔

Hey @Badgerati ,
yeah, thats basically what I'm looking for, I think using "-Include" might scale better than excluding, having both wouldn't hurt either. :)
Best regards
Robin

I think it would be better when you use the Set-PodeState to actually declare a scope.
Something like:
# some numbers state
Set-PodeState -Name 'Numbers' -Value @(1,2,3,4) -Scope 'File'
Set-PodeState -Name 'Characters' -Value @(a,b,c) -Scope 'something else'

Scope can hold an array of scopes
and 'File' would imply that when Save-PodState is used with -File, the stats that have the 'File' scope are written to the file, and those that dont have it, wont be written.

I actually considered something like -Scope at first, over -Include/-Exclude, but thought people using state might have lots and lots of Set-PodeState and it could be tedious to update them all. Where as they would likely only have a couple of Save-PodeState
However, both ideas could be implemented: -Include/-Exclude and -Scope, as they could also work together as well!
I was thinking of making -Scope free text as well, so:
Set-PodeState -Name 'Numbers1' -Value @(1,2,3,4) -Scope 'Numbers'
Set-PodeState -Name 'Numbers2' -Value @(10,20,30,40) -Scope 'Numbers'

# save just scope:
Save-PodeState -Path './state.json' -Scope 'Numbers'

# save scope, but exclude something:
Save-PodeState -Path './state.json' -Scope 'Numbers' -Exclude @('Numbers1')

Even with people having lots of states already in their scripts, you can have a defualt value.
So any existing Set-PodeState that do not have a -scope and you want to preserve backward compatibility, then it will assume a default value that will catch all possibilities.
Set-PodeState -Name 'Number' -Value @(1,2,3,4)
is the same as :
Set-PodeState -Name 'Number' -Value @(1,2,3,4) -Scope 'All'
Also in you example it doesnt make sense to include Number1 in the Numbers scope. If you dont want to save it to  the file, give it another scope or no scope.

If scope is free text, then none would be the default, and all current state calls work as per normal. I was more thinking on the lines of someone who has to go back and alter a lot of them to give them different specific scopes.
The Number1 example is a rare but still a plausible use case, some body might have a reason for ever wanting to do it.
In general, having Include, Exclude, and Scope would offer flexibility to people for whatever scenario they may have; so doesn't hurt to have all 3.


error when loading extension to Burp v2.0.11beta

java.lang.UnsupportedClassVersionError: burp/BurpExtender has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at burp.a3_.a(Unknown Source)
at burp.a3_.(Unknown Source)
at burp.gcg.a(Unknown Source)
at burp.ao3.lambda$panelLoaded$0(Unknown Source)
at java.lang.Thread.run(Unknown Source)
The extension could not be loaded because it requires a later version of Java. To use this extension you will need to start Burp with the required or later Java version.

The jar file file available in the release sections is compiled using OracleJDK 11. If you need to compile the code using any other version of Java please follow the instructions on the README.


Add checks for DXUP

Nice addition, but it would probably be preferable to have DXVK export a function to configure this, than having it check for DXUP explicitly. Just my two cents

Not possible.


Make DefaultAlgorithm the default AutoML Algorithm

Flip the switch!

check AutoMLSearch output
check test coverage

Some options on logic tying AutoMLSearch to IterativeAlgorithm

rip out old logic pertaining to IterativeAlgorithm
standardize API between IterativeAlgorithm and DefaultAlgorithm

The switch to make DefaultAlgorithm the default is hinging on many automl tests that assume logic from IterativeAlgorithm. After discussion with the team, the plan is to remove such logic from these tests and I will be working on #2868 concurrently as well!


No way of building it on macOS 10.11 (Xcode 8.x)

I installed Swift 4.2 pkg from their page but Xcode still fails to build Slash on 10.11.6 :(

Can you maybe provide a prebuilt version which will work on 10.11 please? :)

Regardless, I did build which works on 10.11 as well from master - http://s.verknowsys.com/80ec5904be5a302bb466dbc7ae4e479e (It's prebuilt binary that works on 10.11+)

@philippkeller Hmmm....,  Xcode (Version 10.1 (10B61)) works for me. Could you please provide more info about the error?
You can find it here:

oh, it now worked after doing
git clone git@github.com:slash-hq/slash.git
cd slash
xcodebuild

Seems that the compilation via brew install is broken

Yes it works from 10.14, but not from 10.11. Cause some magical reasons Xcode has only SDK 10.12 and build fails anyway http://s.verknowsys.com/83a21b7cfd8c3db8903a370f4748910f.png


"once" internal events may never be removed (and be incorrectly triggered later)

Hi, while working with noble we've found several problems related to devices being disconnected while in-between noble calls.The disconnection is not a problem by itself, but those "once" events set in the various methods are, since they are never removed and may trigger later.
The typical noble method implementation pattern is:
Characteristic.prototype.broadcast = function(broadcast, callback) {
  if (callback) {
    this.once('broadcast', function() {
      callback(null);
    });
  }

  this._noble.broadcast(this._peripheralUuid, this._serviceUuid, this.uuid, broadcast);
};

The problem is that if the device disconnects after the event listener is set, the event will never be triggered or even worse it will be triggered on the next call since peripherals/services/characteristics are cached. Depending on the methods involved, this can manifest in different misbehavior of noble.
In my case (connect -> discover services -> discover characteristics -> set notify), if a disconnection happens at the wrong time, this causes notifications not to work on the next connection to the same device.
At the moment, the only solution I've found is not to pass the callback function to the noble method and to bind to the event in my code. I store the event handler, so on device disconnection I can remove the listener manually. But this is ugly.
Second, this problem is also related to the (missing) error handling in the various calls. If something goes wrong, callbacks will never be called. The nodejs common pattern for callbacks function(err, res) is not fully implemented.
I was wondering how to "fix" the problem but all the solutions I've found involve major changes to noble, sometimes even reflecting to its public interface. I think that the best solution would be to:

Properly propagate errors in events, so that callbacks are called in the event of an error
2a. Either trigger all event types with an "Error" parameter on disconnect or
2b. Keep a list of all handlers so that they can be removed/signaled of the error or
2c. When the l2cap-ble (or any other binding) process dies/disconnects, to process the commands queue and trigger the events for each queued command signaling the error.

Step 1 is not really complex. The method above would become:
Characteristic.prototype.discoverDescriptors = function(callback) {
  if (callback) {
    this.once('descriptorsDiscover', function(error, descriptors) {
      callback(error, descriptors);
    });
  }
...

But then all emits need to be changed for the new parameter:
characteristic.emit('descriptorsDiscover', null, descriptors_);
And in case of error, something like:
characteristic.emit('descriptorsDiscover', new Error('disconnected'));
Step 2 involves more work, depending on which option is chosen.
2a. works but it's plain ugly.
2b. is a bit better: it needs to keep an array of objects storing EventEmitter and event name, so that events can triggered on a disconnect or also keep the listener if we want to just remove the listener.
2c. is probably the best but requires a major reworking of the bindings too.
Feel free to comment/elaborate. Thanks!

@bragma correct, I've been delaying fixing this, but it needs to be addressed.
I agree with your assessment, step 1 isn't too bad and suggestion 2a should not be that ugly. I think it just needs to trickle down the disconnect event to services, characteristics, descriptors from peripheral. The tricky part is knowing what operation is pending, and if there are any non-internal listeners attached when the disconnected error event is dispatched.
Thoughts?

I remembered that sandeepmistry has temporarily fixed this problem in a topic before

The idea is to emit for all possible event types, so we don't need to know which operation is pending. If none is listening, the emit will go waste but not cause any problem. I don't see the need for discriminating between  internal and "non-internal" listeners: non internal will still be waiting for events that will never come, if the peripheral disconnects. If they receive an error, they should be able to handle or ignore it. Even better, I think that event non internal listeners should know what happened, else they'll have the exact same problem we have to the internal ones.
@duyhotan2000 I've found this discussion https://github.com/sandeepmistry/noble/issues/111 where @sandeepmistry solves the problem in another way, by adding another event listener for disconnect. It has never been implmented, though.

@bragma I'd like to keep the same consistent for now. What do you think about something like this?
Characteristic.prototype.broadcast = function(broadcast, callback) {
  this.once('_broadcast', function(error, state) {
    if (callback) {
      callback(error);
    }

    if (error) {
      this.emit('broadcastError', error);
    } else {
      this.emit('broadcast', state);
    }
  }.bind);

  this._noble.broadcast(this._peripheralUuid, this._serviceUuid, this.uuid, broadcast);
};

Shifting towards an noble internal _broadcast event, which then gets converted to an external event.

Hi guys,
Have you seen 'Production Practices' on error handling from Joyent?
https://www.joyent.com/developers/node/design/errors
I think it's good to follow best practices suggested by language designers. One thing which I've noticed there is:
"If you want to deliver an error asynchronously, You generally want to use one or the other of these (callback or event emitter), but not both."
I wonder if emitted events are needed for the simplest functions? Possibly it would be easier for Noble users to use callbacks when possible and events emitter when it's really needed?
Otherwise we could end up with a bunch of events not used by anyone which needs to be maintained.
I belive that callbacks are just fine for functions like; write, read, notify or broadcast, but then there are events which must use events emitter; notify, stateChange, discover, disconnect, (connect for consistency).
Characteristic.prototype.broadcast = function(broadcast, callback) {
if (callback) {
this.once('_broadcast', function(error, state) {
callback(error, state);
});
}
this._noble.broadcast(this._peripheralUuid, this._serviceUuid, this.uuid, broadcast);
};
Maybe even force user to pass a callback:
if (!callback) {
throw new Error('Callback must be a function');
}
What do you think?

@rosek86 as you point out, there is probably an overuse of events in noble. Maybe the idea was to keep consistent. Still I think going back to callbacks would require some mayor rework on the code, in particular the bindings.

@rosek86 thanks for the link, it makes sense to drop the broadcastError event, however I would still like success events (mostly to maintain API compatibility).
Here's where I'm at:
Characteristic.prototype.broadcast = function(broadcast, callback) {
  this.once('_broadcast', function(error, state) {
    if (callback) {
      callback(error);
    }

    if (!error) {
      this.emit('broadcast', state);
    }
  }.bind);

  this._noble.broadcast(this._peripheralUuid, this._serviceUuid, this.uuid, broadcast);
};

@sandeepmistry there is something strange in the code you suggest. I don't understand the logic. If a callback is specified, you call it but pass only an error, which may be null. Still, you call the event if there is no error. Or, reading it in another way, if there is an error you call the callback, else you call both the callback and the event.
Seems very confusing to me.

I agree with @bragma that this code is a bit confusing. @sandeepmistry I think we need at least pass a result (state in the example) to a callback:
callback(error, state)

I think that emitted events should be called on error too in this way:
this.emit('broadcast', error, state);

This would be very useful for a 'data' event, e.g. when application waits for data using once function we need to make sure that callback is executed even though the error occurs. Otherwise callback can be called again in inappropriate time which may cause a lot of problems.
I believe that this is how user should handle data events:
char.once('data', function (err, data) {
  if (err) {
    // do something
    return;
  }

  // do something else
});

Probably the best solution is to use callbacks (if provided by the user) and emit events just in case someone wants to subscribe, but in this case is user's responsibility to use once, on and remove the listeners when required. The user should be allowed to provide a callback, or null if he wants to use events.
It requires a major rework of current code base. In the meanwhile, while I am not a big fan of this solution, we could do what suggested by @sandeepmistry in https://github.com/sandeepmistry/noble/issues/111 i.e. something like this:
Peripheral.prototype.discoverServices = function(uuids, callback) {
  var servicesDiscoverCallback = function(services) {
    this.removeListener('disconnect', disconnectCallback);
    callback(null, services);
  };

  var disconnectCallback = function() {
    this.removeListener('servicesDiscover', servicesDiscoverCallback);
    callback(new Error('peripheral disconnected'));
  }.bind(this);

  if (callback) {
    this.once('servicesDiscover', servicesDiscoverCallback);
    this.once('disconnect', disconnectCallback);
  }

  this._noble.discoverServices(this.uuid, uuids);
};

@bragma @rosek86 I still don't think there is anything strange with the following:

An internal _broadcast event listener is added.
If a callback is supplied, it is called with an error parameter - which is most likely null, to indicate no error. There is no need to pass state, it not standard Node.js style from my understanding. In this case the value will be the same as the broadcast argument.
If there is no error, the broadcast event is emitted. I do agree that is a bit overkill, but removing it is a breaking API change, which I prefer to avoid at this point in time.

Characteristic.prototype.broadcast = function(broadcast, callback) {
  this.once('_broadcast', function(error, state) {
    if (callback) {
      callback(error);
    }

    if (!error) {
      this.emit('broadcast', state);
    }
  }.bind);

  this._noble.broadcast(this._peripheralUuid, this._serviceUuid, this.uuid, broadcast);
};

It seems to me that the callback(err, data) is fully Node.js style indeed (see https://docs.nodejitsu.com/articles/getting-started/control-flow/what-are-callbacks). I don't like it, because of http://callbackhell.com/ (and I hope soon promises will be available) but again if you give it a look and also look at the entire Node.js API, when callbacks are present the standard is callback(err, arguments).
But let's go back to the original discussion: internal "once" events may not be triggered and cause double triggering on next event. Let's discuss how to solve this, which imho it is not a matter of style, but a bug.
Reconsidering your suggestion https://github.com/sandeepmistry/noble/issues/111#issuecomment-67779701 while I am not a big fan of it (increases proliferation of events), it should solve the original problem and not break the API. I am reporting your code for discoverServices here, the same can be done for all methods using "once" for transforming an event to an externally supplied callback:
Peripheral.prototype.discoverServices = function(uuids, callback) {
  var servicesDiscoverCallback = function(services) {
    this.removeListener('disconnect', disconnectCallback);
    callback(null, services);
  };

  var disconnectCallback = function() {
    this.removeListener('servicesDiscover', servicesDiscoverCallback);
    callback(new Error('peripheral disconnected'));
  }.bind(this);

  if (callback) {
    this.once('servicesDiscover', servicesDiscoverCallback);
    this.once('disconnect', disconnectCallback);
  }

  this._noble.discoverServices(this.uuid, uuids);
};

+1, and when you use callback(err, data) convention you can use libraries like async, e.g. do all BT LE request in series and handle results at the end.
async.series([
  func_read1,
  func_read2
], function (err, results) {
  // check error && handle results
});

which reduces callback hell a bit.

Totally agree on the read scenario.
The broadcast API I was referring to was an action API (you are enabling/disabling broadcast mode on a characteristic). This is similar to a write operation, I don't think it's convention to return the data that was written to the callback.

@sandeepmistry I agree, sorry if I contributed to the misunderstanding. I'm not saying that all methods should return the "input" data as "output" on the callback. But if the purpose of the method is to "read" or gather some data and the operation, even if async, gathers the result in a single step, it should pass it to the callback. So if the main purpose of the method is to "write" something and there is nothing else to get back aside from failure/success status, a callback(err) is enough. But if the method provides some other data, then the prototype should be something like callback(err, result1 [, result2, ... resultN]).
What I'm not totally in is the idea of having a callback only for errors, and an event only for results (unless it is a stream, which is a different scenario because a single operation can generate multiple results at unknown times).
Probably the best example of this are the exec vs spawn methods.

@bragma we are on the same page, I'll add this to my TODO list.

I've been thinking on this issue since it was created.
I wouldn't go with (err, result) signature in events, because that's unfamiliar for every node developers.
I think we could keep (for at least now) the events but and try out something small (huge refactor will cause a lot of bugs).
Express.js team addressed team with a pretty slick way, using ee-first (it's used in one of express' dependencies, in on-finished).
var first = require('ee-first');
Characteristic.prototype.broadcast = function(broadcast, callback) {
  if (callback) {
     first(['error', 'disconnect', 'broadcast'], function(err, ee, event, args) {
        callback.apply(null, [err].concat(args));
     });
  }

  this._noble.broadcast(this._peripheralUuid, this._serviceUuid, this.uuid, broadcast);
};

This way we could:

keep the events (less refactor)
make sure event listeners get removed
keep consistent callback style (err, result)

What do you think?

@oroce thanks for suggesting ee-first, it looks like a good fit.
I've pushed my WIP for "private events", which was discussed with @bragma and @rosek86 above: https://github.com/sandeepmistry/noble/tree/private-events
@bragma @rosek86 what are your thoughts on ee-first vs "private event"?
After the "disconnect" issue is resolved, the next step is allowing the bindings to propagate errors, see #184 and #207. Both mechanisms would work, ee-first looks like a cleaner approach.

Hi, @sandeepmistry,  just curious about the status of your branch. Are you thinking it's mostly ready to merge? Or does it need more work?

@benturner unfortunately, it needs more work, I'm not too happy with the change ATM.

Please can you update status of this issue on this latest release:
<EMAIL_ADDRESS>


Is there a way to get a particular row's row number

I find myself wanting to use the current row number in formulas, but I don't see any way to obtain that without manually tracking it.

Any news on this? I'm doing the same... =/


Glyph of Rending not working in rotation

Describe the bug
Rend duration is not being extended by Glyph of Rending
To Reproduce
Steps to reproduce the behavior:

Equip glyph of rending
sim DPS
View results timeline
Rend is cast every 15 seconds

Expected behavior
Rend should be cast every 21 seconds with glyph of rending.
Sim Links and Screenshots
If applicable, add links to your sim settings or screenshots to help explain your problem.

Thanks for the report, this has been fixed in 3bdf2139.


feat!: check for unused dependencies by default

cc @achingbrain

Looks like quite a few unused deps

Looks like quite a few unused deps

Argh, I need to add list of dependencies that are going to be ignored by default...

Yeah, the deps aren't used in the code but they are used by things like semantic-release, testing, etc.


dSPACE.Runtime.InteropServices.BuildTasks.Tools.targets does not create a target for 32-bit assemblies

I'm trying to use the NuGet package to integrate TLB exports into my build process. For pure 32-bit libraries, it appears that there is a conditional statement here that is blocking a target for the export from being generated, despite lines earlier in the file which appear to be setting up the use of the 32-bit dscom.exe
https://github.com/dspace-group/dscom/blob/f1754d68ff89ff55eabd2eb33d4779a43e2350c7/src/dscom.build/dSPACE.Runtime.InteropServices.BuildTasks.Tools.targets#L32-L36

Apologies if I'm misunderstanding something here with regards to the pure 32-bit support. If the dscom library in the x86 folder is meant to only support AnyCPU libraries, can the dscom32 library also be added to the build targets package?

I'm Not Sure, If I will be able to Look at that tomorrow, but I should be able to Look at that on friday.
Regards
Carsten

I had some issues with x86 based builds in the past, maybe That's the reason why IT accidently was Not added.
This is rather Strange. Maybe IT slipped through.
I'll Try to get it running with some of our Samples.

Ok, I can confirm that, when I run the example script, it skips the x86 builds:

But runs this in x64

I'll correct that and run some tests with 32 bit based builds

I found an issue with the github workflow / actions.
On my local machine I have installed .NET 8 x86, but it seems not to be installed on the build machines.
Even though I am using a self-contained build.
I'll investigate it any further and keep you informed.

@marklechtermann @SOsterbrink I am using self-contained=false in DsComPackaging.targets. The reason is

It decreases the size of the NuGet packages
It does not bundle the runtime which is better for (security) compliance reasons.

I have no idea, how to install the .NET 8 Runtime in 32 bit (x86) on the github runners.
I do two things:

I can add dotnet runtime using a self-contained distribution
I can disable the compatibility test for x86 during pull requests.

Both options are not really attractive. And honestly, I am reluctant to do any of this. I am more a fan of removing the root cause.
Do you have any idea, HOW to add the .NET RT 8.0 x86 to the agent?

According to the installer script in the action the variable processor architecture could be used, but this is skipped.

I would temporarily deactivate the x86 check.
I don't know of any other solution.
If we come up with something better, we can release the x86 test later.


API Version not valid

Describe the bug
When reading an aks resource with "az resource show --ids" the following error  is thrown:
(InvalidAPIVersion) API version '2024-08-01' is not valid
Code: InvalidAPIVersion
Message: API version '2024-08-01' is not valid
Related command
az resource show --ids /subscriptions/..../providers/Microsoft.ContainerService/managedClusters/xxxx
Errors
(InvalidAPIVersion) API version '2024-08-01' is not valid
Code: InvalidAPIVersion
Message: API version '2024-08-01' is not valid
Issue script & Debug output
az resource show --ids
Expected behavior
Return the correct AKS object.
Environment Summary
azure-cli                         2.64.0
core                              2.64.0
telemetry                          1.1.0
Dependencies:
msal                              1.30.0
azure-mgmt-resource               23.1.1
Additional context
The same happends with Az powershell cmdllets.

Thank you for opening this issue, we will look into it.

I'm getting such error only West Europe kubernetes clusters, for North Europe clusters azcli works without problem

Having the same problem when I try to update my cluster using devops (ARM).

https://github.com/Azure/azure-cli/blob/9f506a39ebdf963001ab64b5db102f2e2c26a38d/src/azure-cli/azure/cli/command_modules/resource/custom.py#L4591-L4613

provider = rcf.providers.get(resource_provider_namespace)

Since the api-version used for command az resource show comes from the Resource Provider, it requires assistance from the ARM or ContainerService team to take a look

What helped in our occasion was to specify the --api-version for now..
az resource show --api-version 2024-05-01

We are also facing same issue since last 2-3 days. kindly prioritise the fix for this issue.

@josephkwchan. , @jennyhunter-msft

We are still investigating from our side. Thank you for your patience.


Enable editorconfig support by default

Why is it off? I see issues being opened constantly because it's off per default. Why not just enable it per default, like Visual Studio does?

@ffMathy That has been on the backlog for a while now. We will enable it in the next release.

EditorConfig is enabled by default in the newly published 1.23.7 release.


Unable to find Base Folder

We are getting below error:
Exception: C:\Program Files\WindowsPowerShell\Modules\BcContainerHelper\6.0.15\AppHandling\Run-AlPipeline.ps1:481:5
Line |
481 |      throw "baseFolder must be an existing folder"
|      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| baseFolder must be an existing folder
Upon checking, found that the folder is their on respective path.
Kindly assist what needs to be done?

Sorry, but I have no way of assisting when the amount of information is this little.
I would say that you are specifying a non-existing folder in the basefolder parameter of Run-AlPipeline - but that is what the error says.
Run-AlPipeline is used 10.000 times a day and works like a charm if given the right parameter set.
Please specify full script, full output, full explanation of what, how, when and why in order for me (or other people) to be able to help you.

Hi,
We are following mentioned workshop:
https://github.com/microsoft/AL-Go/blob/preview/Scenarios/old/CI_CD_Workshop.md
Where we are trying to run .\Local-DevEnv.ps1
*Attached is the Local-DevEnv.ps1 scripts where it  says below *
[image: image.png]
After running the script after configured everything mentioned in the
document, we are getting below error:
[image: image.png]
Please let me know if you need anything else from me.
Regards,
Saurabh Thakre
On Thu, Apr 25, 2024 at 4:49 PM Freddy Kristiansen @.***>
wrote:

Sorry, but I have no way of assisting when the amount of information is
this little.
I would say that you are specifying a non-existing folder in the
basefolder parameter of Run-AlPipeline - but that is what the error says.
Run-AlPipeline is used 10.000 times a day and works like a charm if given
the right parameter set.
Please specify full script, full output, full explanation of what, how,
when and why in order for me (or other people) to be able to help you.
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/navcontainerhelper/issues/3513#issuecomment-2076949745,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOHOVFTUHRO77VEAVJEOC43Y7DRF7AVCNFSM6AAAAABGYQVYJ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZWHE2DSNZUGU
.
You are receiving this because you authored the thread.Message ID:
@.***>

The old HOL is no longer maintained nor supported.

You will be running into many many thing you will need to fix and/or solve yourself.
I unfortunately cannot help out on this - there is a reason why we have selected to unsupport this.
I don't think partners should be spending their time and money on setting up CI/CD themselves when there are alternatives like AL-Go for GitHub out there, which are free and supported.
Sorry

Thanks.
Can you share AL Go for Github document or URL to refer.
On Thu, Apr 25, 2024 at 8:12 PM Freddy Kristiansen @.***>
wrote:

The old HOL is no longer maintained nor supported.
image.png (view on web)
https://github.com/microsoft/navcontainerhelper/assets/10775043/423c5e5a-0e48-4ceb-b0cd-5c27473b3197
You will be running into many many thing you will need to fix and/or solve
yourself.
I unfortunately cannot help out on this - there is a reason why we have
selected to unsupport this.
I don't think partners should be spending their time and money on setting
up CI/CD themselves when there are alternatives like AL-Go for GitHub out
there, which are free and supported.
Sorry
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/navcontainerhelper/issues/3513#issuecomment-2077389072,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOHOVFXFIIKPEU5J4MPQYNLY7EI67AVCNFSM6AAAAABGYQVYJ2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZXGM4DSMBXGI
.
You are receiving this because you authored the thread.Message ID:
@.***>


Enhancement for listings tap

Enhancement
at the listings tab make it possible to return/update listings names from your profile without loosing data on messages
ability to see which listings are listed and which are unlisted

Can you explain in more detail what you mean by:

make it possible to return/update listings names from your profile without loosing data on messages

I did edit listing title names in my Superhostools profile the way they stopped matching my airbnb listing names (i thought i would remember which is which) but now i have a hard time to identify -- Thank you and best regards, Evan +66(0)827960151    26.08.2018, 03:03, "Tom" notifications@github.com:Can you explain in more detail what you mean by:make it possible to return/update listings names from your profile without loosing data on messages—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or mute the thread.

You should be able to go to the listing's settings page and delete the nickname and that should put the original listing name back.  Is that what you wanted?

I also added the listing title to the listing setting dialog so you know which listing it is when editing the listing nickname.  I'm going to close this unless you think it's still unclear?


Fix Tracim website URL

Tracim now has a dedicated website, so the URL would need to be updated in the readme (there is no redirect from the old URL).
See you,
Yvan

Thanks @buxx!


XarrayReader considers tiles out of bounds when longitudes > 180?

I created an rio_tiler.io.xarray.XarrayReader for a dataset that has longitude range 200 to 330 degrees East (which is not uncommon in NetCDF datasets) and tried to get a global tile at zoom level 0.
That would fail, saying the tile was out of bounds.
Once I subtracted 360 to get the longitudes into the -180, 180 range, it worked.
Should we handle datasets with wrapping longitude axes better in XarrayReader? Or document the tight criteria that files need to fulfill to work?
Here is a minimal example: https://gist.github.com/j08lue/6ec9ecc2a853e499e4fca98d8aa5fb78
The gist:

with XarrayReader(da) as reader:
    img = reader.tile(0, 0, 0)

fails with
---------------------------------------------------------------------------
TileOutsideBounds                         Traceback (most recent call last)
Cell In[6], line 2
      1 with XarrayReader(da) as reader:
----> 2     img = reader.tile(0, 0, 0)

File ~/Code/titiler-xarray/.venv/lib/python3.12/site-packages/rio_tiler/io/xarray.py:235, in XarrayReader.tile(self, tile_x, tile_y, tile_z, tilesize, resampling_method, reproject_method, auto_expand, nodata)
    232     reproject_method = resampling_method
    234 if not self.tile_exists(tile_x, tile_y, tile_z):
--> 235     raise TileOutsideBounds(f"Tile {tile_z}/{tile_x}/{tile_y} is outside bounds")
    237 ds = self.input
    238 if nodata is not None:

TileOutsideBounds: Tile 0/0/0 is outside bounds

I see we have some code in TiTiler-Xarray that makes sure datasets conform to the format we expect, e.g.
    if crs == "epsg:4326" and (da.x > 180).any():
        # Adjust the longitude coordinates to the -180 to 180 range
        da = da.assign_coords(x=(da.x + 180) % 360 - 180)

        # Sort the dataset by the updated longitude coordinates
        da = da.sortby(da.x)

https://github.com/developmentseed/titiler-xarray/blob/2be19eb9905d94cd6ac21f73947ad9802f9e92cb/titiler/xarray/reader.py#L174-L179
I guess we should at least add some checks to the XarrayReader, though, so it fails better?

that seems reasonable


Style in constructors

Allow to set style css specs in Widget constructors.

It is implemented as decorator for __init__().

The example widgets_overview_app.py was modified to use
the new capability.

Can you do this as a single commit against master?

@mcondarelli I like this feature. I think that @nzjrs says something correct.
It's better to have pull requests targeted to specific changes/features in order to ease following the changes history.
That pull request includes other changes because built on them.
Furthermore, all displayable widgets can accept style attributes, and so (considering that the basic Widget class gets inherited by all the widgets)
is it better to include the decorator inside the Widget's constructor instead of decorate all the classes?

I can rebase and do the change as a single commit against either master or development.
Just tell me what do You prefer.
Reason why I did it that way is some widget constructors set style parameters; If setting is done in ancestor constructor it will be (in some cases) overridden. This will (probably) become more and more the case as Remi evolves and "default" styling will incerase.
Rationale is widgets can (perhaps "should") suggest some styling, but explicit user choices should take precedence.


[JavaScript] Add Durable triggers to verified category

There's a few templates that should be stable that still show up only in the All filter.  Ideally all the templates could now be verified now that we've GA'd and things have settled, but prioritized list of ones that should show up

Durable Functions (activity, HTTP starter, orchestrator)
IoT Hub
Event Grid

Event Grid was added here, to be released soon: https://github.com/Microsoft/vscode-azurefunctions/pull/1010
For Durable, we haven't done it because those templates aren't labeled as "Core" and we only consider "Core" templates for our "Verified" category. Are those a core scenario or not?

Yes - and maybe that's a work item for  @soninaren as well but believe now that durable JS is GA it should be Core
//cc @kashimiz

I prefer to track each template type separately, so I've re-purposed this issue to be specific to durable functions on JavaScript. Like I said above, Event Grid is already done. Here's an issue to track IoT: https://github.com/Microsoft/vscode-azurefunctions/issues/1036

@jeffhollan, we had put durable in its own category. We can certainly add it to core as well. let me know.

Since the categorization doesn't really show up anywhere, makes sense to just label these as Core to stick to how they are managing today per this:

For Durable, we haven't done it because those templates aren't labeled as "Core" and we only consider "Core" templates for our "Verified" category. Are those a core scenario or not?


Low performance with big files

Steps to reproduce:

Open very big file (1.5M lines)
Switch to insert mode.
Start typing.

Profiling says that this caused by the following function:
FUNCTION  <SNR>27_on_text_changed()
    Defined: ~/.config/nvim/pack/plugins/opt/nvim-compe/plugin/compe.vim:39
Called 36 times
Total time:   2.173349
 Self time:   2.171816

count  total (s)   self (s)
   36   2.173265   2.171732   call luaeval('require"compe"._on_text_changed()')

Suggestion: maybe add an option to disable completion for files that bigger than specified number of lines?

Would be interesting to know which source specifically causes this.
Anyway, if you are using packer, you can use the following to only load a plugin if the number of lines is less than 1000:
inspected_buffers = {}
-- this function is called b4 a buffer is opened, so we need to manually open the file and count the lines.
function limit_by_line_count(max_lines)
	local fname = vim.fn.expand("%:p")
	local cache = inspected_buffers[fname]
	if cache ~= nil then
		return cache
	end

	max_lines = max_lines or 1000
	local lines = 0
	for _ in io.lines(fname) do
		lines = lines + 1
		if lines > max_lines then
			break
		end
	end
	inspected_buffers[fname] = (lines <= max_lines)
	return inspected_buffers[fname]
end

and then in packer:
		use {'hrsh7th/nvim-compe', cond = limit_by_line_count, opt = true}

I think this slows down is occurred by buffer source.

https://github.com/hrsh7th/nvim-compe/blob/master/lua/compe_buffer/buffer.lua#L21

Why would the buffer source need to re-read the file every time the user goes into insert mode?
Maybe it would be better to read once on open, and on every write?

It is possible, but it cannot collect your inputted words..

I dont know.
For me, it does not make sense to read the entire buffer every time you go into insert mode.
This should be done opportunistly, both time-wise and buffer-location-wise. What I mean is that
(a) the entire buffer should be read once upon load, and every once in a while afterwards
(b) when the user exits insert mode, reprocess the changed region only.

The entire buffer scan is very slow, but it is accurate behavior.
This is trade off.

The buffer source can reprocess the changed region, but it is not accurate result.

Anyway, if you are using packer, you can use the following to only load a plugin if the number of lines is less than 1000:

This method will not work if I first open a small file and then a large one.

I think this slows down is occurred by buffer source.

Yes, this happens when only the buffer source is enabled.
I think it's nice to be able to completely disable auto-completion (e.g. all sources) for large files.

The buffer source doesn't re-load on each InsertEnter.
It loads all words initially and then watches line changes.

The all word indexing is too heavy so we should improve/delay/skip it.

autocmd BufEnter * call s:on_buf_enter()
function! s:on_buf_enter() abort
  if nvim_buf_line_count(0) < 2000
    call compe#setup({
    \  ...
    \ }, 0)
  endif
endfunction

@hrsh7th maybe you can use nvim_buf_attach to only parse updated lines. First pass may be a bit slow, but afterwards should be very quick.

@hrsh7th Regarding this last comment of yours, what do you put in that ... block to disable compe?

It loads all words initially and then watches line changes.
The all word indexing is too heavy so we should improve/delay/skip it.

But I forgot to clarify that the problem appears only typing. So I think that the problem is not in the indexing of all words.

The indexing of all words is triggered by first typing. So I still think it is the cause.

The indexing of all words is triggered by first typing. So I still think it is the cause.

Thanks for the clarification!

@hrsh7th, can we have a proposed workaround as an option?

occurs to me on every files if i open a new file this takes 1-10ms time for editor input to respond
and seems related to vsnip completion source

and seems related to vsnip completion source

No, I can reproduce it with buffer completion too.

occurs to me whenever I open a new file takes 1-10ms for editor input to respond
and seems related to vsnip completion source

@hrsh7th do you have any idea about this issue or I should open a new issue in vsnip repository

@mortezadadgar Can you test it without vsnip source or without vnip?

No, I can reproduce it with buffer completion too.

It seems not vsnip related problem...
The minimal configuration is needed.

@Shougo Yeah I tested without vsnip source and the delay on first character insert vanishes
I can reproduce with this config: https://pastebin.com/F2A0NVwe

Oh. So it seems vsnip source problem interesting.
The delay is the first character only?
It may be from cache creation.

The delay is the first character only?
Yes

I think vsnip can load snippets before input.  I don't know what function do it though.

You can call vsnip#get_complete_items(bufnr('％')) before input instead.  I think it can be called in autocmd FileType.

call vsnip#get_complete_items(bufnr('％'))

yes this improve the situation but It won't work if I lazy load on InsertCharPre event

Yes.  Because the delay is lazy loaded overhead.
No magic.

@mortezadadgar The work around is here.
autocmd FileType * call vsnip#get_complete_items(bufnr('%'))

I've tried to improve buffer source performance by Luv's Thread and message-pack RPC.
But it is impossible with current neovim (because neovim does not expose mpack module)

@mortezadadgar The work around is here.
autocmd FileType * call vsnip#get_complete_items(bufnr('%'))

Is there any better solution for this issue

Unfortunately, no.  If you don't like the overhead, you cannot lazy vim-vsnip.

@hrsh7th sorry I'm spamming you on a unrelated issue, would not be better to load snippets based on filetype just like the way luasnip does

Improve vsnip performance with friendly-snippets.
https://github.com/hrsh7th/vim-vsnip/commit/87d144b7451deb3ab55f1a3e3c5124cfab2b02fa

Improve vsnip performance with friendly-snippets.
hrsh7th/vim-vsnip@87d144b

Thanks! it's much faster now


Modifying the POST body in onProxyReq

Following this recipe: https://github.com/chimurai/http-proxy-middleware/blob/master/recipes/modify-post.md, I expect to be able conditionally modify the POST body based on the proxy path. The encodeURIComponent portion of this script only works with objects that are one level deep.
How do I make this work with any object, no matter how many levels deep it might go, or just bypass the onProxyReq method entirely for other URL's I don't care about?
Setup

body-parser: 1.15.1
http-proxy-middleware: 0.15.2
express: 4.13.4

proxy middleware configuration
const apiProxy = proxyMiddleware('/services', {
  target: config.serverUrl,
  changeOrigin: true,
  pathRewrite: {
    '^/services': ''
  },
  onProxyReq: // just like the recipe linked above, but with a conditional check on proxy path

server mounting
const app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

app.use(apiProxy);
app.listen(3000);

Don't have to answer to your question unfortunately...
The recipe originated from this issue: #61
Can you post this question on StackOverflow with a backlinks between github <-> stackoverflow? In case someone runs into the same issue.
Thanks!

Body parser is causing issue. In my case I removed these and proxy worked fine
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

You can use individual routes with bodyParser
app.post('/xyz', bodyParser.json(), function (req, res) {
    // use req.body
});


Model copy(update=) not validating

Question
Currently calling copy with update= does not validate the updated data and we can end up with odd cases like this:
import pydantic

class ChildModel(BaseModel):
    v: int

class Model(BaseModel):
    c: ChildModel

>>> m = Model(c={"v": 5})
>>> print(m.c)
ChildModel v=5

>>> m2 = m.copy(update={"c": {"v": 3}})
>>> print(m2.c)
{'v': 3}

One can also imagine a case where the updated data is completely incorrect as well. A current workaround would be to do the following:
>>> m3 = m.copy(update={"c": m.c.copy(update={"v": 3})})
>> print(m3.c)
ChildModel v=3

This seems a bit awkward. A possible fix would be to call __init__ rather than construct in the copy constructor if update is not None. We use this feature quite a bit to alter immutable models.

this was by design, copy was supposed to be quick and thereby avoid all the validation logic.
I would say, we'd be better to have another method copy_validate (better name required) which copies and updates the model while validating the update data.
At the risk of getting into another discussion the ones recently raging in python-ideas, we could alternatively use the + operator for this, so something like
m3 = m + {"c": {"v": 3}}
print(m3.c)
ChildModel v=3

But maybe that's completely mad?

Maybe a bit too much overloading without the new dict + dict PEP going through in 3.9 or whatever it ends up being?
I would argue a bit that update would be expected to be slightly slower than straight copy. The name does need to be a shorter and have a more clear syntax than Model(**{**other.dict(), **update}) or it isn't worth it.

how about update complies with validate_assignment, eg. it's validated only if validate_assignment = True?

That would certainly cover a case I would consider a bug otherwise, but it wouldn't quite work for our use case. Happy to make a PR to patch validate_assignment however.

ok, what about adding a validate=None argument, means:

None - use validate_assignment to decide whether to validate update
True - always validate update
False - never validate update

?

Thinking on it a bit validate_assignment should work for us, it just involves setting another flag that we do not usually set and remembering to do so. Do you still want a validate=None flag?

I think best to implement this in our own logic.

I think best to implement this in our own logic.

did a PR ever get submitted along these lines? definitley a feature I would like, especially for the case of immutable models where you're constantly making new copies, this would simplify a lot of validation boilerplate
is there a workaround for in the meantime if not? :)

@phinate How about
from typing import TypeVar

from pydantic import BaseModel as PydanticBaseModel
from pydantic.utils import deep_update

Model = TypeVar('Model', bound='BaseModel')

class BaseModel(PydanticBaseModel):
    def update(self: 'Model', update_dict: dict[str, object]) -> 'Model':
        new_dict = deep_update(self.dict(), update_dict)
        return self.__class__(**new_dict)

class ChildModel(BaseModel):
    v: int

class Model(BaseModel):
    c: ChildModel

m = Model(c={"v": 5})
assert repr(m) == 'Model(c=ChildModel(v=5))'

m2 = m.update({"c": {"v": '3'}})
assert repr(m2) == 'Model(c=ChildModel(v=3))'

Probably buggy in some edge cases as I didn't try it out with complex examples.
Hope it helps still!

For folks wanting a drop in for the copy method so all uses validate (unless explicitly requested not to), I started using:
    def copy(self: _Model, *, validate: bool = True, **kwargs: Any) -> _Model:
        copy = super().copy(**kwargs)
        if validate:
            return self.validate(
                dict(copy._iter(to_dict=False, by_alias=False, exclude_unset=True))
            )
        return copy

It's probably (much) less performant than stock, if that matters for your use cases.

I think best to implement this in our own logic.

@samuelcolvin  👋😸  Was this ever implemented? Or should we still use community solutions? Thank you!

I think best to implement this in our own logic.

@samuelcolvin  👋😸  Was this ever implemented? Or should we still use community solutions? Thank you!

Why this issue is closed? This issue makes partial updating the model impossible.

A year later we cry for edification


Support for AX

Is there support for the AX series? Specifically AX-12A?

Hi! Not at the moment as we are not using those motors. But you can easily add it by creating a file similar to this one for MX: https://github.com/pollen-robotics/rustypot/blob/develop/src/device/mx.rs


Breakout ltest() function into separate module?

I like the ltest() function in test.js a lot. It's a very common use case that you want to test something and you want a fresh db, which is closed and cleaned up automatically.
@rvagg Would you mind if I stole your code? :) I'm thinking this would be a good fit together with level-test instead of using levelup (so there would be automatic support for in memory databases) and it should also probably be slightly more generic, i.e. remove the calls to ttl() and fixtape() (btw what does that call do?).
Another cool thing would be if it was test agnostic and could be configured with a test function, so you could use tap or tape or whatever.

Obviously that module could be used by level-ttl which basically would make the calls to ttl() and fixtape().

@ralphtheninja steal whatever you like, I use the same pattern across lots of modules and it probably could be made pretty generic

@rvagg https://github.com/ralphtheninja/ltest

$ npm publish
+<EMAIL_ADDRESS>

sweet, and now the tests have tests!

@rvagg Aye :)


Figure out where phantom "visible editors" are coming from

We seem to have hats getting assigned in editors that we can't see.  This behaviour is observable because:

some good hats seem to not be chosen
if you say these hats, you get weird error messages like "language plaintext not supported"
when I was experimenting with scope visualizer reporting error message for scopes not being supported on all visible editors, I got weird error messages about editors I couldn't see

We should add some debug printouts locally to figure out where these visible editors are coming from.  Could do this in a debug version of Cursorless and run it locally

error messages like "language plaintext not supported"

For what it's worth, this is the exact error message I was getting just now running the extension tests without the vscode-tree-sitter-query extension installed.
Haven't investigated that connection any further.

That one is likely different. That happens because if you don't have an extension registered for a given language, then the editor will be treated as plaintext because no extension has told VSCode to do anything else
The issue described here is likely because there is a hat somewhere in a weird pseudo-editor, and that editor probably has no language set

I'm going to close this one because I haven't seen it in a long time; we can reopen if it comes back


No headsets available

I've tried all the examples and none of them are working, the response for query headsets always contains [] as result. Also, when trying to use CortexUI, I get the same message "No available headsets". The headset is connected and working, I've tested it with Emotiv Xavier Control Panel.
I'm working on Windows 10, last version of Cortex API.
Any idea why this is happening? Any help is much appreciated :)

@CrisMD have you tried with the latest Cortex 1.3?


Enable auto redirect for the http client

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/11895972077
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/11906165667

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/11906165667
Status: cancelled

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/11909283615
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/11950820868

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/11950820868
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/11966458576

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/11966458576
Status: failure

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/11968503732


Cow: Watch toplinks_one(?# t.me)

Cow requests the watch of the watch_keyword toplinks_one(?# t.me). See the MS search here and the Stack Exchange search in text, in URLs, and in code.

toplinks_one(?# t.me) has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Cody Gray in Charcoal HQ


Cannot programmatically set hint on ChipsInput

ChipsInput::setHint(String mHint) API exists but doesn't work.

All right, I will look into it !

@pchmn any news about this one?


Depreciation warnining

The depreciation warning was added as a decorator before each function and class that are migrating to biahub.
To do:

[x] Tests

I find that the warnings.warn() message is not issued on the terminal as click filters our these warnings. Instead of using warnings.warn() you should modify the click command decorator to @click.command(deprecated=True). I've tested that this does issue a warning. With this syntax, you don't have an option to add a custom message (e.g. Use the function in biahub), but I think that's OK.

@tayllatheodoro I think this comment is still not resolved. Once you've implemented the @click.command(deprecated=True) syntax I think we can merge this branch.

deprecated=True

Hii, I had understood it was a suggestion, but I just corrected it. Thank you


Workspace: Filter gradient histogram charts or sort by type

Problem or Use Case
I frequently use wandb.watch to observe my model's gradients throughout the training process to make sure training is properly taking place. I thought that it would be convenient if there was a filter function for us to be able to choose which gradients we want to view, considering that there are typically hundreds or thousands of these histogram plots. For example, it would be convenient to be able to select to show only the weights/biases or only the gradients at certain parts of the model.
Suggested Solution
A dropdown menu with checkboxes for each component is one idea that I had. For example, if I had a model that looked like the following:
>>> import torch.nn as nn
>>> class Model(nn.Module):
...     def __init__(self):
...         super(Model, self).__init__()
...         self.linear = nn.Linear(in_features=3, out_features=3)
...         self.softmax = nn.Softmax(dim=-1)
...     def forward(self, x):
...         linear_output = self.linear(x)
...         return self.softmax(linear_output)
>>> model = Model()
>>> print(model)
Model (
    (linear): Linear(in_features=3, out_features=3, bias=True)
    (softmax): Softmax(dim=-1)
)

then maybe there could be something like

[ ] All
[ ] Model

[ ] linear
[ ] softmax

Alternatives
Alternatives would be to just sort according to weight or bias, since that in and of itself would also be convenient.

Hi @seanswyi good feature request. Have you tried the search box at the top of the run page workspace? This might let you get the filtering you're looking for if you type "weight" or "bias" in there

Hi @seanswyi good feature request. Have you tried the search box at the top of the run page workspace? This might let you get the filtering you're looking for if you type "weight" or "bias" in there

Hey @cvphelps ! Yes, I've tried using the search feature as well. Although it's usually sufficient for whatever I want to achieve, it just popped into my mind that it may be more convenient to have this filtering feature, as I'm aware that it seems if you use the search feature then your charts would disappear unless they contain the information you're trying to search for.

Hey @cvphelps ! Yes, I've tried using the search feature as well. Although it's usually sufficient for whatever I want to achieve, it just popped into my mind that it may be more convenient to have this filtering feature, as I'm aware that it seems if you use the search feature then your charts would disappear unless they contain the information you're trying to search for.

We are closing this issue due to inactivity. If you feel that it merits additional review, please provide a reproduction and add a comment explaining why. Thank you.


React SHOPPING CART

[ ] Redux Toolkit Shopping Cart
[ ] React Shopping Cart

Refer to this video: https://www.youtube.com/watch?v=y66RgYMAgSo&t=1s
See the timestamps in the description of this video
Github Link: https://github.com/AlexSegen/react-shopping-cart

@iamroHit12 Please get this work done by 9th March


Update logo in readme

(template text deleted)

Original Logo in README:

It might be better if we adjust for dark mode.
New logo:

Light Mode
Dark Mode

Logo source is modified from https://brpc.apache.org/:

Not sure should we keep the "Apache" here

LGTM

It's better to keep the original logo.png as dark mode and logo-light.png as light mode

Oh, I get confused at that time. 😖
How about now? changed the dark mode image to logo-white.png and keep the black one (light mode) as logo.png.


refactor: apply webpack-defaults

Notable Changes

Apply webpack-defaults@next
Add tests

Commit Message Body (CHANGELOG)
- Upgrades to<EMAIL_ADDRESS>- Drops support for `node =< v4.0.0`
- Sets the minimum `peerDependency` to `webpack >= 3.0.0`

BREAKING CHANGE: Sets `engines` to `"node": ">= 6.9.0 || >= 8.9.0"`
BREAKING CHANGE: Drops support for `webpack =< v2.0.0`

Issues

Fixes #69

@webpack-contrib/org-maintainers I will address #28 #65 #79  in a separate PR as it is a feature, so this should be ready for a v1.0.0-alpha release after review :)

Updated the commit message body, will this be picked up by standard-version  for the CHANGELOG generation ? 🙃

No, it will only pick up the squashed commit message unless you do a rebase merge. I have avoided enabling those because commits = contribution = open collective points which could be perceived negatively if pull request were merged as rebase with 5 or 6 individual hashs

I usually just paste the body in the original comment so it's easy to grab when it's merged.


Clean up default service directory to cope with a user with a blank or non-existent homedir.

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

Merging [#25][cc-pull] into [master][cc-base-branch] will increase coverage by <.01%

@@             master        #25   diff @@
==========================================
  Files            14         14
  Lines           498        500     +2
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            492        494     +2
  Misses            6          6
  Partials          0          0

Powered by Codecov. Last updated by [c07de68...0ec7a4e][cc-compare]
[cc-base-branch]: https://codecov.io/gh/poise/poise-service/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/poise/poise-service/compare/c07de68ea876da136e13e936f9500baa341d377b...0ec7a4ef11730bc1642494fae5d98df036701299
[cc-pull]: https://codecov.io/gh/poise/poise-service/pull/25?src=pr


React & Redux group project: set up your Kanban board

Hello!
Link to our project: https://github.com/rdnrn/space-travelers/projects/2
( if the project does not appear as it should, please, reload the page. thank you)
We have a team of two people!
Thank you for your review!

Hi @rdnrn  AND @direakanbi
Good job so far! :+1:
There are some issues that you still need to work on to go to the next project but you are almost there!
To highlight:

Great job with the project it looks really good :muscle:

Required Changes ♻

[ ] The cards should be divided equally between both team members please fix this.
[ ] Each of you should have cards with all required categories in their titles

Optional suggestions
_Every comment with the [OPTIONAL] prefix is not crucial enough to stop the approval of this
You can also consider:
N/A
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form., I strongly recommend you to take them into account as they can make your code better._
You can also consider:
N/A
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.

Hi @Team,
Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
Status: Approved ✔✔✔
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.

Hello @rdnrn @direakanbi  👋,
This is an additional review as a result of the second opinion request.
I'm glad that this issue has been resolved and approved.
Keep rocking 🚀!


Why not use bicep?

Any plans to use Bicep instead of Terraform? It seems odd to not champion your own infra deployment tech stack..

It seems you do use bicep, but terraform is mentioned in places too which confused me!

Bicep is used for the infrastructure of the build agent - and supporting infra like the Terraform state storage. The main deployment happens with Terraform.

I see. Is there a reason why bicep isn't used for all resource deployments given this is entirely scoped to azure resources and bicep is meant to enable a first party experience? Is it because terraform is more widely adopted for example? If so why the mix and match between the two technologies?


chore: modify the bootstrap configuration to remove deprecated fields

Description:
modify the bootstrap configuration to remove deprecated fields
Relates to #1538

@tmsnan ut needs update

@tmsnan ut needs update

done


Add request to context for graphql subscriptions

GraphQL queries and mutations are provided { request, response } to create a context based on the request. Unfortunately subscriptions are only provided { connection } despite webSocket being available in scope.
So either provide webSocket too or provide the request from webSocket.upgradeReq

same here

I run into the same issue. I am not able to authorize the user for subscriptions because the user token is not available on context (headers).
Any solution? I saw a PR to solve this. @schickling Could you, please, have a look on this?

This issue should be kept open, I don't understand why stale bot closes issues 'if no further activity occurs'. This is is still a feature that I think would be a worthy addition to graphql-yoga, but no maintainer has responded to this issue yet. Why should it be closed if it is still an issue?

Any update on merging this?

Will probably not happen unless you know one of the core contributors. There have been multiple releases (even major) since my pull request. And the requested change is a single line, it's a adding a parameter and fully backwards compatible...
So it's simply no one with rights to merge is interested in it.

+1


Possible to get a node-red example ?

I have been searching but have not found any instructions of how to get double-take to work in node-red. I am using home-assistant but am using node-red for all my automations. I have been fiddeling around but can not figure out how to trigger anythoing on sensor.double_take_. Is it possible to get any examples of what needs to be configured in double take and some simple flows where you trigger something when a known person enters in a cameras view ?

Hi. Here is one:
  - platform: mqtt
    name: name
    icon: mdi:account
    state_topic: 'double-take/matches/name'
    json_attributes_topic: 'double-take/matches/name'
    value_template: '{{ value_json.camera }}'
    availability_topic: 'double-take/available'

Have you tried using automations instead of node-red? I used to use node-red exclusively just like you to make debugging easier but made the switch after automation tracing was added.


removes the plotting page, and disables the download of non-large fil…

…e types
@Bobfrat
Hey Bob, I believe this should remove the data download option for anything that's not a large file type.  Could you just double check that this looks rational?
@DanielJMaher , @birdage
This is ready for review!

@FBRTMaka i dont think this should go to master, maybe a different testing branch as this is a hotfix

@birdage @FBRTMaka Bird is completely right, we are going to bag and tag our release then make this a seperate branch


CORE-19577 - disable pooling for crypto ops

Move the "close no-op" change to the central component.
Change the crypto library to cache EMFs but in return not use connection pooling.

The change looks okay but given the amount of trouble we've seen with DB connection handling before and the relatively small amount of CI coverage I wonder if it's wise to take it now, given the current stability of 5.2. Is the parent epic actually in scope for 5.2? We're already quite at risk with the current work items.

The change looks okay but given the amount of trouble we've seen with DB connection handling before and the relatively small amount of CI coverage I wonder if it's wise to take it now, given the current stability of 5.2. Is the parent epic actually in scope for 5.2? We're already quite at risk with the current work items.

We know the current implementation leaks memory.
What is it about the change that is risky? I agree that we haven't proven the performance impact, which is non-trivial to prove because most of the time the tests will be hitting a cache code path.


Make tools work with Microsoft.EntityFrameworkCore.Design.Core

This is part of #6549
We need to ensure the next release of the tools will work with Microsoft.EntityFrameworkCore.Design version 1.0.0-preview2-final since we don't plan to release a new version before the 1.0.2 release (See #6742)
This is a temporary measure and will be removed before tools RTM.

This won't work. That version doesn't contain the types we need. We need to release a new 1.0 version alongside the next tools release.

I don't know the package that contains IDesignTimeDbContextFactory? I can't find. I have installed Microsoft.EntityFrameworkCore.Design package and yet I can't find it


fix: model onReady method fires at wrong moment

resolving this issue

@keiya01 used state for the listener, please review changes

Please review


Acrom - Missing "Targetare.ro" button

ENVIRONMENT: Production
URL: https://scrapers.peviitor.ro
Browser: Chrome
Device: Laptop
OS: Windows 10
STEPS TO REPRODUCE:

Open the URL in the browser
Search for "Acrom " Company
Go to logo - Click on Targetare.ro
Verify "Targetare.ro" button

EXPECTED RESULTS:
The "Targetare.ro" button is functional . Targetare link opens correctly
ACTUAL RESULTS:
Missing "Targetare.ro" button. Targetare link doesn't open targetare.ro

did you search on "targetare.ro" to see if it exists?

when checking I found this:

which of them is real?

I have noticed (for many times) that the name of a company on the scraper doesn't matching with the name on https://targetare.ro/cauta-firme

none of them

close this is invalid


Is it possible just to get the number of errors?

Is it possible just to get the number of errors?
I know I could probably just get the wer and multiply by the number of words to get the number errors, but I was hoping that was unnecessary.
Edit: The reason I am asking is this... I want to rollup all of my sentence WER into an overall document WER.

If you use jiwer.process_words you get a WordOutput object. The number of errors would be the sum of substitutions, insertions, and deletions.

If you want a overall WER of a document, you can use wer_contiguous transform instead.
For example:
import jiwer
jiwer.process_words(
    reference,
    hypothesis,
    reference_transform=jiwer.wer_contiguous,
    hypothesis_transform=jiwer.wer_contiguous,
)

I asked chatGPT, and here is the code it generated:
import jiwer

# Assuming 'original_sentences' and 'corrected_sentences' are your lists of sentences
original_sentences = [...]  # Your list of original sentences
corrected_sentences = [...]  # Your list of corrected sentences

# Calculate total WER for the document
total_wer = jiwer.wer(original_sentences, corrected_sentences)

print(f"Total WER for the document: {total_wer}")

Doesn't that seem easier?


Add support for ArduinoCore-renesas

Codecov Report
Patch and project coverage have no change.

Comparison is base (53095a0) 83.22% compared to head (73af8ad) 83.22%.
Report is 3 commits behind head on main.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #242   +/-   ##
=======================================
  Coverage   83.22%   83.22%
=======================================
  Files           6        6
  Lines         739      739
=======================================
  Hits          615      615
  Misses        124      124

Files Changed
Coverage Δ

src/util/registry/registry_value.hpp
94.25% <ø> (ø)

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


Styles and Favicon blocked on HTTPS

The stylesheet and favicon are blocked by my browser when visiting the site over HTTPS.
dorktips.ca/:37  Mixed Content: The page at 'https://dorktips.ca/' was loaded over HTTPS, but requested an insecure stylesheet 'http://dorktips.ca/public/css/poole.css'.  This request has been blocked; the content must be served over HTTPS.
dorktips.ca/:1   Mixed Content: The page at 'https://dorktips.ca/' was loaded over HTTPS, but requested an insecure stylesheet 'http://dorktips.ca/public/css/syntax.css'. This request has been blocked; the content must be served over HTTPS.
dorktips.ca/:1   Mixed Content: The page at 'https://dorktips.ca/' was loaded over HTTPS, but requested an insecure stylesheet 'http://dorktips.ca/public/css/lanyon.css'. This request has been blocked; the content must be served over HTTPS.
dorktips.ca/:1   Mixed Content: The page at 'https://dorktips.ca/' was loaded over HTTPS, but requested an insecure stylesheet 'http://dorktips.ca/public/css/poole.css'.  This request has been blocked; the content must be served over HTTPS.
dorktips.ca/:1   Mixed Content: The page at 'https://dorktips.ca/' was loaded over HTTPS, but requested an insecure stylesheet 'http://dorktips.ca/public/css/syntax.css'. This request has been blocked; the content must be served over HTTPS.
dorktips.ca/:1   Mixed Content: The page at 'https://dorktips.ca/' was loaded over HTTPS, but requested an insecure stylesheet 'http://dorktips.ca/public/css/lanyon.css'. This request has been blocked; the content must be served over HTTPS.
dorktips.ca/:1   Mixed Content: The page at 'https://dorktips.ca/' was loaded over HTTPS, but requested an insecure favicon 'http://dorktips.ca/public/favicon.ico'. This request has been blocked; the content must be served over HTTPS.

Fixed with https://github.com/nsbruce/dorktips/commit/91db9965ae1d875a66357432cb9368d95d184c78 and by enforcing https in the GH Pages settings


Failure occurred in opening deployed url

[ ] Review  entire deployment  pipeline and find cause
[ ]  Fix the bug and deploy again
[ ]  Make sure the deployment link working fine

Identified bug


Improve the performance of query string encoding/decoding

Motivation:
As demonstrated by @franz1981, we can bypass JVM's array boundary checks
completely, by using PlatformDependent.getByte().
Modifications:

Optimize QueryStringEncoder.isUnsafeOctet() and
QueryStringDecoder.decodeHexNibble() using
PlatformDependent.getByte().

Result:

Another performance gain

This PR also fixes the off-by-one error :scream:

Explicit widening from char to int seems unnecessary.

Quick benchmarking tells me explicit widening helps a little bit actually. Let me update.

Still LGTM


Things to adjust when loading Local LLMs other than the distilled models

Hi. Thanks for working on this project.
I was looking into optimizing WikiChat on hardware limited devices using local LLMs, preferably low parameter models.
What components should i look into to run any other models other than the Distilled Llama models? I've tried loading Mistral and other llama models but every time i query, demo fails with the error Search prompt's output is invalid: [answer from the LLM]
Is it anyway related to how the prompt files behave with the LLM?
Any help will be appreciated!

Hi,
Could you please paste the command you are using to run WikiChat, the models have you been trying it with, and their configuration in llm_config.yaml?
WikiChat has a setting which determines how it sends the prompt to the underlying LLM.

In "distilled" mode, the code assumes that the LLM has been fine-tuned with the specific format needed, so it does not send the full instruction or few-shot examples to the LLM, just a short identifier.
In the "non-distilled" mode, it will send the full text of the prompt, including full instructions and few-shot examples to the LLM.

Using the incorrect mode will result in unexpected outputs or outputs with incorrect format, so the code will raise an error.
The mode can be set by modifying this line in llm_config.yaml: https://github.com/stanford-oval/WikiChat/blob/main/llm_config.yaml#L46 (I fixed a typo just now). You should use none as the prompt format for new models.
Note that the current version of the code does not handle chat format of open-source models that have been instruction tuned (like LLaMA-instruct). And depending on the underlying model's capabilities, they might not be good at following instructions, so they might still give incorrect outputs.
In general, I recommend "distilling" a smaller model, similar to how Llama-2-7b-WikiChat was distilled. I can probably release a smaller distilled model in the future, if that helps.

Hi @s-jse, thanks for the detailed reply.
The command used to run demo: make demo engine=local
models I've tried loading so far: TheBloke/Llama-2-7B-32K-Instruct-AWQ, mistralai/Mistral-7B-Instruct-v0.2
and the llm_config.yaml file (only the local part as i've left the other parts unchanged):
`  # Use this endpoint if you are hosting your language model locally, e.g. via HuggingFace's text-generation-inference library

api_type: local
api_version: null
api_base: http://<IP_ADDRESS>:8080 # replace [ip] and [port] with the ip address and the port number where your inference server is running. You can use <IP_ADDRESS> for the IP address if your inference server is running on this machine.
prompt_format: simple # One of simple, alpaca or none. Use simple if you are using zero-shot or few-shot prompting. Use simple or alpaca  if you are using a distilled model, depending on what format the model has been trained with.
engine_map:
local: local`


没有打开任何工作区，因此无法写入 文件夹设置。请先打开一个工作区，然后重试。

Error: 没有打开任何工作区，因此无法写入 文件夹设置。请先打开一个工作区，然后重试。
at e.$hYb.y in src/vs/workbench/services/configuration/common/configurationEditing.ts:347:10
at e.$hYb.E in src/vs/workbench/services/configuration/common/configurationEditing.ts:517:15
at e.$hYb.n in src/vs/workbench/services/configuration/common/configurationEditing.ts:177:14
at Object.factory in src/vs/workbench/services/configuration/common/configurationEditing.ts:166:16
at T.h in src/vs/base/common/async.ts:652:33
at <anonymous> in src/vs/base/common/async.ts:643:9
at new Promise (<anonymous>)
at T.queue in src/vs/base/common/async.ts:641:10
at e.$hYb.writeConfiguration in src/vs/workbench/services/configuration/common/configurationEditing.ts:164:21
at R.Eb in src/vs/workbench/services/configuration/browser/configurationService.ts:981:35
at async Promise.all (index 0)
at async Object.G [as settled] in src/vs/base/common/async.ts:1499:18
at async R.updateValue in src/vs/workbench/services/configuration/browser/configurationService.ts:357:3

Go to Errors Site

Error: 没有打开任何工作区，因此无法写入 文件夹设置。请先打开一个工作区，然后重试。
[at e.$hYb.y in src/vs/workbench/services/configuration/common/configurationEditing.ts:347:10](https://vscode.dev/github/microsoft/vscode/blob/74f6148eb9ea00507ec113ec51c489d6ffb4b771/src/vs/workbench/services/configuration/common/configurationEditing.ts#L347:10)
[at e.$hYb.E in src/vs/workbench/services/configuration/common/configurationEditing.ts:517:15](https://vscode.dev/github/microsoft/vscode/blob/74f6148eb9ea00507ec113ec51c489d6ffb4b771/src/vs/workbench/services/configuration/common/configurationEditing.ts#L517:15)
[at e.$hYb.n in src/vs/workbench/services/configuration/common/configurationEditing.ts:177:14](https://vscode.dev/github/microsoft/vscode/blob/74f6148eb9ea00507ec113ec51c489d6ffb4b771/src/vs/workbench/services/configuration/common/configurationEditing.ts#L177:14)
[at Object.factory in src/vs/workbench/services/configuration/common/configurationEditing.ts:166:16](https://vscode.dev/github/microsoft/vscode/blob/74f6148eb9ea00507ec113ec51c489d6ffb4b771/src/vs/workbench/services/configuration/common/configurationEditing.ts#L166:16)
[at T.h in src/vs/base/common/async.ts:652:33](https://vscode.dev/github/microsoft/vscode/blob/74f6148eb9ea00507ec113ec51c489d6ffb4b771/src/vs/base/common/async.ts#L652:33)
[at <anonymous> in src/vs/base/common/async.ts:643:9](https://vscode.dev/github/microsoft/vscode/blob/74f6148eb9ea00507ec113ec51c489d6ffb4b771/src/vs/base/common/async.ts#L643:9)
at new Promise (<anonymous>)
[at T.queue in src/vs/base/common/async.ts:641:10](https://vscode.dev/github/microsoft/vscode/blob/74f6148eb9ea00507ec113ec51c489d6ffb4b771/src/vs/base/common/async.ts#L641:10)
[at e.$hYb.writeConfiguration in src/vs/workbench/services/configuration/common/configurationEditing.ts:164:21](https://vscode.dev/github/microsoft/vscode/blob/74f6148eb9ea00507ec113ec51c489d6ffb4b771/src/vs/workbench/services/configuration/common/configurationEditing.ts#L164:21)
[at R.Eb in src/vs/workbench/services/configuration/browser/configurationService.ts:981:35](https://vscode.dev/github/microsoft/vscode/blob/74f6148eb9ea00507ec113ec51c489d6ffb4b771/src/vs/workbench/services/configuration/browser/configurationService.ts#L981:35)
at async Promise.all (index 0)
[at async Object.G [as settled] in src/vs/base/common/async.ts:1499:18](https://vscode.dev/github/microsoft/vscode/blob/74f6148eb9ea00507ec113ec51c489d6ffb4b771/src/vs/base/common/async.ts#L1499:18)
[at async R.updateValue in src/vs/workbench/services/configuration/browser/configurationService.ts:357:3](https://vscode.dev/github/microsoft/vscode/blob/74f6148eb9ea00507ec113ec51c489d6ffb4b771/src/vs/workbench/services/configuration/browser/configurationService.ts#L357:3)

感谢您创建此问题！
然而，由于您没有使用英语，我们很难进行处理。如果可能，请您将此问题描述修改为英文。请您直接编辑此问题，不要提交回复或新问题。
请注意，机器翻译服务通常无法处理用于讨论软件问题所需的技术性语言，所以我们推荐您寻找一位熟悉相关技术的人来协助翻译。
如果您无法做到，没有关系。此问题已经被标记为需要翻译，等待社区成员志愿进行翻译。

Thanks for creating this issue!
Unfortunately, as the description is not in English, it's hard for us to work on. If possible, please edit the original issue to be in English.
In our experience, automatic translation services are not able to handle the technical language needed to effectively communicate about software issues, so we recommend finding a human translator who is familiar with our technology to help.
Otherwise, we have marked this as needing translation and a community member may be able to help out.

@sandy081 Here's the error translated: "Error: no workspace has been opened, so there's no way to write the workspace setting. Please first open a workspace, then try again."
Is there some code that tries to set a workspace setting at startup?

/duplicate
The stack trace does not have information about the caller of the update method. It can be from core or extension. Nevertheless, this error should not be reported to telemetry. There is an issue already for this. Hence marking as a duplicate.

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


rna-transcription: don't transcribe both ways

I can't remember the history of this, but we ended up with a weird non-biological thing in the RNA transcription exercise, where some test suites also have tests for transcribing from RNA back to DNA. This makes no sense.
If this track does have tests for the reverse transcription, we should remove them, and also simplify the reference solution to match.
If this track doesn't have any tests for RNA->DNA transcription, then this issue can be closed.
See https://github.com/exercism/x-common/issues/148

Damn, you just killed my reverse transcriptase as a service startup :)

Hah!


setroot: fix build

Description of changes
Fix build (https://hydra.nixos.org/build/177035710)

ZHF: #172160
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 173812 run on x86_64-linux 1

1 package built:

setroot

Please apply this patch
diff --git a/pkgs/tools/X11/setroot/default.nix b/pkgs/tools/X11/setroot/default.nix
index 014ac4c54be..bc7b468caaf 100644
--- a/pkgs/tools/X11/setroot/default.nix
+++ b/pkgs/tools/X11/setroot/default.nix
@@ -1,9 +1,7 @@
-{ lib, stdenv, fetchFromGitHub, libX11, imlib2
-, enableXinerama ? true, libXinerama ? null
+{ lib, stdenv, fetchFromGitHub, libX11, imlib2, pkg-config, fetchpatch
+, enableXinerama ? true, libXinerama
 }:

-assert enableXinerama -> libXinerama != null;
-
 stdenv.mkDerivation rec {
   version = "2.0.2";
   pname = "setroot";
@@ -15,12 +13,21 @@ stdenv.mkDerivation rec {
     sha256 = "0w95828v0splk7bj5kfacp4pq6wxpyamvyjmahyvn5hc3ycq21mq";
   };

+  patches = [
+    (fetchpatch {
+      url = "https://github.com/ttzhou/setroot/commit/d8ff8edd7d7594d276d741186bf9ccf0bce30277.patch";
+      sha256 = "sha256-e0iMSpiOmTOpQnp599fjH2UCPU4Oq1VKXcVypVoR9hw=";
+    })
+  ];
+
+  nativeBuildInputs = [ pkg-config ];
+
   buildInputs = [ libX11 imlib2 ]
-    ++ lib.optional enableXinerama libXinerama;
+    ++ lib.optionals enableXinerama [ libXinerama ];

-  buildFlags = [ "CC=${stdenv.cc.targetPrefix}cc" (if enableXinerama then "xinerama=1" else "xinerama=0") ] ;
+  buildFlags = [ (if enableXinerama then "xinerama=1" else "xinerama=0") ] ;

-  installFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
+  installFlags = [ "PREFIX=$(out)" ];

   meta = with lib; {
     description = "Simple X background setter inspired by imlibsetroot and feh";

@Artturin Alright, done.


Review and Correct WaitGroup Usage in Run Function of volumeprovider/app.go

Description:
In the Run function of the volumeprovider's app.go file, there is a sync.WaitGroup (wg) being used to manage the execution of multiple goroutines. However, the current implementation does not appear to make logical sense:
The wg.Add(1) statement is being called before starting each goroutine.
wg.Done() is deferred within each goroutine to signal completion.
However, the wg.Wait() method, which should be used to block the main function until all goroutines have completed, is not being called anywhere within the Run function.
This usage of WaitGroup without a corresponding wg.Wait() does not serve any practical purpose and could potentially lead to unpredictable behavior, especially in concurrent execution scenarios.
Suggested Solution:
Option 1: If the intention is to wait for all goroutines to complete before exiting the Run function, then a wg.Wait() should be added at the appropriate place in the code.
Option 2: If waiting for goroutines to finish is not necessary, then the WaitGroup can be removed entirely to simplify the code.
Option 3. For reference,  you can view the similar implementation in the libvirt-provider project here.
Expected Behavior:
The code should either properly implement the WaitGroup mechanism to wait for all goroutines to finish or remove the WaitGroup if it is not needed.
Additional Context:
This issue might affect the reliability and predictability of the Run function, especially in a production environment with concurrent operations. Proper synchronization is crucial to ensure the correct execution flow.
Action Items:

[ ] Review the Run function in volumeprovider's app.go.
[ ] Determine the necessity of waiting for all goroutines.
[ ] Either implement wg.Wait() appropriately or remove the WaitGroup usage.
[ ] Test the changes to ensure that the function behaves as expected.

Thanks a lot for the issue, it's a total valid point that wg.Wait() is missing. It would be great, if you can take care of it.


Misc updates

Changelog:
- updated maintainers list in root-level readme
- updated the links to riscof, isac and ctg repos and docs in root-level readme
- adding CI to update versions automatically
- replaced spike target with a REAMDE pointing to riscv-isa-sim/arch_test_target/README.md

Done
On Fri, Mar 12, 2021 at 1:05 AM Neel Gala @.***> wrote:

@neelgala https://github.com/neelgala requested your review on: #174
https://github.com/riscv/riscv-arch-test/pull/174 Misc updates.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/riscv/riscv-arch-test/pull/174#event-4448906410, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AD72ZM6KKLU3NEZVD64SVN3TDGVJZANCNFSM4ZBUSO7Q
.

--
/****************
Marc Karasek
ASM T648
Herder of Cats
****************/


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/37307

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/44191

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/44247

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/44296

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/75693

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/75757

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/83829

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/85721

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/97644

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/99364