Questions / solutions to deploying local builds, nightlies, and multiple instances of Visual Studio 2017 (nicknames)

Motivation for this question: the instructions say you can run update-vsintegration.cmd and if you want to restore, you can do so by running a Repair using Visual Studio 2017 setup. After I did that, I found out that several files in the deployed directories were still the local-built assemblies, yet others were rolled back correctly.
So, the goal is to collect some more insights, try them out, and if necessary create relevant PR's to fix things, hence /cc @dsyme, @KevinRansom, @cartermp.
We have roughly the following parts:

F# SDK tools, this is fsc.exe and fsi.exe and related libraries
F# Visual Studio integration, which is the whole of all services, libraries that do the syntax highlighting, handle keystrokes, intellisense and integrate FSI with VS.
The test suite, which contains unit tests, stress tests and integration tests

How do these parts fit in inside a typical Visual Studio 2017 installation?
More to the point, this is a brain dump of some questions I have been having the last couple of days or so, while working with the build scripts:

Running update-vsintegration.cmd updates the SDK paths, but it does not seem to effect Visual Studio (regardless of its name). How do I get Visual Studio to use the compiled libraries?
How can I restore to the previous state?
When using VSIXInstall to install/uninstall.  Do I get the situation back of pre-local (i.e., from whatever the VS2017 setup installed)? What files are replaced?
VS2017 can be installed side-by-side (Preview, Enterprise, Code, Community), how do I install to a specific instance?
And perhaps most importantly: how can I verify that the following elements are using the local builds? (using Process Explorer works, but is hardly productive)

Syntax highlighing, intellisense
Debugger
The compiler used when I select version F# 4.1 as target
The compiler when I select an older version of F#
The compiler when I select an older version of .NET
The compiler used for portable and .NET Core profiles
Version of FSI used

