[19.09] mattermost-desktop: 4.2.3 -> 4.3.1

Motivation for this change
This is a port of NixOS/nixpkgs#72867 for 19.09, as requested by @knedlsepp.
Built and run in on a running NixOS unstable system, file uploading was working properly.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Thx for taking the effort of making file upload work on 19.09.

@GrahamcOfBorg build mattermost-desktop


Release machinelearningservices microsoft.machine learning services 2024 04 01

ARM (Control Plane) API Specification Update Pull Request
PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

[1] ARM review queue (for merge queues, see [4])
The PRs are processed by time opened, ascending. Your PR may show up on 2nd or later page.
If you addressed Step 1 from the diagram and your PR is not showing up in the queue, ensure the label ARMChangesRequested
is removed from your PR. This should cause the label WaitForARMFeedback to be added.
[2] https://aka.ms/azsdk/support/specreview-channel
[3] List of SDK breaking changes approvers in pinned Teams announcement
[4] public repo merge queue, private repo merge queue (for ARM review queue, [1])
If you need further help with anything, see Getting help section below.
Purpose of this PR
What's the purpose of this PR? Check all that apply. This is mandatory!

[x] New API version. (Such PR should have been generated with OpenAPI Hub).
[ ] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
[ ] Update existing version to fix swagger quality issues in S360.
[ ] Other, please clarify:

edit this with your clarification

Due diligence checklist
To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

[x] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
[x] I have reviewed following Resource Provider guidelines, including
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can proceed to Step 2, "ARM Review", for this PR.

Breaking changes review (Step 1)

If the automation determines you have breaking changes, i.e. Step 1 from the diagram applies to you,
you must follow the breaking changes process.
IMPORTANT This applies even if:

The tool fails while it shouldn't, e.g. due to runtime exception, or incorrect detection of breaking changes.
You believe there is no need for you to request breaking change approval, for any reason.
Such claims must be reviewed, and the process is the same.

ARM API changes review (Step 2)

If this PR is in purview of ARM review then automation will add the ARMReview label.
If you want to force ARM review, add the label yourself.
Proceed according to the diagram at the top of this comment.

Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.
Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
Swagger-Suppression-Process
to get approval.
Getting help

For general PR approval workflow, see the diagram at the top of this comment.
For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
and https://aka.ms/ci-fix.
If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

/azp run

Hi @MilesHolland , comparing with previous stable api-version, there's no new APIs or features, would you please share more details about why this new api-version is added?

FYI ARM Reviewer: This PR is a batching of API changes so we can introduce the version into main as a unit. We are still waiting for the folks to make changes at this time.

Note to ARM reviewer: I have added a lintdiff approval to this PR because the check is timing out and not expected to complete. This is because of the number of files that need to be run thru this process. The reviewer needs to manually review all changes as they cannot rely on the automated checks.

Your PR is in draft mode. Pl bring it out of draft mode to continue the review

removing typespec and data-plane they do not apply to this PR

FYI ARM Reviewer: This PR is a batching of API changes which have been pre-approved by ARM so we can introduce the version into main as a unit. The only outstanding PR already has ARM approval and will be merged soon https://github.com/Azure/azure-rest-api-specs/pull/28312

https://github.com/Azure/azure-rest-api-specs/blob/8ba022751badccbcca72f4468a59da00749dd46b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2024-04-01/mfe.json#L12211
Is the "tags" repeated with the top-level field "tags"?

https://github.com/Azure/azure-rest-api-specs/pull/28495
this is the PR to change to 201 status code

https://github.com/Azure/azure-rest-api-specs/blob/8ba022751badccbcca72f4468a59da00749dd46b/specification/machinelearningservices/resource-manager/Microsoft.MachineLearningServices/stable/2024-04-01/mfe.json#L12211
Is the "tags" repeated with the top-level field "tags"?

All these changes have been ARM pre-approved.  This PR is not adding this change, just combining pre-approved changes

Hi @MilesHolland , I noticed that JS SDK has a breaking change said :
- Deleted Class AzureMachineLearningWorkspaces

this is because in swagger  it has a different the title between last release version 2022-10-01 and the versions after 2022-10-01, Do you have any concerns to add the title as AzureMachineLearningMgmtClient in readme.typescript.md to avoid any breaking
changes caused by changing the title in Swagger later on

Hi @raych1 , Prepared this PR https://github.com/Azure/azure-rest-api-specs/pull/28549 to address your comment . Could you please review and approve? Thanks!

Hi @qiaozha , Could you please review and approve for JS SDK?

Hi @qiaozha , Could you please add BreakingChange-JavaScript-Sdk-Suppression-Approved label if the review is done? The automatic merge requirements is showing the particular label is missing.

Using this duplicate PR instead of this PR: https://github.com/Azure/azure-rest-api-specs/pull/28742


[AIRFLOW-1342] enable S3Hook to use host from connection

Dear Airflow maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[x] My PR addresses the following AIRFLOW-1342 issue and references them in the PR title.

Description

[x] Change S3Hook to first try to get host from connection, then, if it is None, get it from extra_params

Tests

[x] My PR adds an new test method test_get_host_from_connection in S3HookTest to test host extraction from connection

Commits

[x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

When possible, can someone help me in explain why did TravisCI marked my branch as failed? I can see the error, but I don't know how can I fix it.

@victorddiniz  Looks like an unrelated test case failed (SchedulerJobTest.test_scheduler_run_duration). It has a time-based assertion that seemed to be causing intermittent failure.
You may want one of the committers to rerun the test, or a quick fix is to do another branch push that triggers the travis CI build

Hi @jgao54! I can rerun a build but the problem is the assertion still fails and it is not related to my PR. My fear is that my PR don't get approved because of that.

@victorddiniz  hmmm... In my past experience rebuild will sometimes fix itself given the assertion is on timing, and it's only failing on 1 of the 6 environments. So it may be worth a shot :)

@jgao54, thank you! I rebuilt just this task and it succeeded! Now I'll just wait for some feedback and, with some luck, get my PR merged! 😄😄😄

@victorddiniz, you can re-trigger build by yourself, for example, with "git push --force-with-lease origin feature/AIRFLOW-1342"


Reading or writing to a characteristic kills all further discovery

Please check all of the platforms you are having the issue on (if platform is not listed, it is not supported)

[] iOS
[X] Android
[] tvOS
[] macOS
[] .NET Standard
UWP IS NOT SUPPORTED DURING THE BETA PERIOD - ONLY PRs ARE WELCOME FOR NOW

Version of OS(s) listed above with issue
Android 6.0
Version of Library
5.2.2, 5.3.0 (works in 5.1.0 but then I'm hit by bug #88 )
Expected Behaviour
Reading from a characteristic during discovery should not stop all other characteristics being discovered after that.
Actual Behavior
When connected to a particular BLE device we're supporting, if in the subscription to IGattService.GetKnownCharacteristics() you attempt to read or write to the characteristic, no other characteristics will get discovered.
The device is found by scanning for a particular service type:
this._scan = this.BleAdapter.Scan(new ScanConfig()                 {                     ScanType = BleScanType.LowLatency,                     ServiceUuids = new List<Guid>() { TemperatureServiceUuid }                 })                 .Subscribe(this.OnScanResult);
and the read or write is similar to ( see full attachment):
`
var readValue = await characteristic.Read();
            if (readValue != null && readValue.Data != null)
             {
                        var bytesvalue = readValue.Data;
                        byte val = bytesvalue[0];
                        System.Diagnostics.Debug.WriteLine("Auto Off mins: " + val);
                        byte autoOffSetting = 20;
                        if (val != autoOffSetting)
                        {
                            if (characteristic.CanWriteWithoutResponse())
                            {
                                System.Diagnostics.Debug.WriteLine("Writing autoOff without response");
                                characteristic.WriteWithoutResponse(new byte[] { autoOffSetting });
                            }
                            else if (characteristic.CanWriteWithResponse())
                            {
                                System.Diagnostics.Debug.WriteLine("Writing autoOff with response");
                                var writeResult = await characteristic.Write(new byte[] { autoOffSetting });
                                System.Diagnostics.Debug.WriteLine("Writeresult " + writeResult.Data != null ? writeResult.Data[0].ToString() : "???");
                            }
                        }
                    }

`
I have noticed that each of the device's characteristics gets discovered multiple times (5 or 6 times). I'm not sure if that's expected or part of the problem.
I've attached a log from the Android device:
bt_log.txt
and the full code by my BLE interaction in a test project:
BleDeviceManager.cs.txt

You are likely hitting an android race condition.  The communication with Bluetooth is actually serial/sequential so if you do overlapping operations such as a read during a multi discovery process - things like this will happen.  My suggestion is request all of your known characteristics first (API take an array of them) and then perform read/writes.  I take care of making sure read/writes/notifications don’t suffer from the serial problem.
I will look into a fix in a future release, but the suggestion above will work just fine (it’s how I use it in a few projects).
As for whenservicediscovered, it was designed to repeat what has been discovered per connection & per hook to it.

Thanks for the information.
So should I keep a track (dictionary?) of all the characteristics I've asked for and mark when they've been discovered? Will that be a safe way of knowing I've seen them all and can start interrogating? Or should I put some kind of additional wait time (ugh) in there as well before I start interacting with them?

I'm still hot having much luck I'm afraid. Unless I fill my code with Task.Delay() calls the second Read() always gets stuck at the lock in DeviceContext.Lock : [Debug][Device] Lock - at the gate.
I'm only making one call to GetKnownCharacteristics on one service, asking for 4 characteristics. When each one is found I add it to a ConcurrentDictionary. When the key count is 4 I then start reading them sequentially.
`var measurementScaleGuid = Guid.Parse(BleDeviceManager.MEASUREMENT_SCALE_CHARACTERISTIC_UUID);
var measurementTimingGuid = Guid.Parse(BleDeviceManager.MEAS_TIMING_CHARACTERISTIC_UUID);
var autoOffGuid = Guid.Parse(BleDeviceManager.AUTO_OFF_CHARACTERISTIC_UUID);
var asciiTemperatureGuid = Guid.Parse(BleDeviceManager.ASCII_TEMP_CHARACTERISTIC_UUID);
this.Device
.GetKnownCharacteristics(BleDeviceManager.TemperatureServiceUuid,
measurementScaleGuid,
measurementTimingGuid,
autoOffGuid,
asciiTemperatureGuid
)
.Subscribe(async characteristic =>
{
System.Diagnostics.Debug.WriteLine("Found a temperature charac: " + characteristic.Uuid);
if (characteristic.Uuid.Equals(measurementScaleGuid))
{
_requiredCharacteristics.AddOrUpdate(characteristic.Uuid, characteristic, (key, existing) => { return existing; });
}
else if (characteristic.Uuid.Equals(measurementTimingGuid))
{
_requiredCharacteristics.AddOrUpdate(characteristic.Uuid, characteristic, (key, existing) => { return existing; });
}
else if (characteristic.Uuid.Equals(autoOffGuid))
{
_requiredCharacteristics.AddOrUpdate(characteristic.Uuid, characteristic, (key, existing) => { return existing; });
}
else if (characteristic.Uuid.Equals(asciiTemperatureGuid))
{
_requiredCharacteristics.AddOrUpdate(characteristic.Uuid, characteristic, (key, existing) => { return existing; });
}
     if (_requiredCharacteristics.Keys.Count == RequiredKeyCount)
     {
         await SetupCharacteristics();
     }
 });`

And in SetupCharacteristics():
`await Task.Delay(5 * 1000);
IGattCharacteristic autoOffCat = _requiredCharacteristics[Guid.Parse(BleDeviceManager.AUTO_OFF_CHARACTERISTIC_UUID);
CharacteristicResult readResult = await autoOffCat.Read();
if (readResult != null && readResult.Data != null)
{
System.Diagnostics.Debug.WriteLine("Read auto-off (idle time before light sleep)");
var bytesvalue = readResult.Data;
byte val = bytesvalue[0];

System.Diagnostics.Debug.WriteLine("Auto Off mins: " + val);

}
//await Task.Delay(3 * 1000);
IGattCharacteristic timingCat = _requiredCharacteristics[Guid.Parse(BleDeviceManager.MEAS_TIMING_CHARACTERISTIC_UUID)];
readResult = await timingCat.Read();
if (readResult != null && readResult.Data != null)
{
System.Diagnostics.Debug.WriteLine("Read measurement timing");
var bytesvalue = readResult.Data;
byte val = bytesvalue[0];

System.Diagnostics.Debug.WriteLine("Measurement timing: " + val);

}
//await Task.Delay(3 * 1000);
IGattCharacteristic scaleCat = _requiredCharacteristics[Guid.Parse(BleDeviceManager.MEASUREMENT_SCALE_CHARACTERISTIC_UUID)];
readResult = await scaleCat.Read();
if (readResult != null && readResult.Data != null)
{
System.Diagnostics.Debug.WriteLine("Read measurement scale");
string currScale = Encoding.UTF8.GetString(readResult.Data, 0, readResult.Data.Length);
System.Diagnostics.Debug.WriteLine("Current scale is " + currScale);
}`
It never logs [Device] [Releasing the sync lock] unless I pause between reads.
[0:] Found a temperature charac: 28ef0770-3640-4565-a99b-d07cf6a9103f [0:] Found a temperature charac: 4134a840-cbfa-455a-a3a9-6b78cc64dc72 [0:] Found a temperature charac: 7d53f0b7-33aa-4939-98c6-39fcd1fa9b06 [0:] Found a temperature charac: 78544003-4394-4fc2-8cfd-be6a00aa701b 12-05 13:28:48.394 D/Mono    (23334): Assembly Ref addref BluetoothTest.Std[0xe7b500a0] -> System.Reactive.Linq[0xe7b50940]: 5 Thread finished:  #5 The thread 'Unknown' (0x5) has exited with code 0 (0x0). [0:] [Debug][Device] Lock - at the gate [0:] [Debug][Device] Lock - past the gate 12-05 13:28:53.459 D/BluetoothGatt(23334): readCharacteristic() - uuid: 7d53f0b7-33aa-4939-98c6-39fcd1fa9b06 12-05 13:28:53.459 D/BluetoothDevice(23334): mAddress: 00:07:80:A6:3A:7C 12-05 13:28:53.562 D/BluetoothGatt(23334): onCharacteristicRead() - Device=00:07:80:A6:3A:7C UUID=7d53f0b7-33aa-4939-98c6-39fcd1fa9b06 Status=0 srvcType=0 srvcInstId=0 charInstId=0 12-05 13:28:53.562 D/BluetoothDevice(23334): mAddress: 00:07:80:A6:3A:7C 12-05 13:28:53.562 D/BluetoothDevice(23334): mAddress: 00:07:80:A6:3A:7C 12-05 13:28:53.562 D/BluetoothDevice(23334): mAddress: 00:07:80:A6:3A:7C 12-05 13:28:53.562 D/BluetoothDevice(23334): mAddress: 00:07:80:A6:3A:7C Thread started:  #12 [0:] Read auto-off (idle time before light sleep) [0:] Auto Off mins: 20 [0:] [Debug][Device] Lock - at the gate Thread finished: <Thread Pool> #8 The thread 'Unknown' (0x8) has exited with code 0 (0x0).
If I uncomment the 3 second delays it works.

Please try to reduce the mass amounts of code you're including.  I've only got so much time for supporting this thing.
As I said, the android API tends to lock up if you overwhelm it which you still are.  You need to find all of the characteristics first, then do all your reads/writes.  So watch the following:

Subscribe with an async is a huge no-no in RX. It doesn't wait for the subscribe action to finish, thus it fires as fast as it gets events.  I protect the read/writes via the lock gates.  I'm not currently protecting the GetKnownCharacteristics.
The second thing mistake is - never store characteristics in global scope.  Every disconnect will flush out the internals of those variables causing them to be invalid.

Here's what you should do for now:
var yourCharacteristics = await this.Device.GetKnownCharacteristics(
   BleDeviceManager.TemperatureServiceUuid,
   measurementScaleGuid,
   measurementTimingGuid,
   autoOffGuid,
   asciiTemperatureGuid
)
.Take(4)
.ToList();

// now do your thing with the characteristics that are found

Ok, after doing what you suggested in your comment above, I can get a list of the characteristics. But I still can't read them.
foreach(IGattCharacteristic c in yourCharacteristics)
{
    System.Diagnostics.Debug.WriteLine("will read: " + c.Uuid);
    c.Read().Subscribe(observer => { System.Diagnostics.Debug.WriteLine("did read: " + observer.Characteristic.Uuid); });
}

I have also tried:
foreach (IGattCharacteristic c in yourCharacteristics)
{
   System.Diagnostics.Debug.WriteLine("will read: " + c.Uuid);
   var readResult = await c.Read();
   System.Diagnostics.Debug.WriteLine("did read: " + readResult.Characteristic.Uuid);
}

Both methods lock at the second read - I only ever get one "did read:" message.

I have been unable to reproduce this problem.  I have a unit test based on this exact case.  In order to progress this, please do the following:

Provide the device make & model so I know if I'm fighting with a vendor
Put an "await Task.Delay(300);" after each read.  If it works, please reduce to 100 and see if it still works

If 2 works, I'll look into adding a pause in the locking mechanism.

The device is a Cooper-Atkins Blue2, firmware 1.10. We are successfully using these devices in iOS using CoreBluetooth, and on Android using Plugin.BLE (except for rare crashes which only our clients can replicate on Samsung devices, hence me trying your library..).
After I posted yesterday I found that a delay of 500ms after each Read() worked. I just tried 100ms and it still works. I would suggest making it configurable as you have done for the other delays.

5.3.1 contains a operation wait parameter.  It also causes proper waits on GetKnownCharacteristic.  I now consider this case closed.

Even after delay I'm getting value for Read characteristics. I'm reading fro custom service, where i have to write first and then read. Able to write successfully but read got lock and never come back. Can you help me on this as earliest.

@NandishGowdaNR please don't post in closed issues.  Secondly, you haven't given any details in order to know what issue you are having.  Lastly, please note that this is not a support site.  If you require support beyond the actual open source, samples, & docs - I do offer paid consultancy.  You can reach out to me via the email on my github profile if this is something you need.


Reliability issue on botframework

I keep getting this error, once a while in production and the messages dont end up showing in Skype/ Web.
How can this be overcome in production. It appears unreliable and users are unhappy. Or, am I doing something wrong.
Request to 'https://smba.trafficmanager.net/v3/conversations/29%3A10hZoGeaCfWX4Lpkd33wjtUUC1-HEH3YDQF5csOsZDhc/activities' failed: [400] Bad Request
at Request._callback (D:\home\site\wwwroot\node_modules\botbuilder\lib\bots\ChatConnector.js:413:46)
at Request.self.callback (D:\home\site\wwwroot\node_modules\request\request.js:186:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:192:7)
at Request. (D:\home\site\wwwroot\node_modules\request\request.js:1081:10)
at emitOne (events.js:96:13)

@ubreddy for this conversation the problem happened 6 times on 3/13 and the reason is always the same:
Response code: BadRequest Body: {"error":{"code":"BadSyntax","message":"Invalid image URI"}}
which means your message activity contains some card as payload with an invalid image url.
Could you please share the payload sample you are sending?

Got it fixed. Thank you.On 14-Mar-2017 7:52 PM, Konstantin Lutskiy<EMAIL_ADDRESS>wrote:@ubreddy for this conversation the problem happened 6 times on 3/13 and the reason is always the same:
Response code: BadRequest Body: {"error":{"code":"BadSyntax","message":"Invalid image URI"}}
which means your message activity contains some card as payload with an invalid image url.
Could you please share the payload sample you are sending?
—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or mute the thread.

@ubreddy are you able to share what the resolution was?


gzip encoding support for streaming in 3.5.0

I've noticed gzip streaming supported in #233 , but is it supported in 3.5.0? I can't find any related parameters in documents.
Passing gzip=True or compression=True to Stream() does no help.
Passing headers={'Accept-Encoding':'deflate, gzip','User-Agent':'tweepy'} to Stream() results UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte error.

thanks to #718 , resolved

#718 shouldn't be necessary, as the requests library by default accepts gzip encoding and decompresses it automatically for each response.

#718 shouldn't be necessary, as the requests library by default accepts gzip encoding and decompresses it automatically for each response.


Move imports in canary component

Breaking Change:
None
Description:
Moved import from function to top-level as requested in #27284
Checklist:

[ ] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the development checklist

Note: imports sorted using isort

No problem, maybe some other time :-)


Support checkpointing storage volumes

Description
The checkpoint feature for containers needs to handle checkpointing storage volumes. Storage volumes used by the containers may be provisioned by volume plugins and those plugins should be given a chance to create a snap of the volume. This is critical to be able to restore a container to a specific state w.r.t its data.
This issue is to request adding a volume plugin API to checkpoint a storage volume.  The plugin does whatever to create a point in time snap of the storage volume. Similarly for a restore to allow the plugin to revert to a prior PIT snap.

Steps to reproduce the issue:

NA

Describe the results you received:
NA
Describe the results you expected:
NA
Additional information you deem important (e.g. issue happens only occasionally):
Output of docker version:
Client:
 Version:      1.12.0-dev
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   ae816ba
 Built:        Wed Jun 15 07:20:09 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.0-dev
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   ae816ba
 Built:        Wed Jun 15 07:20:09 2016
 OS/Arch:      linux/amd64

Output of docker info:
Containers: 1
 Running: 0
 Paused: 0
 Stopped: 1
Images: 93
Server Version: 1.12.0-dev
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 226
 Dirperm1 Supported: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: vmdk local
 Network: host overlay bridge null
Swarm: active
 NodeID: 51wq28fmqek5c2a7ur50fd3w5
 IsManager: No
Kernel Version: 3.13.0-85-generic
Operating System: Ubuntu 14.04.1 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 1.955 GiB
Name: hte-1s-eng-dhcp98
ID: H3SC:SAIV:HFHW:WYI5:WC4O:GEVQ:S6AJ:VIJ2:4CVT:UXDQ:T4GW:7MCA
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 30
 Goroutines: 70
 System Time: 2016-09-23T02:32:04.388872503-07:00
 EventsListeners: 0
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Insecure Registries:
 <IP_ADDRESS>/8

Additional environment details (AWS, VirtualBox, physical, etc.):

ping @cpuguy83 @estesp


feat: Added message functionality to pass stream log data

Is your feature request related to a problem?
Not possible to stream log data
Describe the solution you'd like
A message listener to pass log data, avoiding the need of using a file

duplo


Question: V1 Support

Description
I am currently using connexion v1.5.3. I would like to add a fix to an bug related to x-nullable support and $refs (#1070). Is there any way to merge in my fix ? I cannot currently upgrade to connexion version 2 (easily). I don't see a v1 branch but seeing as there is now a v2 and v3 branch could we add a v1 branch for some backwards compatibility ?
Thanks

I don't think we can or want to support the old v1 release, but I created some "v1_unsupported" branch from the v1.5.3 tag so your bugfix might find a home: https://github.com/zalando/connexion/tree/v1_unsupported

Thank you very much :)


Help needed!

Thanks, @iqnivek and the community for the awesome work.
I was trying have something similar to below-attached gif, but could not get it working.

What I am trying to achieve is a blog reading pie-progress, that shows what percentage the user has scrolled through the article.
Thanks 🙏

Thanks for the kind words @gagan0723!
Can you show a codesandbox example of what you currently have? You should be able to achieve this by setting the percentage prop whenever the scroll level changes.

@iqnivek here the link.
I have some comments, please read them.
Thanks 😊

I think I got it?

See: https://codesandbox.io/s/vop51mwx7

Thanks for helping me out.
Is there a way to make paths a bit smaller in size?

Use the strokeWidth prop? All the dimensions should be configurable one way or another. Good luck!

Thanks.


How do i get MySQL connectionId using knex npm package while establishing the connection?

let data = require('knex')({ client: 'mysql', connection: { host: 'localhost', user: 'root', password: 'root', database: 'aaaaaa', charset: 'utf8' }, pool: { min: 1, max: 20, destroyed: true }, })
this is my connection request. how do I find a connection id for this?

You will not get any connection id. There is actually not connections made when knex in initialized. The first connection is created when the first query is done.
When pool creates a new connection afterCreate callback is created, which also provides handle to underlying connection.


How to update all commits in a repository?

Hey there 👋 ,
I'm having difficulties figuring out how to update all commits of a given repository with this library (e.g. to update all author and committer signatures).
It seems like there is no API for filter-branch, which means I'd have to rely on rebase in some way or another (I guess).
I'm neither deep into Git or Rust, so I don't really understand how a non-interactive rebase should work with this library.
I haven't found any examples for this kind of usage and I'd be really greatful if someone could provide me with one.

@jasontheiler Maybe is it similar to https://github.com/rust-lang/git2-rs/issues/855#issuecomment-1179514855.


[break-backward-compatibility] Access to the promise in the form-controls/submit

Previously, developers were able to access state of the promise (string) in ember-async-button.
After it was replaced, it was no longer possible. This breaks a compatibility as promise is returned
instead of the string.
Thanks to @stephankaag for finding this bug.

3 days for comments; I will merge it afterwards

Is there a new beta on it's way that includes this fix?

@stephankaag Not yet, I will fix the introduced error. I hope that it will be a simple fix.


Tiling noise textures will create visible seams

Godot version
v4.0.beta.custom_build [2afa17519]
System information
Windows 10, Forward+, NVIDIA GeForce GTX 1050 Ti (<IP_ADDRESS>4)
Issue description
Attempting to tile multiple noise textures with the same settings will create visible seams between them.
Image of 4 noise textures creating seams between them

It seems to be due to the values being normalized, as can be seen here:
https://github.com/godotengine/godot/blob/218bef90af2091afde3b1be816c87286c194a2a8/modules/noise/noise.cpp#L87
It would be nice if this could be an option instead of hard coded into the noise texture.
Steps to reproduce

Create two Sprite2D
Give them a noise texture
Make sure both the texture and the noise object of the two sprites are unique
Reposition the sprites so their edges connect
Set the noise offsets to the sprite's position
Observe the textures seemingly tile well with the exception of a visible seam

Minimal reproduction project
This test project uses a @tool script for the noise scene to duplicate the texture and noise object on _ready.
Reopen the main scene to refresh textures.
noise_seam.zip

CC @Geometror

It seems to be due to the values being normalized, as can be seen here:

Isn't it possible to have normalized noise that is seamless?


Fix ignition entries.

Some strange things going on, but the nmstate file needs to be encoded
data URL and the systemd unit is plain text string.

Seems correct to me and matches what I did in https://github.com/openshift/ironic-image/blob/master/ironic-config/ironic-python-agent.ign.j2#L45-L67

Cool.  Thanks Dmitry!


Support multiple time callback

For something like JDAObjects.getMessageChannel, I hope it can support multiple time callback not just one because this mean that message channel only can contains 1 message, which make no sense
Maybe allow us to call Callback.await multiple time

This issue was implemented with #40.


Support new aggregation features

Q
A

New Feature
yes

RFC
no

BC Break
no

Summary
This issue serves as an epic to track various aggregation features that are not supported in ODM yet.
New aggregation pipeline stages

$currentOp
$listLocalSessions
$listSessions
$merge
$planCacheStats
$sortByCount

In addition to these stages, the new $replaceWith, $set, and $unset stages are aliases for $replaceRoot, $addFields, and $project, respectively. We should consider adding those to the builder as well.
New aggregation operators

$arrayToObject
$dateFromParts
$dateFromString
$dateToParts
$ltrim
$mergeObjects
$objectToArray
$regexFind
$regexFindAll
$regexMatch
$round
$rtrim
$trim
All trigonometry operators
All type operators

For the $currentOp, $listLocalSessions, and $listSessions stages: we may consider not adding these, as there is no concept for db.aggregate in the aggregation builder: it always runs on a specific collection. I'm not sure how to best handle that via the current API. At the same time, these commands are not likely to be used in your average ODM application, so I don't think it will be particularly bad if we don't add them now.

Any updates @alcaeus about this? Thanks!

@markitosgv no updates on our end but we'll appreciate help adding any and all missing features :)


Is it possible to restore a backup from windows to linux?

I'm using chrome in both, is there a way?

Yes.
Backups from any OS and browser combination to any browser on any OS that is supported work.

Due to the lack of additional comments I'm going to assume that the above comment was enough to answer the question completely :)


Empty palette in editor

First of all - Love your ACF Composer!
I tried ACF Editor Palette just now with Sage 10 (dev-master), added an editor_palette field. The field looks empty in the WP editor:

(so... there is nothing beneath this)
Steps to reproduce this problem:

Install Sage 10 composer create-project roots/sage theme-name dev-master
yarn + yarn start
Add a color palette to Sage 10 app/setup.php (which is working with default WP blocks)
Install ACF Pro and activate
Install ACF Composer with composer require log1x/acf-composer  + wp acorn vendor:publish (which throws an error but seems to succeed:

In VendorPublishCommand.php line 277:
Call to undefined function Illuminate\Foundation\Console\base_path()

Install ACF Editor Palette with composer require log1x/acf-editor-palette
Generate Example wp acorn acf:field Example
Use this code

$example
->addRepeater('items')
   ->addText('item')
->endRepeater()
->addField('new_color', 'editor_palette')
   ->setConfig('return_format', 'slug');

Curious to hear if I'm doing something wrong, or if this is a bug.
PHP version 7.4.15
Thanks!

Just found out that if I manually download the ACF Editor Palette .zip and install the plugin, the color palette actually works!
But I don't suppose that is the idea and it should work with Sage 10 by just running composer require log1x/acf-editor-palette?

You need to run composer require log1x/acf-editor-palette from Bedrock, not Sage.


[Feature] Workaround to enable re-run single jobs

Many Github users are expecting Github to enable the ability to re-run single jobs in workflow https://github.com/actions/runner/issues/432, so do we as it's cost another twenty minutes to rerun a failed e2e or unit-test job. But the feature hasn't come out.
Here is a workaround from @salem7 to fix the problem by splitting workflow https://hsalem.com/posts/ability-to-rerun-single-jobs-in-github-actions.html.
For example, we can split workflow go to several workflows, in each of which, contains e2e-tests, unit-tests respectively. We just need to rerun e2e-tests, without re-running unit-tests, which will save a lot of time.

Do you think it's a good idea? If yes, I would be pleased to overtake the split work. Thanks.

I doubt it's really save time. Now the time cost of unit test is ~15min while the e2e cost ~20min. In fact what fails most is the e2e test. Rerun e2e test will cause rerun all the other test jobs but they run concurrently.

@wonderflow Splitting the workload into the current one, unit-test, and e2e-test, won't do bad for the CI, right?
You mention what fails most is the e2e test, I agree with you. But sometimes, re-running all jobs will fail the job which passed before, and sometimes, unit-test failed, in which situations, it saves time and improve the user experience.
But I have to admin re-running success jobs shouldn't fail, we have to improve the robustness of the testes.


Implement basic forward kinematics for one-frame models

This PR does a few things together (unfortunatly), but the main goals was to have a basic one-frame forward kinematics (so basically just a get and set of the same transform) working.
Things done:

The iDynFor::KinDynComputations class was templated and renamed to iDynFor::KinDynComputationsTpl, in pinocchio style. The parameters of the template are:

Scalar: the scalar type used as a member of the vectors (tipically double, but can be other methods to support CasADi or similar systems)
Options : An integer parameter that represent the options of the underlying Eigen::Matrix, see Eigen docs (https://eigen.tuxfamily.org/dox/classEigen_1_1Matrix.html) for more details.
JointCollectionTpl a type used in pinocchio to specify the supported joints: as in iDynTree for now we just support Revolute and Fixed, we will probably always use the default one

As I worked on the tests, I realized that I was going to need to always convert back and forth iDynTree and iDynFor data structures to check the consistency between iDynTree::KinDynComputations and iDynFor::KinDynComputationsTpl. To keep tests clean, I then created a new class iDynFor::iDynTreeFullyCompatible::KinDynComputations that is meant to expose exactly the same interface of iDynTree::KinDynComputations, that can be useful for the following use cases:

You have a piece of code that uses iDynTree::KinDynComputations, and you want it to run faster with just a small change of code
You want to use iDynFor without including the pinocchio template headers (that are quite slow to compile)

Added iDynFor::toPinocchio and iDynFor::fromPinocchio methods to convert back and forth iDynTree::Transform and pinocchio::SE3 objects

That's awesome! with this we can already start to use the library!

That's awesome! with this we can already start to use the library!

Ops I just noticed this
    // TODO: implement frame different from the base one
    iDynTree::reportErrorIf(frameIndex != 0,
                            "iDynFor::KinDynComputationsTpl::getWorldTransform",
                            "requested frame not supported");

still thank you @traversaro for building the project step by step!

:D

@S-Dafarra I should have addressed all your comments in https://github.com/ami-iit/idynfor/pull/19/commits/bcaa6cef53583b49021e6fa9a68136635bd7c501 .


Update manager.yaml

Fixes #181
Tested:
ok      sigs.k8s.io/hierarchical-namespaces/internal/anchor     0.026s  coverage: 14.9% of statements
ok      sigs.k8s.io/hierarchical-namespaces/internal/config     0.049s  coverage: 18.8% of statements
ok      sigs.k8s.io/hierarchical-namespaces/internal/forest     0.043s  coverage: 25.1% of statements
ok      sigs.k8s.io/hierarchical-namespaces/internal/hierarchyconfig    0.099s  coverage: 23.8% of statements
ok      sigs.k8s.io/hierarchical-namespaces/internal/hncconfig  0.023s  coverage: 25.7% of statements
ok      sigs.k8s.io/hierarchical-namespaces/internal/namespace  0.020s  coverage: 59.8% of statements
ok      sigs.k8s.io/hierarchical-namespaces/internal/objects    0.018s  coverage: 35.3% of statements
ok      sigs.k8s.io/hierarchical-namespaces/test/e2e    0.002s

/assign @tashimi

ping @adrianludwin @rjbez17
/unassign @tashimi

Hey @rgherta , thanks for this! Before I approve, can you please make a few changes?

The tests you ran didn't exercise your changes - the test/e2e would have tested them, but they take about 15-30m to run. To run those tests, point your kubectl at a cluster, run make deploy to deploy HNC onto that cluster, then run make test-smoke (this runs a subset of the e2e tests and should only take about 5min). Can you please run those?
Can you please give the commit a more descriptive name? E.g. "Add pod security contexts" or whatever the correct name of this feature is. Please also include the details about why you're making this change, any other details that might be useful, plus what testing you did in the commit, not the PR description. A good example is https://github.com/kubernetes-sigs/hierarchical-namespaces/commit/75a2052036d7240534f090c40217c42bff24cf0c.

For this change, the "Tested:" paragraph might just be Tested: make smoke-test passes

Thanks!

BTW you can update the commit message just by git commit --amend and then force-push it to your branch, probably something like git push origin -f, you don't need to close this PR and file a new one.

Hey @rgherta , do you need a hand on this? Is everything clear?

all clear, sorry for thr delay

No worries! LMK if you have any questions about running the tests.

lgtm but I wouldn't mind if Ryan could have look as well. Thanks for making this change!
/approve
/lgtm
/hold
/assign @rjbez17

/ok-to-test

/lgtm
/hold cancel


Delete a Contact and Leave Empty Account (with Contact Delete Override enabled)

Critical Changes
Changes
Users now have an option to delete a Contact and leave empty Account when deleting the only Contact in the Household. The option to delete Account is still available as before.
Thank you Beth Breisnes for your contribution!
Issues Closed
New Metadata
Custom Labels:

DeleteAccount
DeleteContactLeaveAccount

Deleted Metadata

@smarovich , please can you review Changes section?
Additionally, documentation for "NPSP: Deleting Accounts, Contacts, and Other Records" > "What happens when I delete a Contact (with Contact Delete Override enabled)?" needs an update based on  the most recent modifications. Thank you!

Beth Breisnes, thank you for your contribution! We made some minor changes with regards to how the platform deals with navigation with regards to Classic vs Lex. It took a while to find and investigate the issue during code review, so we went ahead and made the change. Please note this issue was not introduced by your changes.

Hi @RadSFDeveloper, I updated the Changes section and will update the doc as well. Thanks for the heads up!

@jjbennett @RadSFDeveloper I finished up testing in both LEX and Classic and couldn't find anything out of line (except for noting that we should ultimately remove the override pages associated with Contacts & Orgs - one absolutely doesn't work) and a suggested enhancement to avoid 'Anonymous Household' - other than that, good by me! Thanks for doing a great job with this community contribution, Radmila!


hiddenRow height wrong

hi:
SwipeRow.js
render() {
return (
<View style={this.props.style ? this.props.style : styles.container}>
<View style={[
styles.hidden,
{
//height: this.state.hiddenHeight,
//width: this.state.hiddenWidth,
}
]}>
{this.props.children[0]}

{this.renderRowContent()}

);
}
7 8  lines,  i think is wrong, when  i delete row ,the height is change but the value is not true,
in my code , i  just set the hidden row style = 1 and fix this code ,
it can make the height right, i hope you can check it

@OstrichRunning not sure what your issue is here. If you wouldn't mind pasting a more complete example I'd be happy to take a look.
Also people with height issues after deleting a row often have success by setting the recalculateHiddenLayout prop to false.
Maybe give that a shot as well
(sorry for the delay in responding!)

render() {
		return (
			<View style={this.props.style ? this.props.style : styles.container}>
				<View style={[
					styles.hidden,
					{
						//height: this.state.hiddenHeight,
						//width: this.state.hiddenWidth,
					}
				]}>
					{this.props.children[0]}
				</View>
				{this.renderRowContent()}
			</View>
		);
	}

In my code, my rows height is differ, sometimes my hidden row height show error, can not  equal row height, so when i comments this tow line out and set the hidden row flex = 1. the hidden row height is ok. so i think this tow line is wrong
(sorry for the delay in responding too!)

Hey @OstrichRunning, so I'm not sure what problem you're facing specifically, but basically the way the component usually works is the hidden row's height and width are initially set to 0, and then it uses the height and width of the visible row component to set the height and width of the hidden row (see here: https://github.com/jemise111/react-native-swipe-list-view/blob/master/components/SwipeRow.js#L73).
So I can't get rid of those lines otherwise the hidden row wouldn't have the correct height/width in most cases.
My guess is maybe you are hard coding the heights of your hidden rows, and that is being overridden by the component.
Could you paste more code? I'd love to see how you are calling renderRow, renderHiddenRow, and the StyleSheet for those components. Thanks!

Hi:  @jemise111,
I use your demo(SwipeListExample) test, set different height, the bug did not reappear. so i think you do not need <#dont-set-hidden-height-width>, but in my old code( "react": "^16.0.0-alpha.12",
"react-native": "0.36.1") ,when i set hiddenRow flex = 1, sometimes hiddenRow height show error.
However, I think there is no need to take the initiative to set the width and height (SwipRow.js onContentLayout), this view layout by this.props.children[1]. if onContentLayout error, the hiddenRow height&width will show error.
final, thank you follow this issue very mach and i feel so sorry <i changed my job six months ago(not use RN in my new work), i can not reappear this issue, waste your time do nothing>

Hey @OstrichRunning thanks for giving it a shot!
I'm gonna think about it and maybe implement a change in the future but seeing as you're not affected by this issue anymore and I don't have anyone else experiencing this I'm going to leave it alone for now and close this issue.
Good luck in your new job :)