The compiler tools can apparently also be installed via NuGet (but I don;'t think this updates the SDK), how do I use this technique to use my local build?

I realize I have often relied on click-and-run installations and never much had to manually adjust compilers and everything, unless for build scripts, but there it is easy enough. As you can see, I have trouble finding out what gets placed where and when and I think this is vital to know exactly, as users will report bugs inadvertently on older versions, or against versions they don't even know they are running.
Part of this is necessarily related to #3645 and #3643.
I'm sure I can find all of this out on my own, and I think I have most parts of the puzzle, but it would be great to verify so that I can update DEVGUIDE.md.

@abelbraaksma :
We will add the compiler to the VSIX, there needs to be some magic to wire it up to msbuild.  Roslyn does something similar.  The MSI installer does not work for multiple instances and needs to be used only for reference assemblies  dll's.  It breaks our side by side story and the F5/Vsix install.
Nightlies and F5 install only install the VSIX (FSI/Editor/LangageService/ProjectSystem) no compiler updates.
The VSIX installer allows you to specify which instance of VS to install to.
We don't yet build and publish a desktop compiler nuget package.  There is an FSharp.Compiler.nuget package, published by Steffen and Enrico.
VSixInstall will not install a second time until you uninstall.
The F# compiler used by VS and MSBuild is always the compiler in
C:\Program Files (x86)\Microsoft SDKs\F#\4.1\Framework\v4.0
Until we add it to the vsix.
When you select an older version of F# Core, the compiler remains as specified above.  However we choose a different FSharp.Core version dependent on select fSharp.core.
When you select an older version of .net, the compiler remains as specified above.  However we choose a different dotnet reference assemblies.
Ditto for different dotnet profiles.
There is no solution yet to installing the coreclr version of F#.
The compiler doesn't really evolve fast enough for us to get too confused by bug reports about the compiler.
I never directly use update-vsintegration.cmd.
I hope this helps
Kevin

Wow, many thanks @KevinRansom, this **helps a lot!!! 💯 🥇 **.
So, essentially this means that, if you start playing around with the code and run some builds and run the VSIX or manual xcopy them, the syntax-parser/checker/highlighter is different from the compiler used when doing a Ctrl-Shift-B build in Visual Studio.

The compiler doesn't really evolve fast enough for us to get too confused by bug reports about the compiler.

While that makes sense, for people like me, who like to check upon resolved (compiler) issues, this helps explain why on several accounts I kept telling @dsyme I didn't see a change in behavior. Now it's clear why there's a difference.

I never directly use update-vsintegration.cmd.

Maybe you should ;) (it's also in DEVGUIDE). But I'm updating it so that it becomes more useful. Thanks to your answer I'm more confident about my changes. Apparently, that script does update the compiler used from Visual Studio, as it updates C:\Program Files (x86)\Microsoft SDKs\F#\4.1\Framework\v4.0 and some other SDK-related paths.

In update-vsintegration.cmd there are lines that use variables set like the following:
set COMPILER78ASSEMBLIESPATH=%X86_PROGRAMFILES%\Reference Assemblies\Microsoft\FSharp\.NETCore\3.78.%FSHARPVERSION2%.0

Isn't that the location of (one of the versions of) .NET Core, aka CoreCLR?

Well ... the trick is to install the vsix ... except that doesn't yet deploy the compiler.  We would have included fsc in the VSIX when we first created it, except wiring it up to msbuild requires some magic to happen, because the VSIX installer puts the package in a directory with a random name and we need to find it.  There is a way to do this, roslyn does it, by writing a breadcrumb file on package initialize.  We will do the same thing ... eventually.  However, other stuff keeps getting in the way.

@abelbraaksma that directory is the path to FSharp.Core.dll v2.0 portable profile for profile 78.  Off the top of my head: net45+sl+win8 store+win phone 8 + Xamarin.
The name netcore predates the coreclr and in fact refers to the --targetprofile:netcore command line switch which is used to tell the F# compiler that object is in System.Runtime.  Until I remove that requirement ... again other stuff keeps getting in the way :-)
If I was smarter or quicker ... I would have less stuff that needs to get done.

@KevinRansom, that sounds like that, once it is in VSIX, it becomes self-contained, that means, the SDK remains untouched and the VSIX will have all its files in one place? That sounds like an improvement to me (though at the expense of a bigger complexity).

If I was smarter or quicker ... I would have less stuff that needs to get done.

Well said! That haunts me everyday!
Tx, I should've known about those profiles. I don't do much .NET-for-mobile development, so it's easy to get confused.

Actually it will be less complex.

The compiler will no longer go into the sdk at all ... oh yeah side by side again.
The MSI will only deploy the profile dll's and earlier versions of fsharp.core into the reference assemblies directory.
The VSIX will ship with the project and install into a well known location, the compiler/fsi/build tasks/targets files/LanguageService/ProjectFiles and IDE
Nightlies and F5 will install a duplicate of the VSIX only with updated bits into a per user random named directory ... it will be glorious.

There is no need to worry about profiles. they have gone away ... C# dropped them at VS2017 RTM, we will drop them by the end of the year.  We will still ship them in VS but lose the templates, we already don't build updated ones.
Kevin

C# dropped them at VS2017 RTM, we will drop them by the end of the year.

Aha. I thought I heard such rumor...
The story on the considered update for the installation and debugging experience sounds awesome, esp. the last line:

Nightlies and F5 will install a duplicate of the VSIX only with updated bits into a per user random named directory ... it will be glorious.

which is precisely what I have been struggling with to get right. Just no wish to have to install a whole VM just to do some testing, or do a full repair just because I'm not 100% sure I didn't utterly screw something up in the myriad of files, settings, reg entries, ngen'ed images, strong-naming, or not etc etc.

@abelbraaksma we know it is a pain in the nether regions, it's just there is so much to do that this low hanging fruit takes a long time to get done.  @OmarTawfik put the vsix together and @brettfo wired up the nightlies.  Once we add the compiler and refactor the VSIX we will be set.  Well apart from the 900 other things of course :-)

@KevinRansom, I totally understand, I wasn't trying to put pressure on you or anybody else in any way. I really appreciate the fast feedback I'm getting in this project 👍 .
For me to do some meaningful work, it is necessary to understand this process properly. My current update for the update-vsintegration.cmd will lessen the immediate need for an updated VSIX, as I've added a rollback mechanism, so you can switch between local built and official versions easily.
But I wasn't sure I was testing the right things. Your remarks here have helped a lot in speeding that part up. It is basically finished, so you can expect a PR soon.

I didn't interpret it as pressure my friend.  This is a hard repo to deal with, and we fail at some of the easy stuff.  But it really is amazingly better than it was and it is slowly getting better.  The test stuff is what worries me the most.  I have no idea how to deal with it.

You mean coverage? Cause I'm working on that, at least for the reporting of it ( these other questions are related to it), or do you mean stability of tests?  Or the complexity of the whole test set and the difficulty of running gui tests?

Coverage would be good … but we have 3 or 4 different test frameworks.  They have poor integration with VS … are hard to run, hard to debug, and hard to diagnose.
From: Abel Braaksma<EMAIL_ADDRESS>Sent: Thursday, September 28, 2017 11:16 PM
To: Microsoft/visualfsharp<EMAIL_ADDRESS>Cc: Kevin Ransom<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [Microsoft/visualfsharp] Questions / solutions to deploying local builds, nightlies, and multiple instances of Visual Studio 2017 (nicknames) (#3664)
You mean coverage? Cause I'm working on that, at least for the reporting of it ( these other questions are related to it), or do you mean stability of tests? Or the complexity of the whole test set and the difficulty of running gui tests?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvisualfsharp%2Fissues%2F3664%23issuecomment-333040273&data=02|01|Kevin.Ransom%40microsoft.com|527d701791d24e9f73b408d507017ef8|72f988bf86f141af91ab2d7cd011db47|1|0|636422625363202065&sdata=rwARcOOez5tBlWrzRIlnh1HTuXDp5OJpXr8UipwdDFQ%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAE76FqNWtx5SLTtfOC36fHDiz3OvlOXfks5snIsGgaJpZM4PoHIt&data=02|01|Kevin.Ransom%40microsoft.com|527d701791d24e9f73b408d507017ef8|72f988bf86f141af91ab2d7cd011db47|1|0|636422625363202065&sdata=k3jDExJgBcgACJGbdmfmWC8TkWLqUygqcDkeAobzJbA%3D&reserved=0.

Ah, you mean the mix of nunit, fsunit,unquote etc? I don't think they integrate badly (at least not with ncrunch, though there are some issues), but some  tests give problems due to the way they are written. That won't change with a different framework. It's also on my to-do list ;)

You, me and @brettfo  have them on our todo list :-)

BTW - see https://github.com/dotnet/roslyn/tree/master/src/Compilers/Extension (specifically here) for how Roslyn manages this.  There is a VSIX that on-load updates some msbuild extensions in per-user folders to redirect the compiler path.

Closing this since numerous improvements have been made, including:

Deprecating PCL
Fully side-by-side F#
Moving VS integration to .NET SDK, with src/fsharp underway
Older MSBuild stuff removed
Machine state dependencies removed from the build

Not perfect, but it seems like a lot of what was discussed here as been addressed.

I agree, thanks for taking care of this!


[Data Normalization] Improve performance

to: @ryandeivert @austinbyers
cc: @airbnb/streamalert-maintainers
size: median
resolves #717
Background
In current Data Normalization implementation, Data Normalization is applied to a record right before rule matching. So one record may be normalized multiple times when there are different rules using different datatypes. For example,

Rule 1

@rule(datatypes=['command'], ...)
def rule_get_commands(rec):
...

Rule 2

@rule(datatypes=['sourceAddress'], ...)
def rule_get_ip_address(rec):
...

Rule 3

@rule(datatypes=['command', `sourceAddress`], ...)
def rule_get_command_and_ip_address(rec):
...

In this case, one record will be normalized 3 times!!! The performance will become bottleneck when you will thousands records read from files from S3 bucket, and it will result lambda function to be timed out.
Changes

In rules engine, aggregate datatypes from all rules and normalize records only once before any rules matching.
This change also update get_keys helper to skip normalization information.

Testing
The testing environment has multiple rules using data normalization with different datatypes. And running time is based on timeit.

2761 carbonblack netconn records read from S3 file

Before improvement, the running time is 24s
Apply improvement, the running time is 10s

7713 carbonblack event records read from S3 file

Before improvement, the running time is 37s
Apply improvement, the running time is 25s

1521 cloudtrail records read from S3 file

Before improvement, the running time is 584s
Apply improvement, the running time is 3s

Cloudtrail records seem to have significant benefit because they contains nested keys and ip addresses which will be normalized in my test environment.

Coverage increased (+0.04%) to 97.132% when pulling 675e9ac7d2168baec1c08334a4036932ab9bfc15 on improve_data_normalization_perf into 0578f3ce1b831b469c465b1f6446eb5693887b76 on master.


Prevent clobbering of existing named routes.

Closes #117.

This is complete. Assuming no further comments I intend to land it sometime this weekend. Review now! /cc @wycats @krisselden @mixonic @rwjblue
Note: landing doesn't mean an immediate release, I intend to make sure that this goes the full span of an Ember canary to get as much feedback as possible on how often people end up broken.

I think this will break Pretender, which allows people to define the same route a second time for two use cases:
First, people store up map sets:
// user-maps.js
export default function(){
  this.post('/sign-in', function() {...});
  this.get('/profile', function() {...});

 ... 10 more routes ...
}

And then override them in tests where a specific behavior is desired:
// some test:

import userMaps from 'user-maps';
let overrideProfile = function() {
  this.get('/profile', function(){
    return [404, {}, ''];
  };
};

test('display missing profile page if authenticated user does not have a profile', function(){
  let server = new Pretender;
  server.map(userMaps);
  server.map(overrideProfile);
})

Here, /profile is defined twice. Once for most cases, and then a more specific version is supplied for a specific case.
Second, define a route twice in one test to test behaviors where subsequent requests to a route need new responses:
test('a request to paginated collections that are out of bounds returns an empty collection', function(){

 let server = new Pretender();
 server.map(function(){
   this.get('/books', function() {
      return [200, {}, "[{}, {}, {}]"];
    });
  });

  ajax.get(page one of books)
  assert(...);

   server.map(function(){
   this.get('/books', function() {
      return [200, {}, "[]"];
    });
  });

  ajax.get(page two of books, which is empty)
  assert(...);
})

Both can be done in other ways, but I've seen both use cases and this change would be breaking from that perspective and would require a SemVer bump

@trek Taking this, for example:

server.map(overrideProfile); Here, /profile is defined twice. Once for most cases, and then a more specific version is supplied for a specific case.

I'm not sure that you're actually naming these routes in Pretender. This only prevents you from calling router.generate for a duplicate named route. If you manage to get it into the NFA (which you can do without naming it) then it will still appropriately recognize. The only trick is that I don't know how you patch into the DSL and it's possible that you're depending on definition order doing the "right" thing which is undefined behavior. (Like most of this was.)
Regardless, I will run Pretender's test suite against this change and see–I assume you have test cases for this behavior? I still want for this to be an error in route-recognizer and if Pretender is relying on this behavior I'll make sure to have an ergonomic API proposal (or possibly a PR which makes it work with no change to Pretender's API).

@trek's note has now been confirmed to be a non-issue. Additional tests in place to help us monitor Pretender for regressions.

Given no additional feedback for two weeks, I'm landing this.


Old Gravatar pictures not updating when user uploads new avatar.

When a user sets their avatar, any old messages before the update still retain their old gravatar. Screenshot
All messages should probably just have the latest/most updated version of their profile picture all the way back. This issue doesn't exist when switching between avatars however -- only when switching from Gravatar to avatar.

Hi! I'd like to try to solve this issue. Could you point out where I can start?

This is now fixed.  Thanks @showell!!


Elements not displaying in big models

Prerequisites

[x] I read the contribution guidelines
[x] I checked the documentation and found no answer.
[x] I checked existing issues and found no similar issue.
[x] I checked the community forum for related discussions and found no answer.
[x] I'm reporting the issue to the correct repository (see also speckle-server, speckle-sharp, specklepy, speckle-docs, and others)

What package are you referring to?
3D Viewer Visual for Power BI  2.0.0 Alpha.2

Describe the bug
Not all elements of the model are displayed in PowerBI Visual

To Reproduce
Import my model to power bi with this stream:  https://speckle.xyz/streams/62e91d9637

Expected behavior
Not all wall wil display, some of them are missing.

Screenshots

System Info
If applicable, please fill in the below details - they help a lot!
Desktop (please complete the following information):

OS: Windows 11
Browser: Chrome Version 106.0.5249.103 (Official Build) (64-bit)

Failure Logs

Additional context

Proposed Solution (if any)

Optional: Affected Projects

Looked into this and it appears to be due to some internal limits on the amount of data you can pass into a visual. I made some tests and it's capping at 1000 items.
Although there are ways to do pagination on the data, the general suggestion coming from PowerBI is to reduce the amount of items being passed in.
We can make some modifications in our DataRoles to make this number bigger, so we'll be looking into this soon

Turns out it was easier than expected, this has been fixed in d21033cd859eb7cbfb1730247d1a80cb54e71931, and now you can load up to 30.000 items.
Will be available on our next release

Great! Can't wait to try it.
Regards


rancher-compose confusion with environment creation

I set up my Rancher environment via the web interface, then downloaded the Compose config with the intent to perform everything via the command line. I then generated an access key and secret as per the docs and set up my environment variables accordingly.
 I have my compose files in a Default/Default directory on my laptop. I know the higher-level path isn't important but assume Default will be the stack that rancher-compose manipulates.
I then run rancher-compose logs VPN to, in theory, retrieve the logs of my VPN service in the Default stack. Instead I see:
←[34mINFO←[0m[0002] Creating environment default
←[31mERRO←[0m[0002] Failed to open project default: Bad response from [https://rancher.example.com/v1/environments], sta
tusCode [422]. Status [422 status code 422]. Body: [{"id":"1e0ed811-edae-44f9-91bd-46ec3847ffc7","type":"error","links":{},"a
ctions":{},"status":422,"code":"NotUnique","message":null,"detail":null,"fieldName":"name"}]
2015/09/08 18:30:00 Failed to read project: Bad response from [https://rancher.example.com/v1/environments], statusCode
[422]. Status [422 status code 422]. Body: [{"id":"1e0ed811-edae-44f9-91bd-46ec3847ffc7","type":"error","links":{},"actions":
{},"status":422,"code":"NotUnique","message":null,"detail":null,"fieldName":"name"}]

First, should my endpoint be https://rancher.example.com and not the endpoint URL displayed above my API key? That's a little different, but the docs seem to use an example to the root of a Rancher server, and indicate that the key itself determines the environment. It might be wise to remove or repurpose the displayed endpoint since it was a point of confusion for me. For reference I'm referring to https://rancher.example.com/v1/projects/xxx.
Next, why is rancher-compose creating anything here? I would assume that logs is a read-only command and that no new environments will be created. Further, I'd assume it would try to modify existing environments rather than creating new ones, so that this is failing is a bit odd to me. IOW, if I tweaked the docker-compose.yml and ran restart, it wouldn't create a new environment/project but would instead update the container definition, recreating if necessary.
Thanks.

I'm guessing this is a case sensitivity issue with "Default" vs "default"... And the first step is to get-or-create the environment.

I wondered about that. I'm on Windows so perhaps it's a filesystem issue.
I did try with -p Default and saw no change, though.
But I still wonder why logs would need to create the environment.
Wouldn't it query the key, see that it's in the Default environment, see
the directory or -p set to Default, then query the logs of the
existing service? Maybe up would need to create, but logs?

Can you let me know what version of rancher-compose you are running? There was a bug on case insensitivity with stack names that will be in the next release.

0.2.5.

v0.3.0 is the current latest if downloaded through the UI using v0.37.1. This should have the sentitivity for stack name in side. Please re-open if you still have issues.


Skip style tests on pypy environment.

For whatever reason the style tests have become incredibly slow on pypy
and will sometimes hang inside Travis's environment.
The test still runs for python 2.7 and 3.5 so nothing is missed here.

Current coverage is 65.70% (diff: 100%)

No coverage report found for master at 1244c3d.

Powered by Codecov. Last update 1244c3d...b37fed6

Gotta try again, lanscape dot io screwed the pooch on this one


TX: When a user clicks on his own payment link it should react as a "cancel payment link"

When a user clicks on his own payment link it should react as a "cancel payment link" and not show the receive card on his feed.

duplicate of #1815


Cannot find module errors when re-running deploy.

This error seems caused by chokidar's watch, but packages are still running and no errors where occured.

fixed with forever integration, need to kill node instances.


Cex_IO for multi-account.py Don't run do_tasks

You forgot to add Thread(target=cex_io_client.do_tasks).start() or something like this

BTW I see
ERROR    | 2024-06-20 03:15:40 | CexIO | User: **** | Error in response: {'status': 'error', 'data': {'reason': 'Task is not at NONE state'}}
When try to run do_tasks
For me this resolve the problem

You got it! I'll add it soon.


Crash in OnRefreshSubscribeTimerSyncCallback when a new request cannot get attribute paths in handler

Problem
https://github.com/project-chip/connectedhomeip/runs/6183140367?check_suite_focus=true looks like a ReadHandler use-after-free
it seems it fail in new test introduced from resource minimas PR, https://github.com/project-chip/connectedhomeip/commit/077e44eadf46f349916b3f4f358da6126be2ed48#diff-77150bc5eb6a8acd1ca[…]002fa2dc773dc8e4df8721e9b, where it would kill the read handlers that uses more paths than the limit per fabric, at the same time, readhandler try to send the report for previous sub.
[1651008934853] [33203:330540] CHIP: [EM] Found matching exchange: 62317i, Delegate: 0x611000012600
[1651008934853] [33203:330540] CHIP: [EM] Rxd Ack; Removing MessageCounter:5771483 from Retrans Table on exchange 62317i
[1651008934853] [33203:330540] CHIP: [EM] Removed CHIP MessageCounter:5771483 from RetransTable on exchange 62317i
[1651008934853] [33203:330540] CHIP: [DMG] StatusResponseMessage =
[1651008934853] [33203:330540] CHIP: [DMG] {
[1651008934853] [33203:330540] CHIP: [DMG] 	Status = 0xc8 (PATHS_EXHAUSTED),
[1651008934853] [33203:330540] CHIP: [DMG] 	InteractionModelRevision = 1
[1651008934853] [33203:330540] CHIP: [DMG] }
[1651008934853] [33203:330540] CHIP: [IM] Received status response, status is 0xc8 (PATHS_EXHAUSTED)
[1651008934853] [33203:330540] CHIP: [DMG] mResubscribePolicy is null
[1651008934853] [33203:330540] CHIP: [EM] Sending Standalone Ack for MessageCounter:9523671 on exchange 62317i
[1651008934853] [33203:330540] CHIP: [IN] Prepared secure message 0x7ffee13833e0 to 0xDEDEDEDE00010001 (2)  of type 0x10 and protocolId (0, 0) on exchange 62317i with MessageCounter:5771484.
[1651008934853] [33203:330540] CHIP: [IN] Sending encrypted msg 0x7ffee13833e0 with MessageCounter:5771484 to 0xDEDEDEDE00010001 (2) at monotonic time:<PHONE_NUMBER>33ABE4 msec
[1651008934853] [33203:330540] CHIP: [EM] Flushed pending ack for MessageCounter:9523671 on exchange 62317i
[1651008934854] [33203:330540] CHIP: [EM] Received message of type 0x10 with protocolId (0, 0) and MessageCounter:5771484 on exchange 62317r
[1651008934854] [33203:330540] CHIP: [EM] Found matching exchange: 62317r, Delegate: 0x0
[1651008934854] [33203:330540] CHIP: [EM] Rxd Ack; Removing MessageCounter:9523671 from Retrans Table on exchange 62317r
[1651008934854] [33203:330540] CHIP: [EM] Removed CHIP MessageCounter:9523671 from RetransTable on exchange 62317r
[1651008934854] [33203:330540] CHIP: [IN] Prepared secure message 0x7ffee1388388 to 0xDEDEDEDE00010001 (2)  of type 0x3 and protocolId (0, 1) on exchange 62318i with MessageCounter:5771485.
[1651008934854] [33203:330540] CHIP: [IN] Sending encrypted msg=================================================================
==33203==ERROR: AddressSanitizer: heap-use-after-free on address 0x612000021409 at pc 0x00010eb3a0df bp 0x7ffee1385a90 sp 0x7ffee1385a88
WRITE of size 1 at 0x612000021409 thread T0
#0 0x10eb3a0de in chip::app::ReadHandler::OnRefreshSubscribeTimerSyncCallback(chip::System::Layer*, void*) ReadHandler.cpp:783
#1 0x10ebd41ad in chip::System::TimerData::Callback::Invoke() const SystemTimer.h:61
#2 0x10ebd1033 in chip::System::TimerPoolchip::System::TimerList::Node::Invoke(chip::System::TimerList::Node*) SystemTimer.h:224
#3 0x10ebd0838 in chip::System::LayerImplSelect::HandleEvents() SystemLayerImplSelect.cpp:397
#4 0x10ecb40b9 in ServiceEvents(unsigned int) TestInetCommonPosix.cpp:450
#5 0x10ecb252c in chip::Test::IOContext::DriveIO() NetworkTestHelpers.cpp:62
#6 0x10e92995e in chip::Test::LoopbackTransportManager::DrainAndServiceIO(std::__1::chrono::duration<unsigned int, std::__1::ratio<1l, 1000l> >) LoopbackTransportManager.h:79
#7 0x10e926482 in (anonymous namespace)::TestReadInteraction::TestReadHandler_KillOverQuotaSubscriptions(_nlTestSuite*, void*) TestRead.cpp:1605
#8 0x10ecb7f50 in nlTestRunner nlunit-test.c:213
#9 0x10e8e22ad in TestReadInteractionTest() TestRead.cpp:1768
#10 0x10e8708ca in main TestRead.driver.cpp:32
#11 0x7fff2059ef3c in start+0x0 (libdyld.dylib:x86_64+0x15f3c)
0x612000021409 is located 201 bytes inside of 296-byte region [0x612000021340,0x612000021468)
freed by thread T0 here:

Given the fact that
https://github.com/project-chip/connectedhomeip/blob/13ef4a3d03f4ecdf2afd865b8c9783a856eb5801/src/app/ReadHandler.cpp#L84-L110
We have
         InteractionModelEngine::GetInstance()->GetExchangeManager()->GetSessionManager()->SystemLayer()->CancelTimer(
             OnUnblockHoldReportCallback, this);

         InteractionModelEngine::GetInstance()->GetExchangeManager()->GetSessionManager()->SystemLayer()->CancelTimer(
             OnRefreshSubscribeTimerSyncCallback, this);

In the destructor of the ReadHandler, it is quite strange that this timer is not cancelled actually.

We can't defer a known use-after-free...

Maybe fixed by #22375 since that one had a use-after-free in readhandler

Based on the signature, I believe this is a duplicate of https://github.com/project-chip/connectedhomeip/issues/22160 which was fixed.


Block web crawlers on v1.7-branch

Google keeps surfacing links from very old versions of the Kubeflow docs website, which is confusing to users.
This PR adds the <meta name="robots" content="noindex"> meta tag to tell Google to stop indexing the pages from the v1.7-branch branch.
It will take probably a few months (or longer) for Google to re-index these pages, I have left nofollow off, so that google will re-index the whole site quicker by following links.

It also backports the changes from https://github.com/kubeflow/website/pull/3863 so the version selector is consistent across each archive version.

/lgtm


Updated README.MD

Added FAQ and Current Features sections
Moved some sections around
Various formatting changes
Updated Getting Started section (formally Installation)

Because Colin asked

This looks great, although maybe replace the article with steps on recovering the file once windows defender removes it

Done! Thanks for the suggestion

THANK YOU


Add Silero VAD version 4

Thanks to https://github.com/wxqwinner/silero-vad-ncnn
for providing the ncnn model for silero vad
CC @wxqwinner @nihui

For the Android CI failed tests, we need to wait
https://github.com/Tencent/ncnn/pull/5615
to be fixed.


Make proxy address configurable via a parameter

When running a docker-compose inside cci (with its own network), tailscale needs to know that it's not going to be reached via localhost or <IP_ADDRESS>.
In my case, I chose to use <IP_ADDRESS> to make it reachable from anywhere.

@kidd thanks for the contribution! ill cut a new release now


NumberFormatException when parsing OID values exceeding 32-bit signed integer range

Description:
Currently, Typer uses Integer.parseInt() for parsing PostgreSQL OIDs. However, PostgreSQL OIDs are 32-bit unsigned integers, and using Integer.parseInt() can lead to a NumberFormatException for values that exceed the range of a 32-bit signed integer.
Stack Trace
skunk.exception.DecodeException:
🔥
🔥  DecodeException
🔥
🔥    Problem: Decoding error.
🔥     Detail: This query's decoder was unable to decode a row of data.
🔥
🔥  The statement under consideration was defined
🔥    at «skunk internal»:0
🔥
🔥    SELECT oid typid, typname, typarray, typrelid
🔥    FROM   pg_type
🔥    WHERE typnamespace IN (
🔥      SELECT oid
🔥      FROM   pg_namespace
🔥      WHERE nspname = ANY(current_schemas(true))
🔥    )
🔥
🔥  The row in question returned the following values (truncated to 15 chars).
🔥
🔥    typid     oid   -><PHONE_NUMBER>    ├── java.lang.NumberFormatException (see below)
🔥    typname   name  ->  pg_aggregate
🔥    typarray  oid   ->  0
🔥    typrelid  oid   -><PHONE_NUMBER>
🔥
🔥  The decoder threw the following exception:
🔥
🔥    java.lang.NumberFormatException: For input string: "4294967108"
🔥      java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
🔥      java.base/java.lang.Integer.parseInt(Integer.java:662)
🔥      java.base/java.lang.Integer.parseInt(Integer.java:778)
🔥      scala.collection.StringOps$.toInt$extension(StringOps.scala:910)
🔥      skunk.util.Typer$ProtocolOps.$init$$$anonfun$4(Typer.scala:180)
...

Expected behavior:
Typer should parse PostgreSQL OIDs correctly, including values within the 32-bit unsigned integer range.
Actual behavior:
When encountering a PostgreSQL OID value that exceeds the range of a 32-bit signed integer, Integer.parseInt() throws a NumberFormatException, as it cannot handle values outside the signed integer range.
Proposed solution:
Instead of using Integer.parseInt(), use a method that can handle 32-bit unsigned integers, such as Long.parseLong() or explicitly convert the value to an unsigned integer representation.

I'm also hitting this issue.
Postgres OID docs specify "The oid type is currently implemented as an unsigned four-byte integer. "
The relevant Skunk code is here. Oid's sadly isn't representable by an Int, unless we added an encoding that oids above max int were stored as negative ints?
val oid: Codec[Int] = Codec.simple(_.toString, _.toInt.asRight, Type.oid)

Actually, I hit this when trying out @rolang's Dumbo, a (hopefully faster) alternative to Flyway.
AFAICT, because it makes use of Typer.Strategy.SearchPath which requires querying database metadata, and so hits the oid codec problem.

I did more investigation and thinking on how to solve this.

CockroachDB apparently uses oids in the upper half of the unsigned range. Its also an awesome database that already works with Skunk, and I'd really like to support it.

The surface area within Skunk of oid: Int is huge. I tried changing to oid: Long but the compile errors just kept coming in waves.

The saving grace is, we have enough bits in an Int to store an unsigned Int without losing info. We'll just have to accept the caveat, that for the rare case of oids > Int.MaxInt, they will be represented in Scala as a negative Int:
scala> (Int.MaxValue.toLong + 1).toInt
val res2: Int = -2147483648

With this encoding, the fix can be contained entire within the 1-line oid codec.
If maintainers are on board with this solution (which will be backwards compatible with all Postgres oids seen to date, that are less than Int.MaxInt), I'll send a PR?

@benhutchison This seems reasonable to me. Happy to review a PR.

Actually, I hit this when trying out @rolang's Dumbo, a (hopefully faster) alternative to Flyway.

Offtopic, but since it was mentioned, from some of my testing locally Flyway was always way slower with CockroachDB. One of the results as example that I was running:
// flyway: 75 migrations executed in 58265ms
// dumbo: 75 migrations executed in 22780ms

Same migration scripts with the same dockerized single node instance and empty database with latest Flyway as of now 10.12.0. But don't take it as proper benchmarking 😅.

Actually Flyway's performance when a database doesn't require any migration was what drove me nuts and led me to stumble on Dumbo. I have a CLI tool that extracts reports from a database, but includes a shared kernel that also checks migrations.
With Dumbo takes 10868ms to extract a report , with Flyway 19887ms

should We close this as We merged #1086 ?

Instead of using Integer.parseInt(), use a method that can handle 32-bit unsigned integers, such as Long.parseLong()

Fortunately we have Integer.parseUnsignedInt precisely for this :)

should We close this as We merged #1086 ?

Seems like it to me. Thanks Thanh!


subscriberDidDisconnect never called

I try to listen do subscriberDidDisconnect, but it never gets called, even if some other app that is connected gets closed. I  wonder what i am doing wrong? I belive i also call disconnect on the other app.

It seems like stream destroyed i can work with that for now.

Hmm, ya looks like we use destroyed as well. I'll try this out.


Fix async helpers import cycle

Description
Fixes the import cycle that prevents async helpers from being imported since v2.2.0
Issues Resolved

Closes #310

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Also, when updating the changelog, I noticed that there isn't an entry for v2.2.0

Thanks! I think we need a test for this. Otherwise we'll reintroduce the same bug.

Thanks! I think we need a test for this. Otherwise we'll reintroduce the same bug.

Already done. The first commit adjusts the imports to use the public import (the one that was broken) rather than the private one. That caused the test cases to fail during import. The second commit actually fixes the problem.

@aiudirog I may have been a bit too fast to merge, https://github.com/opensearch-project/opensearch-py/actions/runs/4359333294/jobs/7621006576 seems to be related, care to take a look?

@dblock That's a very interesting error. This command is expected to fail but didn't: https://github.com/opensearch-project/opensearch-py/blob/49ae7c76e08ba1bd2536e589a8ae2b50ccd6d6dd/utils/build-dists.py#L108-L113
I think the reason is that there's no longer the import of AsyncOpenSearch into that file, so there's no reason for those helpers to fail since they don't themselves import aiohttp. We may be able to remove the except ImportError from helpers/__init__.py. I'll look into it.

Most definitely don't rely on an exception to control flow! B is much better.


Error installing using pip

Error Log
Collecting click>=7.2
Collecting commonmark<0.10.0,>=0.9.0
  Using cached commonmark-0.9.1-py2.py3-none-any.whl (51 kB)
  creating build/temp.linux-x86_64-cpython-39
  creating build/temp.linux-x86_64-cpython-39/cairo
  copying manimpango/cmanimpango.pyx -> build/lib.linux-x86_64-cpython-39/manimpango
  running build_ext
  building 'manimpango.cmanimpango' extension
  creating build/temp.linux-x86_64-cpython-39
  creating build/temp.linux-x86_64-cpython-39/manimpango
  x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/harfbuzz -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/python3.9 -c manimpango/cmanimpango.c -o build/temp.linux-x86_64-cpython-39/manimpango/cmanimpango.o
  manimpango/cmanimpango.c:44:10: fatal error: Python.h: No such file or directory

44 | #include "Python.h"
        |          ^~~~~~~~~~
  compilation terminated.
  error: command '/usr/bin/x86_64-linux-gnu-gcc' failed with exit code 1
  ----------------------------------------
    ERROR: Failed building wheel for pycairo
Failed to build manimpango pycairo
ERROR: Could not build wheels for manimpango, pycairo, which is required to install pyproject.toml-based projects

Commands Used

sudo apt install libcairo2-dev libpango1.0-dev ffmpeg python3-pip
pip3 install manim
pip3 install gitpython
pip3 install git-story Error on this cmd

Can you let me know the OS version and Python version you're using?

OS: Ubuntu 20.04
Python Version: 3.9.13

Can you try this and let me know if it works after?
sudo apt install python3.9-dev
If that doesn't work, can you send me the output of running pip3 list

Can you try this and let me know if it works after?
sudo apt install python3.9-dev
If that doesn't work, can you send me the output of running pip3 list

After running this cmd sudo apt install python3.9-dev
I tried installing again and got this error
Collecting manimpango<0.5.0,>=0.4.0.post0
  Using cached ManimPango-0.4.1.tar.gz (4.1 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [30 lines of output]
      Package pangocairo was not found in the pkg-config search path.
      Perhaps you should add the directory containing `pangocairo.pc'
      to the PKG_CONFIG_PATH environment variable
      No package 'pangocairo' found
      Traceback (most recent call last):
        File "<string>", line 136, in check_min_version
        File "/usr/lib/python3.9/subprocess.py", line 373, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['pkg-config', '--print-errors', '--atleast-version', '1.30.0', 'pangocairo']' returned non-zero exit status 1.

      During handling of the above exception, another exception occurred:

      Traceback (most recent call last):
        File "/home/ubuntu/.local/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
          main()
        File "/home/ubuntu/.local/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/home/ubuntu/.local/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 130, in get_requires_for_build_wheel
          return hook(config_settings)
        File "/tmp/pip-build-env-4a79pkwb/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 177, in get_requires_for_build_wheel
          return self._get_build_requires(
        File "/tmp/pip-build-env-4a79pkwb/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 159, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-4a79pkwb/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 281, in run_setup
          super(_BuildMetaLegacyBackend,
        File "/tmp/pip-build-env-4a79pkwb/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 174, in run_setup
          exec(code, locals())
        File "<string>", line 203, in <module>
        File "<string>", line 139, in check_min_version
      __main__.RequiredDependencyException: pangocairo >= 1.30.0 is required
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

$ pip3 list

Package Version
------- -------
pip     22.1.2

Can you try this and let me know if it works after?
sudo apt install python3.9-dev
If that doesn't work, can you send me the output of running pip3 list

After running this cmd sudo apt install python3.9-dev I tried installing again and got this error
Collecting manimpango<0.5.0,>=0.4.0.post0
  Using cached ManimPango-0.4.1.tar.gz (4.1 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [30 lines of output]
      Package pangocairo was not found in the pkg-config search path.
      Perhaps you should add the directory containing `pangocairo.pc'
      to the PKG_CONFIG_PATH environment variable
      No package 'pangocairo' found
      Traceback (most recent call last):
        File "<string>", line 136, in check_min_version
        File "/usr/lib/python3.9/subprocess.py", line 373, in check_call
          raise CalledProcessError(retcode, cmd)
      subprocess.CalledProcessError: Command '['pkg-config', '--print-errors', '--atleast-version', '1.30.0', 'pangocairo']' returned non-zero exit status 1.

      During handling of the above exception, another exception occurred:

      Traceback (most recent call last):
        File "/home/ubuntu/.local/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
          main()
        File "/home/ubuntu/.local/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/home/ubuntu/.local/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 130, in get_requires_for_build_wheel
          return hook(config_settings)
        File "/tmp/pip-build-env-4a79pkwb/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 177, in get_requires_for_build_wheel
          return self._get_build_requires(
        File "/tmp/pip-build-env-4a79pkwb/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 159, in _get_build_requires
          self.run_setup()
        File "/tmp/pip-build-env-4a79pkwb/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 281, in run_setup
          super(_BuildMetaLegacyBackend,
        File "/tmp/pip-build-env-4a79pkwb/overlay/lib/python3.9/site-packages/setuptools/build_meta.py", line 174, in run_setup
          exec(code, locals())
        File "<string>", line 203, in <module>
        File "<string>", line 139, in check_min_version
      __main__.RequiredDependencyException: pangocairo >= 1.30.0 is required
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

Solved after running this cmd:
https://github.com/ManimCommunity/ManimPango/issues/53#issuecomment-901546167

Oh that's great - so It's working for you now?

Yes working good


Migration docs wrong for dropdown

https://github.com/Dogfalo/materialize/blob/v1-dev/v1-upgrade-guide.md
Under dropdown section, it says Call plugin on .dropdown-content instead of .dropdown-button
If you use the .dropdown-content class, the function within dropdown.js getIdFromTrigger will fail and cause issues later when trying to access dropdownEl
Docs at https://materializecss.com/dropdown.html example shows using dropdown-trigger which will work properly

Thanks for catching this


[BUG] Badges are formatted weirdly

Describe the bug
When viewing a user's profile, the badges are padded too much on the left and sometimes cause overlap with the user's username or cause their username to go partially to the next line.
To Reproduce
Steps to reproduce the behavior:

Click on a user's profile (especially someone with a lot of badges) and observe.

Screenshots

Setup

OS: Windows
Client Mod: Powercord
Release Channel: canary
Enabled Themes: zelk
Enabled Plugins: Spotify
Custom CSS: no
Discord Language: English (US)

Can reproduce on Canary on macOS

fixed


Use filterq only in all CQL calls

This PR replaces the effective duplication of cql_ast and filterq in the queries.
The main get and post collection tests should pass.

Note that the checks failing are because @KoalaGeo enabled the github actions. The failing test is not a (known) consequence of this work.

Happy with all this, although I didn't run the tests.  I'll need to find a way to take the api.py changes into my branch in a merge.


ModuleNotFoundError: No module named 'auxiliary.raytracer.RayTracerCython'

Hi all,
thank you very much for sharing your amazing work!
I cloned your repo and installed all the required dependencies, but unfortunately while running python lidar_deform.py -d minimal I get the error ModuleNotFoundError: No module named 'auxiliary.raytracer.RayTracerCython', namely:

Any suggestion?
FYI: I'm running everything inside a docker NVIDIA NGC container
Thank you in advance!

Hi @saltoricristiano,
we forgot one step in our description, you have to go to the folder auxiliary/raytracer and call there make. I extended the instructions in the README to include this small missing detail.
Hope that helps. Regarding the docker container, we tested the code in Ubuntu 20.04 and I think @ferdiflash used MacOS.
Let us know if you encounter other problems.

Hi @jbehley,
thanks for your suggestion! Unfortunately by running make in auxiliary/raytracer I get:

Any suggestion?
My Cython version is 0.28.4 and make 4.1.

Strange, with my version it silently accepts the string as an argument. I changed it to int, thus, it should now compile.

Hi,
I started a new pristine docker container from nvcr.io/nvidia/pytorch:21.02-py3 and the error disappeared.
Thanks for the suggestions!
Going o close this issue!

@jbehley @saltoricristiano I have tried to reproduce the repo and I am getting the following error while running make. Please help me to successfully execute the repo

Apparently, you are using Windows for compiling the C code. We currently only tested and can provide support for Ubuntu 18.04.
Please, open an own issue if you think that it's needed.

Hello @jbehley I have tried the same in google colab with ubuntu 18.04 environment and the make file executed. But, the same error is coming


Handle newlines at beginning and end of selection.

This commit fixes a bug in reflow when the selection begins on the line before the start of a paragraph, or ends on the line immediately after the paragraph. In that case, a space was being inserted at the start of the initial paragraph's first line, and at the end of the final paragraph's last line. Additionally, the blank line after the final paragraph was being lost.
Here are two screenshots that illustrate the problem.  The first shows the extent of the selection before the reflow:

The second shows the situation after the reflow:

Note that after reflow the first flowed paragraph starts with a leading space, and also that the last flowed paragraph ends with a trailing space, and the blank line following it is gone.  (The trailing-spaces package is active so that you can see the trailing space.)
This pull request fixes the problem.

Looks reasonable :+1: Thanks @glv!


Add csv/text file reader

Should this be another optional input format to the main STAR function? As in you could either pass in the ballots pandas dataframe, summary data, or filename to read data from? Or should we create a seperate function to parse csv into pandas dataframe and pass into main STAR function?

I think it should be a separate function so each can be tested etc. Then maybe a command line interface wrapper that does the whole process? python something.py election.csv?


fix: remove AbortController test mock

Description
This change was recently made in rnmapbox.
This library includes an AbortController test mock, which doesn't work in places that expect a real one. For example, I was writing an unrelated test that tried to cancel a fetch() which failed because the AbortController's signal property was invalid.
Because AbortController is in all supported Node versions, we can safely remove this mock and rely on the real thing.
This should only affect tests.
Checklist

[ ] I have tested this on a device/simulator for each compatible OS
[x] I formatted JS and TS files with running yarn lint:fix in the root folder
[x] I have run tests via yarn test in the root folder
[ ] I updated the documentation with running yarn generate in the root folder
[x] I mentioned this change in CHANGELOG.md
[ ] I updated the typings files (index.d.ts)
[ ] I added/updated a sample (/example)

CI failure seems unrelated, as it also happens on the main branch.

@EvanHahn, Yep, I just saw that. Probably some lint changes that need to be committed. Thanks for your fix. I'll get main passing again when I have a free moment.

Sounds good. Running yarn generate on main seems to be all that's needed.

Is there any plan to release this? It's not urgent on my end, but wanted to make sure it eventually goes out.

Hey @EvanHahn, this is out on 10.0.0-alpha.6. Thanks for the contribution.


Question about MASAC Algorithm in XuanCe and Discrete Action Space Support

Dear XuanCe Development Team,
Hello!
Thank you for your contributions to the field of multi-agent reinforcement learning! I noticed that the MASAC algorithm in the XuanCe project references the paper titled "Decomposed Soft Actor Critic Method for Cooperative Multi-Agent Reinforcement Learning". This paper explicitly states that its proposed mSAC method supports discrete action spaces. However, it seems that the current implementation of MASAC in XuanCe only supports continuous action spaces.
Could you kindly clarify whether this is due to technical considerations or development priorities? Are there any plans to support discrete action spaces in the future? I am very interested in this topic and look forward to your response.
Best regards！

Thank you for your interest in XuanCe! During our development of the SAC algorithm, we discovered significant differences between its implementation in discrete action spaces and continuous action spaces. As a result, the development of MASAC for discrete action spaces has been delayed. However, we plan to support this feature very soon. Please stay tuned, and thank you for your patience!


Duplicate class issue

Duplicate class android.support.v4.app.INotificationSideChannel found in modules core-1.3.1-runtime (androidx.core:core:1.3.1) and support-compat-25.3.1-runtime (com.android.support:support-compat:25.3.1)
Duplicate class android.support.v4.app.INotificationSideChannel$Stub found in modules core-1.3.1-runtime (androidx.core:core:1.3.1) and support-compat-25.3.1-runtime (com.android.support:support-compat:25.3.1)
Duplicate class android.support.v4.app.INotificationSideChannel$Stub$Proxy found in modules core-1.3.1-runtime (androidx.core:core:1.3.1) and support-compat-25.3.1-runtime (com.android.support:support-compat:25.3.1)
Duplicate class android.support.v4.os.IResultReceiver found in modules core-1.3.1-runtime (androidx.core:core:1.3.1) and support-compat-25.3.1-runtime (com.android.support:support-compat:25.3.1)
Duplicate class android.support.v4.os.IResultReceiver$Stub found in modules core-1.3.1-runtime (androidx.core:core:1.3.1) and support-compat-25.3.1-runtime (com.android.support:support-compat:25.3.1)
Duplicate class android.support.v4.os.IResultReceiver$Stub$Proxy found in modules core-1.3.1-runtime (androidx.core:core:1.3.1) and support-compat-25.3.1-runtime (com.android.support:support-compat:25.3.1)
Duplicate class android.support.v4.os.ResultReceiver found in modules core-1.3.1-runtime (androidx.core:core:1.3.1) and support-compat-25.3.1-runtime (com.android.support:support-compat:25.3.1)
Duplicate class android.support.v4.os.ResultReceiver$1 found in modules core-1.3.1-runtime (androidx.core:core:1.3.1) and support-compat-25.3.1-runtime (com.android.support:support-compat:25.3.1)
Duplicate class android.support.v4.os.ResultReceiver$MyResultReceiver found in modules core-1.3.1-runtime (androidx.core:core:1.3.1) and support-compat-25.3.1-runtime (com.android.support:support-compat:25.3.1)
Duplicate class android.support.v4.os.ResultReceiver$MyRunnable found in modules core-1.3.1-runtime (androidx.core:core:1.3.1) and support-compat-25.3.1-runtime (com.android.support:support-compat:25.3.1)
How to solve these issues, as these issues always pop out when I starts to compile, try many methods but unable to solve it yet.
Hope to get solutions asap

i am having the same issue

Add these lines in gradle.properties:
android.useAndroidX=true
android.enableJetifier=true


 Can you provide a complete translation solution?

hi @Subp66,
Labels in panel are used as also used as ID (grafana limitation), which means when you change a label you also have to change it in all location referring to it like in the transform section  or override section (right pane)
If you agree to release your translation opensource, I can include it in the project.

no response. I close the ticket


Update modal.md

What's your motivation?

Gonna close this PR as it comes without explanation. Happy to reopen and merge if a reason for this change is provided.


Parcelable vs Serializable

Shouldn't we use Parcelable instead of Serializable in our TaskEntity; parceable process is much faster than serializable, I was reading about the difference between them and I found this StackOverFlow

Yes, definitely. Please Go ahead with the Parcelable implementation.


nixos/typesense: init at 0.24.1

Description of changes

This adds a package for typesense (a fast and typo-resistant search engine)
Adds an accompanying nixos module (RFC42 compatible).
Adds nixos tests for the module
Closes #202136

I tried my best to not use a binary distribution here, but after trying to make it work (for far too long) I have decided that it isn't currently feasible. (Typesense will switch to bazel in the next version and creating a working build is almost impossible. You cannot prevent it from downloading stuff at build time; It fails if LANG is not C.UTF-8; The bazel sandbox prevents access to tools built with nix like cmake; ...) If you know how to make it work, please ping me on matrix.

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] 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/)
23.11 Release Notes (or backporting 23.05 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
[x] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

added updater script and passthrou for tests. This is now ready for review from my side.

Added comments about issues with building from source, and added requested formatting fixes.

@ofborg test typesense

hey @oddlama thanks a lot for this!
a couple of suggestions:

for the apiKeyFile, would be to use LoadCredential and ${pkgs.systemd}/bin/systemd-creds cat to populate
upstream has a systemd service file (maybe it was added recently). that adds 2 parameters not present here that might be useful https://github.com/typesense/typesense/blob/main/debian-pkg/typesense-server/etc/systemd/system/typesense-server.service (LimitNOFILE=64000
LimitMEMLOCK=infinity) . They use Require as well on top of After (I know using require is debatable, so feel free to skip if you disagree, I don't think this option is worth fighting for).

Also one question, why did you set the Group and the permission for the state directory to 0700 ? I understand why you would set user, in order to be able to sudo su and restore a backup, but I don't understand what group provides additional to that ?
last but not least, those are all detail and none of them are urgent/mandatory, so feel free to skip if you don't have the time.

* upstream has a systemd service file (maybe it was added recently). that adds 2 parameters not present here that might be useful https://github.com/typesense/typesense/blob/main/debian-pkg/typesense-server/etc/systemd/system/typesense-server.service (LimitNOFILE=64000
  LimitMEMLOCK=infinity) . They use Require as well on top of After (I know using require is debatable, so feel free to skip if you disagree, I don't think this option is worth fighting for).

It looks me like they copied this from some template service without thinking about whether it is necessary. Their whole codebase never uses mlock so loosening the limit to infinity has no effect while making the sandbox less strict. Also the default LimitNOFILE is 1024 soft and ~500k hard, so I'm not sure why 64k should be beneficial. I'm open to changing this if there's a rationale.

Also one question, why did you set the Group and the permission for the state directory to 0700 ? I understand why you would set user, in order to be able to sudo su and restore a backup, but I don't understand what group provides additional to that ?

I'm not sure I understand the question. The Group is specified so that the group name is explicitly specified instead of being derived by the service name. Due to DynamicUser there will always be a User and Group allocated for the service, we just set the name for both.
Regarding mode 0700, if your point is that the state directory should be 0750 to allow members of the group to do backups, I agree that this should be changed. I initially chose 0700 as a strict default without considering backup services.
I'm unfortunately currently a little short on time, so feel free to make the changes if you need them. Otherwise I'll try to cycle back to this later.

none of these changes are urgent, so feel free to address when you have time.
The question around the Group, is why do you want to specify the Group, aren't we just fine, leaving whatever systemd chooses ? I understand the rationale for setting the name for the User, I don't see why we explicitely need to set the name for the group.
Regarding mode 0700, my initial thought was that we don't need to set the permissions at all on the directory.
If we define the user name, you can always sudo su as that user and then make the backups as that user.
if indeed you want to use the group to let another user make the backup, then defining a group name and changing the permissions does indeed make sense.
I personally always use the same user to make the backups. I've never seen any argument for or against having a group. I was thinking that you might have good reasons for using the group and was curious about those.


Add validation for locked feature gate

How to categorize this PR?

/area ops-productivity
/kind bug
What this PR does / why we need it:
This PR adds validation for the locked feature gates. Now Gardener forbids upgrading clusters if the feature gate is locked to default and the user wants to set a value that does not default.
Which issue(s) this PR fixes:
Fixes #5362
Special notes for your reviewer:
This PR adds doesn't add validation for the feature gate which has been removed in any of the Kubernetes versions supported by the Gardener.
Release note:

NONE

/assign

The explanation doc string is not yet adapted.

The explanation doc string is not yet adapted.

The function I have added is not exported do we still need Doc string?

I am talking about:

the explanation doc string (https://github.com/gardener/gardener/blob/96dd4b835cdd80803560060d49847249ddcc68f7/pkg/utils/validation/features/featuregates.go#L27-L31)


Provide plugins to pretty-format in jest-each

🚀 Feature Proposal
Provide a default set of plugins to jest-each's use of pretty-format.
Motivation
jest-snapshot provides a default set of plugins to pretty-format, which are used during formatting of expect().toMatchSnapshot().
jest-each also uses pretty-format to format programmatic test titles (added in #6357), but does not provide any plugins to pretty-format. So, for example, something like this doesn't work:
test.each([
  <Button />,
  <Button active />,
])('renders %p', element => {
  // ... test goes here
})

Because pretty-format isn't invoked with the ReactElement plugin.
It would be nice if it was invoked with the same set of default plugins as in jest-snapshot.
Example
See above.
Pitch
Why does this feature belong in the Jest core platform?
For consistency between jest-snapshot and jest-each.

+1 Would like to be able to point to a property on my table row and use it for the test description.  The only way I think I can do this is override toString and use %s


[bugfix] - fix rpc metrics

Looks like option_layer is not what I thought it was and causing the metric middle layer to stop working

I don't understand why option_layer does not work when registry is Some?  https://docs.rs/tower/latest/src/tower/util/mod.rs.html#1077-1083
Did you test this change locally and verify the metrics comes back?

I don't understand why option_layer does not work when registry is Some? https://docs.rs/tower/latest/src/tower/util/mod.rs.html#1077-1083
Did you test this change locally and verify the metrics comes back?

I haven’t investigate deeper but the MetricLayer didn’t get called at all when using option_layer, with registry is_some, removing it fixes it, I verified locally the MetricLayer now gets called.


Compiler should NOT let enums compile on *.d.ts files.

Search Terms: can't import typescript enum
Reasoning: As far as I know, typescript uses *.d.ts files in order to provide type-safety to, usually, JS functionality without types. Hence these files should only be used for code that won't be transpiled to any JS since they should only be useful to the developer and the compiler to perform static analysis of the code. So once the front-end has done it's job the compiler skips code generation for these files as they don't produce JS.
For instance:
// In some file.d.ts

// Will work
export function method(a: number): number
// Doesn't work because it provides implementation and should be defined in *.ts file
export function method(a: number): number { return a }

However, declaring an enum inside a *.d.ts file works and results in the compiler not generating the code necessary to power the enum behavior and breaks at runtime when running the JS. (see examples below)
Code
The code is perfectly valid TypeScript but it results in runtime errors when importing such enum.
test.d.ts
export enum A { a,b }

some.ts
import { A } from "./test";

const usingIt = A.a

console.log(usingIt)

Expected behavior: It should at least throw a warning at the developer or most preferrably not compile at all. Preferrably indicating that enums can't be declared inside in *.d.ts files.
Actual behavior: Compiles perfectly, and doesn't generate any errors. Results in a runtime error:

Playground Link: https://www.typescriptlang.org doesn't allow me to create multiple files
Related Issues: None that I know of

This is true for everything you could put in a declaration file other than type aliases and interfaces. When declaration files contain declarations that have value meanings, they are declaring the existence of something that will be present at runtime, whether through globals or colocated JavaScript module files. If you author a .d.ts file by hand and don’t have the JavaScript to make it work at runtime, you are saying “Trust me, this thing is going to exist,” and it’s your responsibility to ensure that you make it so. It’s exactly the same as writing declare in a normal TypeScript file:
declare function something(): void;

something(); // Will throw at runtime if `something` does not exist

This isn’t a bug, it’s a feature—it allows you to tell TypeScript that there are parts of its environment that it does not know about. Declaration files do the same thing.
But you’re not supposed to author *.d.ts files by hand most of the time. You’re supposed to generate them, and *.js files, from *.ts files with tsc. When you run tsc --declaration index.ts, it produces index.js and index.d.ts. If your TypeScript file had an enum declaration in it, index.js would have the runtime JS to support usage of that enum, and index.d.ts would have a copy of the enum declaration. (Part of) the job of index.d.ts is to tell the compiler what exists in index.js. So if index.js does not exists, that’s simply a misconfiguration.

Alright, thanks for clearing that out


Move secrets mount path to /var/openfaas/secrets

change the secret configuration string spec to mount secrets in
/var/openfaas/secrets

Description

Using a simple string format, this changes uses the docker cli parsing options to set the secret target to be in /var/openfaas/secrets.
This change also moves the secrets related methods (makeSecretsArray) to a separate secrets.go file to mimic the structure in the Kubernetes projects. Hopefully, this makes it easier to track changes across the projects.
Motivation and Context

[X] I have raised an issue to propose this change (required)
This change will ensure that the secrets required for the function business logic do not interfere with standard locations that other systems may want to modify.

This also ensures a consistent experience for function deployment across
swarm and k8s
Implements openfaas/faas#692
Relates to openfaas/faas-netes#188
How Has This Been Tested?

I have tested this locally in Docker Swarm with a modified version of the ApiKeyProtected-Secrets example function. An updated docker image is available for testing at theaxer/faas-swarm
I have not written any unit tests for this yet, because the method currently calls to the swarm api, so I need to research how to mock that interaction first.
Changes will need to be made to the documentation and example functions in the openfaas/faas repo.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[X] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[X] My code follows the code style of this project.
[X] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[X] I've read the CONTRIBUTION guide
[X] I have signed-off my commits with git commit -s
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

@LucasRoesler I'm eager to get this merged and released so we can update the docs.
Please could you work with one or two people to validate this change before I merge/release?
Perhaps @rgee0 @BurtonR or @ericstoekl ?

I can run through a couple of scenarios to try this out this evening. I'll post my results here as soon as it's complete.

Thank you @BurtonR, that'd be great.

Apologies for the delay...
Tested this out on a local swarm and verified it works as expected :100:
burtonr@pop-os:~/code/faas$ docker exec -it mv-secret.1.gdi7q2z8rw7g4hgynqrn2c873 /bin/sh
~ $ cat /var/openfaas/secrets/sauce
awesomeness

Verified by including the secret both ways
faas deploy -f mv-secret.yml --secret sauce
and with the yml definition
functions:
  mv-secret:
    lang: node
    handler: ./mv-secret
    image: mv-secret
    secrets:
      - sauce

Thank you Burton :+1:

We now need to update the compose file to point at the latest release version.


Version 0.0.7

Landed in https://github.com/metarhia/noroutine/commit/ae2e61fe12d3b5c87946d0e7131edc0007cc8873


Indicate if a request is AJAX

Maybe it would be possible to arbitrarily add columns, maybe with a declarable function to get information for the logging? I suggest because I don't particularly care about AJAX, but I would like to know if something's from HTMX using https://github.com/adamchainz/django-htmx. I'm spitballing here, but if we're looking for arbitrary information and if this doesn't sound completely ridiculous it could look like:
def logging_is_htmx(request, *args, **kwargs) -> str:
    return str(request.htmx)

LOGGING = {
    "version": 1,
    "disable_existing_loggers": False,
    "handlers": {
        "django_rich_logging": {
            "class": "django_rich_logging.logging.DjangoRequestHandler",
            "level": "INFO",
            "extra_columns": [
                {"title": "HTMX", "function": logging_is_htmx},
            ]
        },
    },
}

This is a neat idea! I wonder if all of the columns could be configurable, but there is a default set of columns if none are specified. Or is that overkill?

@sjbitcode Since you just created https://github.com/adamghill/django-rich-logging/pull/5, what do you think about this idea?

I have an initial PR for configurable columns, but it doesn't handle arbitrary functions. I'll need to see how doable that is (not sure if I have access to the actual request object when logging).

I dug into this little bit more and django.server does send along a request when messages get logged, but unfortunately it is a socket.socket. I also found this https://code.djangoproject.com/ticket/27234 from 6 years ago, but it isn't especially helpful!
I spent a little bit of time trying to determine if Django's HttpRequest was available, but I couldn't figure it out.


Cyberpunk plugin update for MO 2.5.2

[x] update wiki with info about Cyberpunk and MOs load order
[x] plugin version bump (v2.3.1) for wiki reference
[x] check MO compatibility with REDprelauncher.exe => ~remove the executable option if necessary~

Will be addressed later:

[ ] note and link necessary RootBuilder update: Kezyma/ModOrganizer-Plugins/issues/36
[ ] possibly fix profile specific save files (existing ones are not moved or similar)

I checked REDprelauncher, which does still seem to work with MO
Until the bug fix for RB is published, the default RB mode is set to copy for now. I will probably add another PR with some updated settings for RB, since the newer version is required now.
This can be merged.

Should the default be moved back to link now that RB 5.0.5 is out?  I did one test run with CET and link seems to work.

Yes the fix got added in RB 5.0.5, but since will probably drop RB support (auto config etc.) for Cyberpunk altogether in favor of the (MO native) forced load library approach with #163, it is not worth changing it back now.
Additionally it might also create problems for users updating only MO.

I wasn't aware of force load libraries and that it is sufficient to support CET/RED4Ext from the VFS.  Thanks for the link, I will try your test plugin with MO 2.5.2 instead of RB.  Cheers.

Your test plugin is working very well for me with the current versions of CET and R4E, this has let me remove RB.  Thanks for the link to the PR.  Cheers.


td session storage path

background: I use tdlib for my private usage, currently I run the program by jupyter notebook of online service for some scheduled job.
question: the runtime is all fresh every time it runs, so when it's scheduled to run or restarted, it need to be supplied with confirmation code or password to login and authenticate, as telegram will treat is as a new device and fresh session. I suppose that there must be some session/token file being saved after login, which I can stores and supply to tdlib to avoid inputing codes, thus make the job run automatically without any human Interaction. so if that's the case, where is the session file stored? and how can I tell explicitly to tdlib to use it?

Telegram isn't supposed to be used and TDLib can't be run in storage-less environment. Telegram apps must store state and continuous write and read access to a writable directory is required for this.

This is not enough. There is nothing like "token" in TDLib. The full state must be persisted.

OK, so where the full state is stored, whatever the stored format. I can dig in and duplicate the state.

even if the state consist of some generated files and hardware recognize information like mac address, It's ok.
please help.

You can't duplicate the state, Telegram can't work this way. You must use the modified by the previous run state for the next run.

OK, got it.
after reading the doc, I found the database_directory and files_directory parameters which are just what I am looking for.
I said "duplicate the state" actually means storing files for later use and then copy/download back, not manually manipulating the files. sorry for not expressing clearly.
this is what I'm gonna do: save another copy of the binlogs/sqlite db to somewhere after telegram.stop() (as it's temporary and will disappear after restart) , and when restarting, copy back the backups from somewhere before log in.
I've tried and it works.
could you tell me what is the default authenticate TTL before it expires and does it support to be configured through the api?

If you persist exact content of the database directory between launches with all modification done during run time, then it should be fine.
Everything is the same as in all Telegram apps. If session is active, then it is valid forever.

some more questions:

if I don't care or need any chat history like msgs/files/stickers, and never call get_chat_history or some other similar functions, then the msgs/files/stickers won't be auto downloaded/retrieved from server in the background by TDLib, is it true?
If I set use_file_database, use_chat_info_database, use_message_database all to false, then whether I call such involved query functions or not , TDLib won't save msgs in local cache/files, is it true?
If TDLib do download/save a copy of msgs in local storage, then does TDLib has any public "clean-up" api support? eg. clear all chat history or clear by chat_id

It depends. Generally, a lot of data must be received from server.
The flags disables storage of the corresponding data between app restarts.
No.

thank you so much for support! ♥♥


exe not working

When i run the virus i created it shows an error
Desktop (please complete the following information):

OS: Windows 11
Python Version: 3.11.4

Is there anyway to fix it? what am i doing wrong?

its b/c the file hasnt been created yet shutil need to move file in that specific folder. if not wont work

send me the code to fix it for you

disable antivirus


Broken link to "Install the Weave Net addon" documentation in "Weave Net for NetworkPolicy" page

The following links for Weave Net are no longer viable, and should be updated (e.g. pointing to the GitHub repo where it is now maintained, https://github.com/weaveworks/weave, which again, admittedly needs to be updated, but puts the onus on the project itself):

Install the Weave Net addon
Follow the Integrating Kubernetes via the Addon guide.
The Weave Net addon for Kubernetes comes with a Network Policy Controller that automatically monitors Kubernetes for any NetworkPolicy annotations on all namespaces and configures iptables rules to allow or block traffic as directed by the policies.

Google link-to-highlight: https://kubernetes.io/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy/#:~:text=Install the Weave,by the policies.
This issue resembles #45201

Submitted PR #45258 with fix for review and merge.

Page mentioned in the issue: https://kubernetes.io/docs/tasks/administer-cluster/network-policy-provider/weave-network-policy
/language en
/kind bug


ReferenceError: Ajax is not defined

Prerequisites

[X] I am running the latest version
[X] I checked the documentation and found no answer
[X] I checked to make sure that this issue has not already been filed

Expected Behavior
Do any configuration inside feediron.
Current Behavior
Saving, adding and testing result to the popup error message
ReferenceError: Ajax is not defined
Unfortunately there is no more information to find in the popup.
Steps to Reproduce
Please provide detailed steps for reproducing the issue.

fresh tt-rss install from https://git.tt-rss.org/fox/ttrss-docker-compose.git
fresh install of this plugin
try to set it up

Failure Information (for bugs)

Failure Logs
E_WARNING (2) | plugins.local/feediron/preftab/fi_pref_tab.php:44 | foreach() argument must be of type array\|object, null given 1. plugins.local/feediron/preftab/fi_pref_tab.php(44): ttrss_error_handler(2, foreach() argument must be of type array\|object, null given, plugins.local/feediron/preftab/fi_pref_tab.php, 44) 2. plugins.local/feediron/init.php(618): get_pref_tab(, ) 3. backend.php(131): index()

E_USER_WARNING (512) | client-js:tt-rss-layer.js?1613849410 line 8 > Function:6 | ReferenceError: Ajax is not defined anonymous@https://example.com/tt-rss/lib/dojo/tt-rss-layer.js?1613849410 line 8 > Function:6:4 _onSubmit@https://example.com/tt-rss/lib/dojo/tt-rss-layer.js?1613849410:8:238947 hitch/

Context
Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

Operating System: Ubuntu 20.04
TTRSS version/git version: v21.02-d6de021ae
PHP version: 8.0.2

Ok so it looks like Fox removed the old Ajax requests. Give the latest master a go it should be fixed now

Thanks, it's working now!


Footer text should be more generic

With the following form :
<EMAIL_ADDRESS>· powered by Ghost · Theme is Stitsch Blue, by Schoewilliam."


GBC Double speed mode?

I saw https://github.com/chrismaltby/gb-studio/pull/290
and https://develop.gbstudio.dev/docs/settings/
So, it was working at some point? Is there a good reason it is removed?

Since 3.0 Color Mode has the double CPU option always enabled.

Oh, I didnt know that! Thanks!


Implement hybrid mode of nydus-snapshotter

If nydus-snapshotter is ever started in multiple or single daemon mode, it can't change the daemon mode from the last startup set.
It is not very friendly to be used.

This will resolved in upcomming v0.4

Nydus-snapshotter supports works as shared and multiple mode at the same time now


[Future]: Need hopper update.

Hi.
It is not allowed to place hopper sideways on barrels.
Can you give an updete to anable this?
It can help to input items by linked chests with the Chest++ plugin.

Place the hopper before the barrel. Hoppers can insert items into barrels and remove items from them. If you have further issues, please join my support discord: https://discord.gg/agu5xGy2YZ


qovery-cli: 0.46.7 -> 0.47.2

Diff: https://github.com/Qovery/qovery-cli/compare/v0.46.7...v0.47.2
Changelog: https://github.com/Qovery/qovery-cli/releases/tag/v0.47.2
Description of changes

Things done

Built on platform(s)

[ ] 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

[ ] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.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

[ ] Fits CONTRIBUTING.md.

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

1 package built:

qovery-cli


fix: return early from Page:render if no filename

If filename is nil there is no use for setting the src, we should return
early.

I can add that error printing when the controller is missing if you tell me how/where you want it printed :smile:

Yea, I think it's best to add already some kind of error message :)
An error("Your message") should do :)

Nice! error() shows a page using the default template showing the error and stack trace. Neat.

What's missing in this case is not the controller, but the view file.
Maybe this would be better?
error("Could not find view file: "..dir.."/"..filename)

You are right. That gives a more verbose error.
Fixing it now.

Oh wait! Guess we both weren't paying attention. If filename is nil, it won't concatenate x)
This is not about not finding the view file, but when a view name is not passed... sorry...
Maybe
error("No view name available.")
or
error("A view name is required.")
?

How about the following?
error("View name is not available: "..filename)
This covers both pages rendered through views/ and autogenerated.

but it filename name is nil there is no filename to concatenate with the error message :)

ooops, you replied when I was editing.
I realized this just after my last comment. Gulps (shame)

don't worry, I made the same mistake xD

Thanks Etiene! Enjoy your Friday night :beers:


fix(packaging): update rxdart and sdk min versions

Support new rxdart version
Breaking changes

min rxdart version is 0.23.1
min sdk version is 2.6.0 (since rxdart 0.23.* require extension methods)

Fixes / Enhancements

Closes #497

I wasn't able to find how do you manage iterative updates, so these commit affects both graphql and flutter_graphql packages. This causing a problem: flutter_graphql dependency on graphql couldn't properly updated in this commit.
Can you please guide me how do you handle this type of issues in your repo?

Please sign your commits in order to merge this one to beta

@mainawycliffe done :slightly_smiling_face:

:tada: This PR is included in version 3.0.0-beta.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

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


mx.graphics.LinearGradient Added

LinearGradient Added

This PR cannot be accepted because it contains a now out-of-date SolidColor.  Maybe try reverting that commit.

Closed because it contains out-of-date SolidColor. Separate PR created for LinearGradient


Outside viewport event

Hello,
Is it possible to add an "outside viewport" event to the directive ?

Hi @victorlevasseur,
That's a nice idea. In next week I will be working on it.

+1

I've implemented it on my side, I'll soon put it in a pull request I want.

Yeah sounds good! thanks man


Plugin does not work with functions

Hej,
In this case, I assumed plugin should highlight that fn is potentially undefined but it does not.
type Fn = (() => void) | undefined;

const boo = (fn?: Fn) => {
	fn();
};

boo();

Hi, I made a pretty big change in the code lately where errors will be read directly from the typescript.
I added this case to unit test so it should work now but if you still have any issues please let me know.


[FEATURE REQUEST] Add a way to define custom translation, rotation and scaling logic for boundcontrols.cs

I would like to have the ability to override boundcontrols.cs. This way, I can create new transform modification logic when the bound controls are active.

Fixed in #706


feat: scoped elements v3

What I did

Amazing work @thepassle 🎉

Amazing work @thepassle 🎉

@pndewit too :)

Then kudos to @pndewit too 💯

How should already published web components be handled now regarding the polyfill? Should we bundle the polyfill with the web component, or do a major bump for all published web components and require users to add a polyfill?

If you're using<EMAIL_ADDRESS>that version has built-in detection to see if the polyfill is loaded or not. If the polyfill is not loaded, it will fallback to the global customElements registry. If the polyfill is loaded, it uses the polyfill. In version 3.0.0, we made the polyfill required to use. So if you use components that use<EMAIL_ADDRESS>you'll have to load the polyfill.
Polyfills should always be loaded by the consuming application (polyfilling is an app-level concern), and never bundled with a library or component.

Polyfills should always be loaded by the consuming application (polyfilling is an app-level concern), and never bundled with a library or component.

ok, so this means a breaking change for all components :(
thanks for the clarification

Yes, updating from v2.0.0 to v3.0.0 is a semver major change, thats also why it was released as such. If youre happy using v2.0.0 of the mixin, you can just keep on using that version instead.

Yes, updating from v2.0.0 to v3.0.0 is a semver major change, thats also why it was released as such.

Just for clarification: I meant it's a breaking change for all my components if I upgrade the mixin, since now my component users now also require the polyfill, while previously it was optional.

If youre happy using v2.0.0 of the mixin, you can just keep on using that version instead.

Yeah, I think I'll do that for now. Here is hoping that someday we'll get browser support :)

Indeed. Thats why the mixin was released as a major version.

Yes, but usually major releases of my internal dependencies don't force me to also release new major versions. This is the first time for me at least.

major releases of my internal dependencies don't force me to also release new major versions

This sometimes happens, sometimes not, but its definitely not uncommon. In this case it does require a major version, because the change is indeed breaking. As such, it has been released as a major version. As mentioned above, if you're happy with using v2.0.0, you're free to keep using that one.

@thepassle  is there a roadmap for how long v2 will be supported until we have to move to v3? I am in the same situation as lazka and thinking whether i should move to v3  or stay at v2. My concern is for the event that some dependencies in v2 needs update (like security patches), will scope-elements v2 be updated?

(fyi, I've decided to stay on v2, and if needed I'll vendor the old version, since it's only one small file anyway: https://github.com/open-wc/open-wc/blob/%40open-wc/scoped-elements%402.2.4/packages/scoped-elements/src/ScopedElementsMixin.js)

@thepassle is there a roadmap for how long v2 will be supported until we have to move to v3? I am in the same situation as lazka and thinking whether i should move to v3 or stay at v2. My concern is for the event that some dependencies in v2 needs update (like security patches), will scope-elements v2 be updated?

We still have the v2 version on a separate branch, so if any security patches or critical bugfixes need to be done we can still patch those. Note that v2 barely has any dependencies as is, though and the ones it does have are generally very stable ones, so I don't foresee any problems there.
I'll reiterate that if you're happily using v2, it's fine to just keep using v2 if it suits your usecases. Its also fine to vendor it yourself like @lazka mentioned, but I don't necessarily see the merit of that immediately 🙂


chore: run windows/mac tests only on main

Prevents us exhausting GitHub Actions quota on PRs since MacOS is 10x the cost

$GITHUB_WORKSPACE (used in bazel test ... step) doesn't work on Windows. This needs changing to ${{ github.workspace }} (https://github.com/aspect-build/rules_esbuild/blob/abf0528384474f3b59733594e1f644b214c2a0ff/.github/workflows/ci.yaml#L135)
And the test.sh step needs to be excluded when running on Windows as well


Optimize server synchronization

Right now, since the server hosts all the rooms, it also tries to synchronize all info from those rooms to all peers. (Since each of the rooms have their own MultiplayerSynchronizer nodes). Figure out some way to avoid sending unnecessary info to peers that don't need it, saving bandwidth and CPU.

https://docs.godotengine.org/en/stable/classes/class_multiplayersynchronizer.html#class-multiplayersynchronizer-method-add-visibility-filter

This may be fixed.  I'll close in a couple days if it seems to still be working.


allow more cases to not block convert params to destructured object refactor

fixes #58930
^ was purposefully disabled in https://github.com/microsoft/TypeScript/pull/30089#issue-414340630:

This refactor changes a function's signature, so it affects the way a function should be called either directly or indirectly. The refactor also changes assignability to and from a function's type, since its type will change. Because of that, there are several situations where performing the refactor could cause a breaking change...

The current solution to this problem is to adopt a conservative approach: the refactor will perform changes only if those changes are guaranteed not to break the code...

Therefore, the refactor can fail to perform changes even if it was listed as available and the user tried to applied it. Currently there is no way to inform a user why a refactor has failed.

TODO: update description more.

One thing I'm wondering, though, is that if we are willing to allow the refactor to be applied even when we know it will introduce errors, we shouldn't simply allow all cases (i.e. more than the ones in this PR), and rely on the fact that there will be type errors to alert the user to the places where the code needs to be manually updated.

I was thinking the same (hence why the draft)-- the original bug report provided a case where there was just one broken reference in a test case, but I can see how it could get bad fast if there are a lot of broken cases. And if we allow this refactor to break this case, why not others?