I have this issue too, the hidden height won't rerender when an item is removed on the list


Fixing ambiguity in OAuth consent page "Approve once" and "Approve Always" words

Is your suggestion related to an experience ? Please describe.
Fixing ambiguity in OAuth consent page "Approve once" and "Approve Always" words
Describe the improvement
Current behaviour
Approve once -  User needs to approve all time if clicks on approve once.
Approve Always - User needs to approve only one time.

We can use something similar to following;

Always prompt
Prompt once and remember

we can have two buttons - Approve and Deny

Deny button covers Deny approval
Approve button covers approve current session only
Checking the "Remember my approval" checkbox covers  approve all sessions


Determine report data architecture for storage

Describe the task
How are we saving the report data as it's being submitted? This is crucial to have visibility on the work needed to implement the reporting piece
Question: how will this data be queried?
JSON data as in CIIP? Table data? How can we version report format and requirements?
Blocker: This is contingent on the team knowing the full list of activities/source type requirements
Blocked by #169
Acceptance Criteria

[ ] A small piece of documentation on the features this needs to support
[ ] A data model outlining all the pieces of a report, and the relationships with the other
[ ] A breakdown of the different implementation items, to be translated into cards
[ ] third

Additional context

Add any other context about the task here.
Or here

As discussed in refinement - this needs a follow-up ticket. To confirm if that's been created or not.

This could probably use a 3 amigos type discussion with the BA, once we have a first draft of the features we would like

Does this ticket need to be refined? I see that a follow-up ticket has been created based on this one. Let me know if we can leave as is, or need to change the scope? thanks!

@pbastia to merge with #258

Dev meeting scheduled for June 17

Note: we have two tickets that are somewhat related to saving:
#130 (have continuous auto-save) is a potential feature that users would like - we may not be able to do this, and Registration have decided NOT to use this feature.
#198 (user story that allows users to save their progress before submitting a report)


Missing dependencies of 'react-css-modules'

After I create a Component for a newly generated project, and npm run test, I got this error:
ERROR in ./src/components/Header.js
Module not found: Error: Can't resolve 'react-css-modules' in '/Users/taowang/lab/shui-device/shui-device-server/dashboard/src/components'
 @ ./src/components/Header.js 32:275-303
 @ ./test/components/HeaderTest.js
 @ ./test (Test\.js$)
 @ ./test/loadtests.js
13 09 2016 00:49:59.918:INFO [PhantomJS 2.1.1 (Mac OS X 0.0.0)]: Connected on socket /#ESqloRC_nto7oG8jAAAA with id 32856312
PhantomJS 2.1.1 (Mac OS X 0.0.0) ERROR
  Error: Cannot find module "react-css-modules"
  at webpack:///components/Header.js:9:1611 <- test/loadtests.js:31416

And I double checked the package.json, there isn't any react-css-modules dependencies.
Here is what I choose when I generate the project:
? Please choose your application name 'dashboard'
? Which style language do you want to use? scss
? Enable css module support? See https://github.com/gajus/react-css-modules
 for further info: Yes
? Enable postcss? No

I was using generator-react-webpack-redux, however, it depends generator-react-webpack for the basic stuff, that's the reason I think this bug should reported here.
Here is the generators versions:
├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>

Hi @twang2218,
this seems kind of strange. It seems that the redux generator does not call the write action correctly. I will have a look at it and report back.

Hi @weblogixx. Just a quick double-check. Did we release a new beta after adding in https://github.com/react-webpack-generators/generator-react-webpack/commit/b581e5bd021da0ca2871a27d66bbcd9279887c63? I think the latest ist from June, 30th, so it might be that this update isn't packaged right now to npm.

Indeed, thats a good question. Will have a look at it, maybe I really forgot to publish :(.

I've checked that we don't have this bug on master and fixed another bug related to testing components created with css modules in the template repository. In the next days there will be a fix available for the PostCSS part of the installer. I'd say that will be the perfect time to publish the next pre-release of V4 (users of our generator wouldn't run into this except installing beta or the master branch directly, but as the Redux gen bases itself on our V4 it they encounter these problems directly).
I am closing this for now, but feel free to comment on the issue if there are further requests.


Ensure fork slot precedes stop slot

Problem: when there is a block created exactly at stop-txn-slot, it will be chosen as the block to donor height, slot and state hash for fork config. This is an unnecessary corner case.
Solution: make sure that fork config always refers a block happening strictly before the stop-txn-slot.
Explain how you tested your changes:

TBD

Checklist:

[x] Dependency versions are unchanged

Notify Velocity team if dependencies must change in CI

[x] Modified the current draft of release notes with details on what is completed or incomplete within this project
[x] Document code purpose, how to use it

Mention expected invariants, implicit constraints

[x] Tests were added for the new behavior

Document test purpose, significance of failures
Test names should reflect their purpose

[x] All tests pass (CI will check this if you didn't)
[x] Serialized types are in stable-versioned modules
[x] Does this close issues? None

!ci-build-me


Interchage protocol - large-string?

Currently, the interchange fails with large-string type:
import pyarrow as pa

arr = ["foo", "bar"]
table = pa.table(
    {"arr": pa.array(arr, 'large_string')}
)
exchange_df = table.__dataframe__()

from pandas.core.interchange.from_dataframe import from_dataframe
from_dataframe(exchange_df)

I get
Traceback (most recent call last):
  File "t.py", line 30, in <module>
    from_dataframe(exchange_df)
  File "/home/marcogorelli/pandas-dev/pandas/core/interchange/from_dataframe.py", line 52, in from_dataframe
    return _from_dataframe(df.__dataframe__(allow_copy=allow_copy))
  File "/home/marcogorelli/pandas-dev/pandas/core/interchange/from_dataframe.py", line 73, in _from_dataframe
    pandas_df = protocol_df_chunk_to_pandas(chunk)
  File "/home/marcogorelli/pandas-dev/pandas/core/interchange/from_dataframe.py", line 125, in protocol_df_chunk_to_pandas
    columns[name], buf = string_column_to_ndarray(col)
  File "/home/marcogorelli/pandas-dev/pandas/core/interchange/from_dataframe.py", line 242, in string_column_to_ndarray
    assert protocol_data_dtype[1] == 8  # bitwidth == 8
AssertionError

This is an issue when interchanging from polars, which uses large-string: https://github.com/pola-rs/polars/issues/8377
What should be done in this case, where do we go from here?
Note that if I try adding large-string to the ArrowCTypes in pandas, then it "just works", but that's probably not the solution?

For onlookers, relevant spec tidbit https://github.com/data-apis/dataframe-api/blob/baa605df7961d41ea61800a491dc3ff828d81153/protocol/dataframe_protocol.py#L44-L45
So as I read it, large strings aren't supported by the interchange protocol. IMO for now, __dataframe__() should error out, or try coerce large string columns into UTF8 string.

sure but isn't U still utf8-encoded?

U
large utf-8 string

https://arrow.apache.org/docs/format/CDataInterface.html#data-type-description-format-strings

Ahh, no idea then if we need another dtype, have existing ways to introspect string columns for interchange, etc.

sure but isn't U still utf8-encoded?

Yes, the only difference is that the offsets are represented in i64 integers instead of i32 and therefore it can hold more than 2^31 ~ 2GB of data in a single buffer.

So I suspect that this is an implementation rather than a spec issue. We have a "string" dtype identified by an enum of 21 for the "kind" and a format string which say:
        Format string : data type description format string in Apache Arrow C
                        Data Interface format.

so that should cover any Arrow string type I'd think.
Then for the data representation of variable-length strings, we have data, validity and offset elements; the relevant one here is offsets:
    # first element is a buffer containing the offset values for
    # variable-size binary data (e.g., variable-length strings);
    # second element is the offsets buffer's associated dtype.
    # None if the data buffer does not have an associated offsets buffer
    offsets: Optional[Tuple["Buffer", Dtype]]

For large-string, it seems like the Dtype part should use int64 rather than int32, and that will work. So protocol producers/consumers probably don't handle this simply because it hasn't come up before?

So protocol producers/consumers probably don't handle this simply because it hasn't come up before?

Seems plausible - should it be fine to just make this change in pandas
diff --git a/pandas/core/interchange/from_dataframe.py b/pandas/core/interchange/from_dataframe.py
index 2bbb678516..998f3bc374 100644
--- a/pandas/core/interchange/from_dataframe.py
+++ b/pandas/core/interchange/from_dataframe.py
@@ -238,8 +238,11 @@ def string_column_to_ndarray(col: Column) -> tuple[np.ndarray, Any]:
     # Retrieve the data buffer containing the UTF-8 code units
     data_buff, protocol_data_dtype = buffers["data"]
     # We're going to reinterpret the buffer as uint8, so make sure we can do it safely
     assert protocol_data_dtype[1] == 8  # bitwidth == 8
-    assert protocol_data_dtype[2] == ArrowCTypes.STRING  # format_str == utf-8
+    assert protocol_data_dtype[2] in (
+        ArrowCTypes.STRING,
+        ArrowCTypes.LARGE_STRING,
+    )  # format_str == utf-8
     # Convert the buffers to NumPy arrays. In order to go from STRING to
     # an equivalent ndarray, we claim that the buffer is uint8 (i.e., a byte array)
     data_dtype = (
diff --git a/pandas/core/interchange/utils.py b/pandas/core/interchange/utils.py
index 89599818d6..69c0367238 100644
--- a/pandas/core/interchange/utils.py
+++ b/pandas/core/interchange/utils.py
@@ -39,6 +39,7 @@ class ArrowCTypes:
     FLOAT32 = "f"
     FLOAT64 = "g"
     STRING = "u"  # utf-8
+    LARGE_STRING = "U"  # utf-8
     DATE32 = "tdD"
     DATE64 = "tdm"
     # Resoulution:

?
At least, if I do this, it all just works

If that does the job and LARGE_STRING = "U" is already handled internally by pandas (must be if it works and there is test coverage), then sure - that seems fine to me.

thanks all
this is resolved, so closing


feat: add Group attribute

This PR will add a Group attribute that allows you to define multiple domains having different prefixes.

Thanks!

@freekmurze thanks to you for your fantastic work 😊


Create asp.txt

@Creperi I am sorry, the domain asp.eap.gr is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


Add EncapsulationType parameter description.

Docs Build status updates of commit 75d9af7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/windows/netadapter/disable-netadapterencapsulatedpackettaskoffload.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@nenonix  Copy editing is needed for this PR. Thanks.

@dariomws306 @tseward
Peer review needed for this PR. Thanks.

I think something like this could be better:
Specifies the encapsulation type. The acceptable values for this parameter are:

NVGRE: Network Virtualization Generic Routing Encapsulation
VXLAN: Virtual eXtensible Local Area Network

Also apply the same update to enable-netadapterencapsulatedpackettaskoffload would be a good idea.

Looks good on a technical level.

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

File
Status
Preview URL
Details

docset/windows/netadapter/disable-netadapterencapsulatedpackettaskoffload.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

No Acrolinx or staging link.


Filepicker onblur event

This fixes https://github.com/segmentio/evergreen/issues/532 and adds proper onBlur handling
@mshwery

Ok, no need for the PR then, considering #532 closed.

@mshwery actually - can we still introduce onBlur method - that would allow for easier integration with redux-form, it would be easier to preventDefault too, if needed.


⚠ Cioos National CKAN has degraded performance

In 3cde9cc, Cioos National CKAN (https://catalogue.cioos.ca/) experienced degraded performance:

HTTP code: 200
Response time: 17435 ms

Resolved: Cioos National CKAN performance has improved in 5928a3f after 4 minutes.


Document expectations around filename casing

There have been many bugs relating to casing of filenames/paths in VS Code and language extensions in the past, so I think it's important that LSP defines expectations to ensure clients and servers have the same expectations so they work together correctly.
VS Code no longer uses the filesystem casing of a file in its APIs if the file is renamed, which means servers must be prepared to get different (the old) casing from VS Code after a file is renamed (see https://github.com/microsoft/vscode/issues/121106).
For example:
// File is open and named DANNY.dart
==> {"jsonrpc":"2.0","id":3,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///Users/danny/Desktop/casting_testing/bin/DANNY.dart"}}}

// File is renamed by user to danny.dart
==> {"jsonrpc":"2.0","id":4,"method":"workspace/willRenameFiles","params":{"files":[{"oldUri":"file:///Users/danny/Desktop/casting_testing/bin/DANNY.dart","newUri":"file:///Users/danny/Desktop/casting_testing/bin/danny.dart"}]}}

// VS Code/LSP continues to use the original casing
==> {"jsonrpc":"2.0","id":5,"method":"textDocument/documentSymbol","params":{"textDocument":{"uri":"file:///Users/danny/Desktop/casting_testing/bin/DANNY.dart"}}}

Many tools treat file paths case-sensitively even when the underlying filesystem is case-insensitive. In some cases (for example virtual workspaces) it might not even be possible to tell whether the underlying filesystem is case-sensitive, so it seems like servers might be forced to treat things all as case-insensitive.
It seems like the spec should have some guidelines/notes on this since it might not otherwise be obvious to implementers what they should do here (and depending on the environments they developer/test in, they may not see the same behaviour as other users).

@dbaeumer would you accept a PR with some guidance along these lines?

URI Case-Sensitivity
Both clients and servers are expected to consider filesystem casing-sensitivity when handling requests. For case-insensitive file systems, both client and server may use URIs that are different in casing to both the underlying resource on the filesystem and the casing used by the other party. If a resource is renamed, clients or servers may continue to use the original casing (and may continue to do so even after restarting the application).
If the underlying filesystem is not available (for example the resource is a non-file:// URI), URIs should always be treated case-sensitively.

While doing some testing in VS Code, I found that it doesn't support case-sensitivity on macOS (https://github.com/microsoft/vscode/issues/123660) and it doesn't seem it's planned.
This means (assuming LSP will go by VS Codes rules) the above text is not accurate. I don't know what the actual rules are (do we use the filesystem sensitivity except on macOS where we always assume insensitive? does Linux behave as expected, or does that also always behave one way?) and really think they need to be written down somewhere.

I found another wrinkle in VS Code's implementation (related to https://github.com/microsoft/language-server-protocol/issues/1203). It fires the rename event when a file is renamed by only casing, but does not fire didClose/didOpen. https://github.com/microsoft/language-server-protocol/issues/1203 suggests that those two things should go together, so it's not clear if VS code's behaviour is incorrect, or if this is an exception to that.

Edit: Clarification in microsoft/vscode#123660. The rules are simple - Windows and Mac are always treated as insensitive, and Linux always as sensitive. I don't know whether it makes sense for LSP to copy that or not 😬

To add to this, even on windows an extension can register a virtual file system, and mark it as case-sensitive (or vice-versa on linux). So I do not know how to deal with this correctly, especially since we're not supposed to touch URIs that are "open", only use LSP to work with those files. Not to mention virtual file systems you cannot even try an detect it with some heuristic.
(for example, a hacky way to detect case-insensitivity by doing a stat on the same uri after fully uppercassing the path and lowercasing the path)


Testcases related to OamLayer/BasicPart/FileProfile are failing

Issue Description :
Testacases related to OamLayer/BasicPart/FileProfile are failing.
Root cause :
As per the decision made in the issue https://github.com/openBackhaul/OperationKeyManagement/issues/165 fileprofile is to be removed from OKM application as there is no usge of file profile . This was implemented from server side , where file profile is removed from OAM Layer . Same needs to be implemented in test suite .

Assertion failure Details :
OamLayer/BasicPart/Acceptance/file-profile/*


Will destreamer be "updated" for MS Stream 2.0?

Accordingly to Microsoft, in the next two weeks MS Streams will get a "major update", where the key point difference will be the way the videos are stored: from what I understand, they're planning to move the platform on a Sharepoint/Onedrive model, and files will be stored there.
Here there's some info about it
https://docs.microsoft.com/en-us/stream/streamnew/new-stream
From what I understand, starting from the next two weeks (time frame first two weeks of november) all the new videos recorded from a channel will be uploaded to the "new" ms stream, unless the administrator of the channel decide to "rollback" to the previous way of working.
Next, from January 2021, the current MS stream will be abbandoned and all the new videos will be uploaded automatically on the new MS Stream, even if the administrator would like to use the old version.
Now, since they're planning to move the entire MS Stream thing on onedrive, I think that it could be more straightforward to download videos from there (always if they'll give the option to manually download, without any external tool).
But I'm a little afraid that they won't let users download video from this new "onedrive-MS stream", or maybe the administrator of the channel won't give us permission to download the videos (here in Italy professors are really "conservative, they don't really embrace online teaching)
So are you guys planning on move destreamer to the new "system" when it will be out? Do you know more than me about this subject?

F##k me. Nothing about this sounds like an improvement, but that's just me.
I'll see if i can get enrolled in the preview, then we'll know more about the future of destreamer.
Thanks for bringing this up.

F##k me. Nothing about this sounds like an improvement, but that's just me.
I'll see if i can get enrolled in the preview, then we'll know more about the future of destreamer.
Thanks for bringing this up.

 I thought you knew about this, even if it seemed a little bit strange to me that you guys were working on destreamer v3 and actually nobody was talking about this D:

Hi @snobu, are there any news on this new form of video upload? The lessons will start at the beginning of March but it is still not clear whether they will be uploaded to MS Stream or Sharepoint...

Hi @snobu, are there any news on this new form of video upload? The lessons will start at the beginning of March but it is still not clear whether they will be uploaded to MS Stream or Sharepoint...

Public roadmap says June 2021, it's going to take a while until we can test this out.
https://www.microsoft.com/en-us/microsoft-365/roadmap?filters=&searchterms=68830

Public roadmap says June 2021, it's going to take a while until we can test this out.
https://www.microsoft.com/en-us/microsoft-365/roadmap?filters=&searchterms=68830

Public roadmap says June 2021, it's going to take a while until we can test this out.
https://www.microsoft.com/en-us/microsoft-365/roadmap?filters=&searchterms=68830

Are you sure about that?
The code you're referencing to is about the new web app.
Instead look at this, which is about the ability to save videos to SharePoint:
https://www.microsoft.com/microsoft-365/roadmap?featureid=67138
Here is says launched, so theoretically the tenant of a team should be able to save its new recorded videos with the new SharePoint thing (it says that the launch is happened on November 2020)
Practically we should be able to test download of videos from the new platform, no?

Public roadmap says June 2021, it's going to take a while until we can test this out.
https://www.microsoft.com/en-us/microsoft-365/roadmap?filters=&searchterms=68830

Are you sure about that?
The code you're referencing to is about the new web app.
Instead look at this, which is about the ability to save videos to SharePoint:
https://www.microsoft.com/microsoft-365/roadmap?featureid=67138
Here is says launched, so theoretically the tenant of a team should be able to save its new recorded videos with the new SharePoint thing (it says that the launch is happened on November 2020)
Practically we should be able to test download of videos from the new platform, no?

@FraH90 From what I may be wrong but aren't SharePoint and OneDrive both a file hosting/sharing platform? A specialized tool like Destreamer might not be needed. Anyway if I ever get my hands on a Sharepoint/OneDrive video I'll take a look, for now I don't have any

@FraH90 From what I may be wrong but aren't SharePoint and OneDrive both a file hosting/sharing platform? A specialized tool like Destreamer might not be needed. Anyway if I ever get my hands on a Sharepoint/OneDrive video I'll take a look, for now I don't have any

@FraH90 From what I may be wrong but aren't SharePoint and OneDrive both a file hosting/sharing platform? A specialized tool like Destreamer might not be needed. Anyway if I ever get my hands on a Sharepoint/OneDrive video I'll take a look, for now I don't have any

Yes, they are obviously.
But from what I've understand, tenant (like a whole institution) can set very specific permission, like disable the possibility to download all the videos recorded on the platform; they will be hosted on SharePoint/onedrive, but you can only stream them, like it's happening right now.
Microsoft is explicitly saying that the SharePoint model will enable more control over admin permission and stuff like that.
So destreamer will still be very needed, for all the universities which will not enable the download permission, but will enable only the streaming option

@FraH90 From what I may be wrong but aren't SharePoint and OneDrive both a file hosting/sharing platform? A specialized tool like Destreamer might not be needed. Anyway if I ever get my hands on a Sharepoint/OneDrive video I'll take a look, for now I don't have any

Yes, they are obviously.
But from what I've understand, tenant (like a whole institution) can set very specific permission, like disable the possibility to download all the videos recorded on the platform; they will be hosted on SharePoint/onedrive, but you can only stream them, like it's happening right now.
Microsoft is explicitly saying that the SharePoint model will enable more control over admin permission and stuff like that.
So destreamer will still be very needed, for all the universities which will not enable the download permission, but will enable only the streaming option

Why are teachers not enabling download permissions? I mean even today in the "classic" Microsoft Stream? Is it a cumbersome process or is it intentional because some dumb-ass internal university politics?
For the SharePoint/OneDrive thing, we need to have access to it first to provide an answer, right now we can just speculate.

Why are teachers not enabling download permissions? I mean even today in the "classic" Microsoft Stream? Is it a cumbersome process or is it intentional because some dumb-ass internal university politics?
For the SharePoint/OneDrive thing, we need to have access to it first to provide an answer, right now we can just speculate.

The second. But more than dumb-ass internal university politics, i would say dumb-ass professors. They're practically "jealous" of their work.
Most of them are old school, they're afraid maybe that letting students downloading videolessons will "spread" their work over internet maybe (which I will not be afraid of, if I was them, if I knew that the lessons were top quality)
So destreamer is a lifesaver for now, letting me watching all the videolessons offline..
You're right however, for now it's all just speculation about the SharePoint/onedrive thing.. we'll see how it will play out, just hope you guys will update the software if needed when the new platform will roll out, like I've said destreamer has been a kind of lifesaver till now 😅

Sharepoint is rolling out, and as expected you can't download the recordings without an authorization.
You can't even view them for some weird reason if you go directly to the automatically generated thumbnail, you need to open the file section and find it there; this is a mess 🤦♂ hoping you guys can do something about it.

Does this tool still works?
Because I'm getting this error
[hls @ 0x130008200] Unable to open key file https://aase-1.api.microsoftstream.com/api/videos/b70591c8-5420-47f6-a499-bf6b38ab5ff4/protectionKey?api-version=1.0

Rebumping this so @snobu can see. The hated day is here D:

Was there any Ms Stream related announcement at //Build? I'm still being logged in to the old portal.

@snobu @lukaarma
i'm back, almost (still busy with uni and other stuff and not much time for these things)
anyway, my university locked my lessons.....so here we are..
i quickly made an app to get access back to them: https://github.com/kylon/Sharedown
our apps can probably help each other, if you want to contribute i'm only accepting fixes and strictly required improvements due to my limited time (sharedown was not even planned...)
or just feel free to use my code and implement sharepoint support in destreamer :)

Thank you, kylon. I'll take a look at this later in the week see what we can merge into destreamer.

So, does it work with Sharepoint now?


Atom interferes with Skype on Ubuntu?

[x] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
There seems to be a problem between Atom and Skype when using both in Ubuntu. I am not sure who is the troublemaker, so I posted the issue also on Skype: https://answers.microsoft.com/en-us/skype/forum/sk_acc-sk_settings-sk_linux/skype-founds-no-devices-when-atom-editor-is-open/6465d2a1-032d-4045-ac18-b374e4e81323?tm=1570001341665
When I start Skype while the Atom editor is open, then Skype does not find speaker, microphone nor camera device:

When I start Skype and the Atom editor is closed, all devices are found:

If I open the Atom editor while Skype is active, the devices still remain and I may continue using Skype.
Steps to Reproduce

Start Atom Editor
Start Skype
Check Tools -> Audio & Video Setting

Expected behavior:
Expect Skype to find devices
Actual behavior:
Skype does not find any defices
Reproduces how often:
100 %
Versions
I am using Ubuntu 18.04 and the latest version of Atom 1.40.1
Additional Information
I am using Skype to communicate with remote developer (sharing screen etc.). So I usually had Atom open and it was very confusing to me that my speaker and microphone were disabled. I know that there is a Chrome Skype Browser Extension, but this does not let you share a single screen, only both at the same time, making it very tiny for the person on the other end. I am glad I found a workaround now (first open Skype, then Atom), but if this issue is caused by Atom, then I think a fix would be good for people having a similar issue.
Life example:

Does this still happen in Safe Mode? Your screencast doesn't the interaction between the two when Atom is launched there, so I'm wondering if a package you have installed is grabbing the content.

@Arcanemagus I have also started atom with safe mode through the terminal and the issue remains.I have two screens, and atom was launched on the other screen (didn't want to show my skype contacts).

I can confirm the same exact behaviour.
Working with Atom 1.45.0 on Ubuntu 18.04.4.
@iwasherefirst2 did you find some workaround apart from launching Atom after Skype?

@adironco no I haven't found another workaround but launching Atom after Skype (or reopen Atom after Skype) seems like a doable thing :D
I am still in contact with Microsoft. It seems their Engineering team is working on it.


Set current dependencies when configuration changes for optional dependencies

This problem is best explained with the specific example of btcpay. When configured to use either lnd or clightning, btcpay's dependencies do not reflect the updated dependency configuration. This is because the dependency is not listed in the current-dependencies. The reason it is not reflected in this list is because the config spec no longer has a pointer to either of these services once the configuration choice has been made. This was solved in 0.2.x using lan address pointers (which were needed to access lnd/clightning), and no longer exist in 0.3.0. To solve this, we can either have a dummy pointer, which is confusing and misleading, or augment the compat image to set dependencies on configuration using a new file and the existing config rules language, which is the more elegant and robust solution.
This ticket is tracking the latter implementation.

Am I understanding that this will add a new file just for config dependencies? dependencies.yaml or something?

Implementation in wrapper looks like this.


Travis: retry composer install on failure

Initially I was only going to pull the first commit, but Composer 1.10.11 has just come out and is breaking builds, so the second commit is a temporary fix for that.
Once this PR has been merged, I will rebase @NielsdeBlaauw's two Docs PRs so we can have a passing build for those.
Travis: retry composer install on failure
The builds are failing a little too often for my taste on the below error.
[Composer\Downloader\TransportException]
Peer fingerprint did not match

I'm prefixing the composer install commands now with travis_retry in an attempt to get round this problem.
Ref:

https://docs.travis-ci.com/user/common-build-problems/#timeouts-installing-dependencies

Travis: roll-back Composer to v 1.10.10
... as there is an issue with Composer 1.10.11, which prevents the install from working.
For more information:
composer/composer#9191

Update: the initial Composer issue has been fixed in Composer 1.10.12 / Semver 3.1.0, but there is still a blocking issue, so until that's fixed, I'm leaving the second commit in place.
For more detailed information about the remaining issue, see: https://github.com/composer/semver/issues/109

In the mean time Composer 1.10.13 / Semver 3.2.0 have been released which should fix the Composer related issue.
I've retriggered the builds for the two doc PRs from @NielsdeBlaauw . If both pass, I'll remove the second commit from this PR as it is no longer needed.


[BACKPORT][TC-540] fix postinstall ldap.conf keys; prompt for base_url

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR-trafficops-test/90/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/130/

@hbeatty hold off on this one -- found a glitch....

@hbeatty ready for merge now..

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/141/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR-trafficops-test/102/

@dangogh merged - please close

Haha! I can close it now.

@hbeatty ahh..  the simple joys in life....


WIP: Mount salt-master and salt-minion-ca caches from the host

This way we ensure that the mine information and other cached information
survives reboots.
Do not merge yet, I am validating the solution

I can confirm that I could build an ISO with this changes by running:
ruby build-caasp-iso.rb home:ereslibre:branches:Devel:CASP:1.0:ControllerNode/standard:caasp-container-manifests
Used it to bootstrap a dashboard, a worker and a minion. I used the UI to create the cluster. After having created the cluster I rebooted the admin node (two times, since the first time got stuck because of the BTRFS issue probably). After the last reboot, all containers started and I could manually run an orchestration that did work:
docker exec -it df salt-run state.orchestrate orch.kubernetes -l debug
(snip)
Summary for linux-nhag_master
-------------
Succeeded: 15 (changed=3)
Failed:     0
-------------
Total states run:     15
Total run time:   27.005 s

In order to be completely sure, I rebooted again (third time) and checked the mine contents (without running any orchestration or anything). I can also confirm that the mine contains the expected information:
After second reboot, after orchestration:
linux-nhag:~ # docker exec -it df salt -G roles:kube-master mine.get roles:ca x509.get_pem_entries expr_form=grain
03a527d9efe54bd0bc6af64b53e75f1a:
    ----------
    ca:
        ----------
        /etc/pki/ca.crt:
            -----BEGIN CERTIFICATE-----
            MIIG2jCCBMKgAwIBAgIJAP44ZLZgqeQEMA0GCSqGSIb3DQEBCwUAMIGdMQswCQYD
            (snip)
            Qpm45iDgguk75OORRKI+h2UzfeUjPJ/UWrrkWr0L
            -----END CERTIFICATE-----

After third reboot, no orchestration run:
linux-nhag:~ # docker exec -it 31 salt -G roles:kube-master mine.get roles:ca x509.get_pem_entries expr_form=grain
03a527d9efe54bd0bc6af64b53e75f1a:
    ----------
    ca:
        ----------
        /etc/pki/ca.crt:
            -----BEGIN CERTIFICATE-----
            MIIG2jCCBMKgAwIBAgIJAP44ZLZgqeQEMA0GCSqGSIb3DQEBCwUAMIGdMQswCQYD
            (snip)
            Qpm45iDgguk75OORRKI+h2UzfeUjPJ/UWrrkWr0L
            -----END CERTIFICATE-----

If you want to skip the ISO generation, please contact me and I can provide you the generated ISO (where you will be able to confirm the caasp-container-manifests match this changes).

Given this is hard (at best) to test in our dev tooling, I'm OK with you merging this @ereslibre if you are happy with the PR...

Thank you @kiall for the efforts. I have thoroughly tested this one, so I am merging it.


Wrong instructions in v<IP_ADDRESS> release notes re: logger propagation

https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-61000165/#changes

To reverse this behavior, in your application at any point you can run logging.getLogger("newrelic").propagate = False

I assume that was supposed to say logging.getLogger("newrelic").propagate = True, as that would restore the original behavior. Also, it isn't really true that you can do it at any point - presumably it needs to happen after import newrelic.

Good catch, on the second point that's fair for customers manually initializing the agent. For the majority of users on the newrelic-admin wrapper that's not an issue, but I'll update this to reflect that


Automatically connect new text box to previous text box

Like I said in another ticket, I'm using draw.io to generate something like mind maps. I usually double click and start typing to add a text box. I repeat this many times, and then connect all the text boxes together with lines after a while. The process of adding the lines to connect all of the text boxes together actually consumes a surprisingly large amount of time due to the high volume of text boxes that I need to interconnect.
The vast majority of the time I simply want to connect the most recently created text box to the one that I created immediately before. It would be very nice for my workflow if a line from the most recent text box to the previously created text box was automatically created.
I can see this behavior being unexpected to users in some cases. But maybe the line between the two text boxes could only be created if the two text boxes were created within ten seconds of one another? If you are opposed to the idea of automatically creating lines, even a keyboard shortcut to automatically connect the most recently created text box to the previous one would be quite helpful.
Example of the sort of document I am creating:

https://about.draw.io/organization-charts-and-mind-maps-in-draw-io/

Ok, yeah that's what I want. The little blue arrows that appear when you mouse over the text boxes do the job. Thanks.
Not sure why I didn't think to try them. I think I tried them out when I first started using draw.io a long time ago, decided they weren't for me, and then quickly became blind to their existence.

Could also use the mindmap container in the advanced section, give you the keyboard shortcuts mentioned.

Nah, I don't actually want mind-maps. Mind maps are tree structured but I want a graph.


Annotation support?

One more:
I have a function that accepts a schema in the library I'm migrating away from and integrates it with yargs. To do that, it examines the expected input type of the schema. I see that Valita does expose a name property on its schema objects, but that property winds up being useless if you use anything but the bare types exposed by valita (chain, assert, optional, etc...).
It would be nice to be able to associate some user-supplied context with a type, or at least allow .chain an argument to set the name of a type. Preferably, the orthogonal concerns of "what it is" and "how to treat it" (optional string) are both exposed, and while I'm not eager to tack something like .annotate({type: 'string', optional: true}) everywhere, it does make a simple building block with which more robust behavior can be built.
In general, introspection behavior would be helpful (the ability to traverse and understand the input requirements of a type at runtime)

Yeah, I think you've articulated what I'm up against nicely (in a way that I haven't, yet).
If you'll take my word that I've probably spent easily a hundred+ hours doing everything from coding my own solution from the ground up to attempting to utilize other libraries (including Ajv, Joi, Zod, Typebox, io-ts, and quite a few that I can't name off the top), I'll describe what I want to do and why -- and you can tell me if there's a world where we can sort out a means of enabling that, or if it's beyond what you want to deal with.
In essence, I want the following things:

A straightforward, ergonomic way to define a schema. I strongly prefer the joi/zod/valita chaining approach here.
The ability to define a schema in javascript terms, not JSON terms. That means that dates are Date instances, bigints are actual bigints, and I can receive/accept and check that they are what they should be.
The ability to validate and type-guard some data so that I can safely write code that depends on it
The ability to define how data should be mapped into and out of the canonical form in different contexts

The bolded bit is what I've been trying to build. As an example, database columns are frequently snake_case (and sometimes case insensitive), but "natural" javascript is camelCase, so I need  to map the keys of an object. REST APIs serve and consume javascript, so I need to map Dates to ISO strings, or epoch timestamps, or whatever. Two different APIs (or API calls) may use different names for the same same object property. For console output, I want to map the same date values to something human-readable (perhaps .toLocaleString), or enums to their names. To accomplish this, I need:

the schema

the ability to introspect the schema

the data
the information to know how to transform the data
a function capable of doing the work

I want to write that function, but have yet to find a library whose API both satisfies the ergonomics and javascript-forward points above, and a lso the introspection/annotation requirements.
Why do this? Because I don't like writing the same schema three different ways, or constantly writing the glue code to map between them. I'd rather do the hard work of writing the code to avoid the need for that.
Why do it in this way? The place where I define canonical shape and content of my data is the natural place to say "this field should be an ISO date string for interacting with the API", or "this field is named userId, but when interacting with this REST API it's called id". I'd like to do it that way. It's completely achievable without code generation, plugins, decorators, or other specialty tools.
An aside: I actually have this all working on Valita right now, with One Cool Hack Library Maintaners Don't Want You To Use ;) However, it is a hack (Map<any, typeof data> + a function like wrap(v.etc(), data)). Annotation data would let me make it not a hack, and schema traversal would be the icing on the cake. Annotations as a concept wouldn't actually even be necessary. The things I actually need are:

Identity of a schema: which v.string() is "this one I have a reference to?" + v.string().optional() maintaining its identity
Access to that identity: .chain, or something like it (.tap, for example?), that can receive enough information to do the work (in this case, store some data and allow me to retrieve it as context when running the code that I've written).

I do understand that if a thing is hard, it's possibly for a reason! Validators wanna validate. ORMs wanna ORM. Codecs wanna codec. I do think that there is so much overlap that it's not a stretch for a validator to provide enough tools to build what I want on top, though. And if I'm doing that, the options for what to build on appear to be "none", so far 😅

The trouble with Zod is coercion, but maybe as my thinking has evolved over this last while, I can build something to do coercion "instead of" Zod's built-in stuff. I'll see what I can see there. I'll figure out how I can use Zod to "hang some data" on the schemas too.
I respect and understand your pushback, you're not beating a dead horse :) Everything I've tried has run into some ultimate blocker and it's been frustrating. However, then I try the next thing, I learn more, I shift my approach, etc. I haven't circled back exhaustively and tried the new ideas with the old things I'd previously been blocked on.
One orthogonal thing that warned me off of Zod is memory consumption/performance concerns (discussed in depth in the issues), which you clearly win by a good margin on -- but I'm certain that's entirely supported by your choices in terms of functionality and API surface. Either way, you've built something good, and I'm disappointed I can't quite use it, but I understand and thank you for your time anyway.


node-forge

Currently, I'm working on customising the register and login page.
I would like to use node-forge to salt and hash users password.
after npm installing the node-forge package and the type definitions I still cannot seem to integrate the package correctly into ng2-admin. Any tips of guides on how to achieve this?

Hey @Nocturnal316, I believe this is a backend part so you should install this into a separate backend application.


Catchall does not work for domain-alias

Originally created by C B on 2013-10-10T10:29:19Z
In my postfix-dovecot setup with modoboa 1.0.1 is a domain example.com with an alias of example.alias configurated. The postfix accepts mail for the configured alias username@example.{com,alias} -><EMAIL_ADDRESS>and the catchall configured for example.com does work as expected. Contrary to the expectation the catchall does not work for the domain-alias example.alias.
A catchall for the domain-alias example.alias cannot be configured in the webinterface, as the domain is unknown.

A workaround is not a solution. In the meantime, I've used this query to solve this problem:
(SELECT mb.address || '@' || dom.name FROM admin_mailbox mb INNER JOIN admin_domain dom ON mb.domain_id=dom.id WHERE mb.id IN (SELECT al_mb.mailbox_id FROM admin_alias al INNER JOIN admin_domain dom ON al.domain_id=dom.id INNER JOIN admin_alias_mboxes al_mb ON al.id=al_mb.alias_id WHERE al.enabled AND al.address='*' AND (dom.name='%d' OR dom.name=(SELECT dom.name FROM admin_domain dom INNER JOIN admin_domainalias domal ON dom.id=domal.target_id WHERE domal.name='%d' AND domal.enabled AND dom.enabled)) AND dom.enabled)) UNION (SELECT al.extmboxes FROM admin_alias al INNER JOIN admin_domain dom ON al.domain_id=dom.id WHERE al.enabled AND al.extmboxes<>'' AND al.address='*' AND (dom.name='%d' OR dom.name=(SELECT dom.name FROM admin_domain dom INNER JOIN admin_domainalias domal ON dom.id=domal.target_id WHERE domal.name='%d' AND domal.enabled AND dom.enabled)) AND dom.enabled)

But I assume it should be worked on. Why won't create vies to clarify the map files?

Yes, it could be useful. But I must admit my knowledge about views is pretty limited. Do you have any example ?