All links on the dxgidebug.h doc page are 404s

Describe the bug
All links on the dxgidebug.h doc page are 404s.
To Reproduce
Steps to reproduce the behavior:

Go to https://docs.microsoft.com/en-us/windows/desktop/api/dxgidebug/
Click on anything under Functions, Structures, Enumerations or Interfaces
Stare at 404 page

Expected behavior
A page that describes the selected item is displayed.

@ginami Can you take a look at this issue?

HI @Holo-Krzysztof -- thank you for letting us know! We'll work on getting these links fixed.


Create developer docs

Should contain:

Install developer dependencies
black / pre-commit tips & tricks
How to test locally
How to build docs
Continuous integration & how to obtain the built docs from the CI

Most of it is actually identical to scanpy.
However, I think for scirpy a more concise version is more suitable, linking to scanpy where appropriate.

added in #294


#13447: Enable asynchronous TTNN Tensor and Op API calls from multiple app threads

Ticket
Link to Github Issue
Problem description

Asynchronous tensor and op APIs have different behaviour based on which thread they're called from. For example, when a tensor is copied in an app thread, internal reference counting is done for it. Conversely, if an op API is called from a worker thread, the op call isn't handed off to an async executor, but called JIT
We previously assumed that TTNN would run in a single application thread. For applications such as VLLM, this assumption is not true

What's changed

Generalize the logic for determining if a call is made in a worker or application thread -> we no longer assume a single main thread, but track the worker thread handles instead. The calling thread is then compared against the worker handles instead of a single main thread id, allowing multiple application threads to safely interface with the worker threads
This should unblock work on frameworks like VLLM that require a model being run from an app thread forked off the main thread.

Checklist

[ ] Post commit CI passes
[ ] Blackhole Post commit (if applicable)
[ ] Model regression CI testing passes (if applicable)
[ ] Device performance regression CI testing passes (if applicable)
[ ] New/Existing tests provide coverage for changes

@namhyeong-kim

hi @tt-asaigal
I have a couple of questions.
Imaging we have two devices and I want to submit some job to its devices from the two different threads forked from main thread. But sometimes I want to do some calls from the main thread to the both devices.
Is it possible to do with your pr?

hi @tt-asaigal I have a couple of questions. Imaging we have two devices and I want to submit some job to its devices from the two different threads forked from main thread. But sometimes I want to do some calls from the main thread to the both devices. Is it possible to do with your pr?

Hey @dmakoviichuk-tt, this should be supported.
Given that we'll be accessing the Metal work_executor and worker_queue objects from multiple threads, we'll need to ensure thread-safe accesses. This can be done by using the following device API, we exposed for such use-cases:
device->set_worker_queue_mode(WorkerQueueMode::LOCKBASED);

This PR is primarily concerned with ensuring that we accurately determine if a TTNN function call is made in an application thread or a worker thread, which was blocking developers from calling TTNN Python APIs from a forked thread.


Wrong Appointment status handling on validation

When updating an appointment with a cancellation reason, it's required that the Appointment's status to be "No Show" or Cancelled, the thing is that the code no-show doesn't match with the actual definition in https://hl7.org/fhir/codesystem-appointmentstatus.html#noshow. This seems a mismatch even in official documentation when checking in Constrinats-app4

Thanks @luis901101 - confirmed that I can reproduce the bug.
{
  "resourceType": "Appointment",
  "status": "noshow",
  "cancelationReason": {
    "coding": [
      {
        "system": "http://terminology.hl7.org/CodeSystem/appointment-cancellation-reason",
        "code": "other",
        "display": "Other"
      }
    ]
  },
  "start": "2024-04-24T22:19:00.000Z",
  "end": "2024-04-24T23:19:00.000Z",
  "participant": [
    {
      "actor": {
        "reference": "Patient/fdf33a83-08b0-4475-ae99-f5b6fec2f0f1",
        "display": "Homer Simpson"
      },
      "status": "accepted"
    }
  ]
}

@luis901101 I think you found a bug in the R4 spec!
The Appointment constraint is: Appointment.cancelationReason.exists() implies (Appointment.status='no-show' or Appointment.status='cancelled') (source)
Note "no-show"
However, the Appointment status value is "noshow" (source)
I'll update the constraint in our StructureDefinition to use "noshow".


[hi] Localize /en/docs/reference/glossary/istio.md

Prerequisites:

If this is your first contribution, visit Contribute to K8s docs for information on how to get started.
Review a few https://github.com/kubernetes/website/issues/35600#issuecomment-1214215859 to see which
content you have to change and which you leave unchanged.

Procedure:

Make sure your base, target branch is main and create a working branch called hi-istio.md.
Create a file called content/hi/docs/reference/glossary/disruption.md.
Copy the content of
https://github.com/kubernetes/website/blob/main/content/en/docs/reference/glossary/istio.md to the file
you created
Localize the content.
Push your change and create a pull request.

Completing this feature issue fixes part of https://github.com/kubernetes/website/issues/35600

Note:- Don't forget to join slack kubernetes-docs-hi channel if facing any problem!

/language hi
/triage accepted
https://github.com/kubernetes/website/issues/37514#tasklist-block-0c8f9f78-1c2f-4620-9ba0-454624f665a2

/assign


Facman wants to buy Neuroflux at Nitesec instead of Bachman & Asso.

I have enough rep at Bachman & Associates to buy next Neuroflux there but Facman wantss to buy at Nitesec with donation for rep.
Do you need any kind of log or save file?
Edit: Added two pictures

A save file would be good actually. Thanks.

bitburnerSave_1653133786_BN3x3.zip
I made this backup at the same point as the pictures.

Have currently again this behaviour, faction manager wants to buy at faction with highest favour not highest reputation.


Mono Loudness: Dual vs 1-Channel

Hello
I am a little confused about how loudness is calculated for a mono audio track.
If I only have a 1-speaker sound system, which mono mode is the correct one to use: left or right, center, or dual?
I believe by default libebur128 treats a mono track as a left channel mono track. You can of course explicitly set the channel to the other modes as well.
Here is my normalization example:

Start with a 2-channel stereo audio track

Convert it to mono using the standard median method

Measure the EBUR128 integrated loudness using the default libebur128 channel configuration: left channel
a. Let's assume the integrated loudness measured is -20 LUFS

Calculate the gain adjustment
a. Let's use a target reference of -16 LUFS
b. Then, the gain adjustment is +4 LU (dB)

Apply gain adjustment
a. So now the mono version will have  an integrated loudness of -16 LUFS

Save mono track to as a f32le wav file.

If I then measure the integrated loudness using FFMPEG's ebur128 filter, I get -16 LUFS.
However, if I use libebur128 with the default channel configuration of left channel mono, I will get a value that is below -19 LUFS (-3 LU less).
If I use libebur128 and explicitly set the channel to dual mono channel configuration mode instead, I get -16 LUFS.
So this is where I am confused.
Shouldn't I have gotten -16 LUFS under the default libebur128 channel configuration for mono (left channel)?
Why does setting to dual mono give me the expected result of -16 LUFS?
Thanks!

Are you sure that the f32le wav file is mono? I've compared ffmpeg and libebur128 and they are showing the same behavior in my test:
loudness scan stereo.wav: -6.1LUFS
ffmpeg -nostats -i stereo.wav -filter_complex ebur128 -f null -: -6.1LUFS
loudness scan mono.wav: -9.5LUFS
ffmpeg -nostats -i mono.wav -filter_complex ebur128 -f null -: -9.5LUFS
I have generated the mono file with ffmpeg -i stereo.wav -ac 1 mono.wav.
If I'm reading the standard correctly, this is expected behavior. There is only one speaker involved with mono files so the volume is lower. It does not matter if you use left, center or right channel when scanning a mono signal. The dual mono mode of libebur128 is just for convenience if you need it for some reason, for example if you expect the mono file to be played back on a stereo system.

Hi
I haven't been able to get the "loudness" command to find plugins so I can test it out myself. See the issue I raised in the loudness-scanner git.
How does the loudness scan commandline handle mono files?
I looked through the code and from scanner-common.h there is a struct scan_opts. This struct contains a field: force_dual_mono
Is this TRUE or FALSE by default?
If it is TRUE by default, then the loundness scan tool will be operating in dual mono mode for a mono audio file.
Thanks!

I got loudness-scanner working.
It shows the same intregrated loudness value as ffmpeg for my mono file.
But when I use libebur128 directly, using the default channel mode of left channel, I am getting a result that is about 3 LU less. Only if I set the channel mode to dual mono do I get the same integrated loudness as ffmpeg and loudness-scanner.
This makes me believe loudness-scanner is working in dual mono mode.

loudness-scanner only uses dual mono mode in tag mode. Something else must be going on. Have you tried minimal-example.c from the test folder? This gives the following output with my test files, matching the output of loudness-scanner and ffmpeg:
$ ./a.out stereo.wav
-6.12 LUFS, /home/jan/work/stereo.wav
-----------
-6.12 LUFS

$ ./a.out mono.wav
-9.45 LUFS, mono.wav
-----------
-9.45 LUFS

Thanks. I built minimal-example and ran it against my mono file.
It returned the expected integrated loudness value.
So now I'm trying to figure out why my custom code that uses libebur128 requires dual mono mode to get the same result.
My custom code uses float 32-bit pcm data so I use the function ebur128_add_frames_float instead though. I'm not sure if that makes a difference.

There have been numerous discussion in the EBU ploud group about the measure of mono signals.
What's the issue ?
The standard considers that a mono signal has to be measured as a single channel that will be reproduced on a single loudspeaker.
When playing this signal either on a single loudspeaker or on two loudspeakers with the appropriate pan law (the mono signal is sent approx. -3 dB attenuated to L and R speaker), the perceived loudness is equivalent.
Unfortunately, several software players or tv set decoders on various platform do not apply the pan law and will send the mono channel to both loudspeaker without attenuation. The perceived loudness therefore is raised by about 3 dB.
Solutions
Several organization that commonly use mono format for streaming/broadcasting would like that this issue to be taken into account at the measure stage (ie measuring a one channel mono file as if it was a two channel dual mono one) while other organizations consider that the standard shouldn't trick the measure to compensate lack of standard conformance on the end user side. That would also create the issue that players that do enforce a pan law would then play the mono files with a different perceived loudness.
To my knowledge, there's currently no consensus in the group and therefore, measuring one channel mono signal vs two channel double mono signal gives different results purposefully.

This one can be closed. EBUR128_DUAL_MONO solves this problem.


Remove unused import of "time"

Remove unused import to give readability and an easier code maintenance
Signed-off-by: Lucca Scarano<EMAIL_ADDRESS>

It has been fixed already by another contributor.


Error after launch on macOS: "The JVM shared library ... does not contain the JNI_CreateJavaVM symbol"

System information:

Operating system (distribution) and version: MacOS BigSur 11.6 x86_64
DBeaver version: dbeaver-ce-21.2.2-macosx.cocoa.x86_66

Describe the problem you're observing:
After starting the program, the following error appears:
The JVM shared library "/Users/judaew/Downloads/DBeaver.app/Contents/Eclipse/jre/Contents/Home/bin/../lib/server/libjvm.dylib"does not contain the JNI_CreateJavaVM symbol

The previous version works without problems. If in this release inside Contents/Info.plist substitute the path to Java 17 (for example Eclipse Temurin), that program starts working. Lower Java versions do not work.

Hello @judaew. Unfortunately, I cannot reproduce the issue. Could you please execute the following commands in the terminal and paste the results here? Thanks.
% cat /Users/judaew/Downloads/DBeaver.app/Contents/Eclipse/dbeaver.ini
% ls -1 /Users/nikita/Desktop/DBeaver.app/Contents/Eclipse/plugins | grep "cocoa"

$ cat /Users/judaew/Downloads/DBeaver.app/Contents/Eclipse/dbeaver.ini
-startup
../Eclipse/plugins/org.eclipse.equinox.launcher_1.6.200.v20210416-2027.jar
--launcher.library
../Eclipse/plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.2.200.v20210527-0259
-vm
../Eclipse/jre/Contents/Home/bin/java
-vmargs
-XX:+IgnoreUnrecognizedVMOptions
--add-modules=ALL-SYSTEM
-Dosgi.requiredJavaVersion=11
-Xms64m
-Xmx1024m
-XstartOnFirstThread

$ ls -1 /Users/judaew/Downloads/DBeaver.app/Contents/Eclipse/plugins | grep "cocoa"
org.eclipse.e4.ui.workbench.renderers.swt.cocoa.nls_0.12.600.v20200416-0656.jar
org.eclipse.e4.ui.workbench.renderers.swt.cocoa_0.12.600.v20200416-0656.jar
org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.2.200.v20210527-0259
org.eclipse.swt.cocoa.macosx.x86_64_3.116.100.v20210602-2209.jar
org.eclipse.ui.cocoa.nls_1.2.400.v20191217-1850.jar
org.eclipse.ui.cocoa_1.2.400.v20191217-1850.jar

This issue is relevant for 21.2.3. Due to this issue, I cannot to update the port in MacPorts. This is what I get when run from terminal:
$ /Users/judaew/Downloads/DBeaver.app/Contents/MacOS/dbeaver
2021-10-18 02:28:03.464 dbeaver[8609:296959] Error loading /Users/judaew/Downloads/DBeaver.app/Contents/Eclipse/jre/Contents/MacOS/libjli.dylib:  dlopen(/Users/judaew/Downloads/DBeaver.app/Contents/Eclipse/jre/Contents/MacOS/libjli.dylib, 265): no suitable image found.  Did find:
	/Users/judaew/Downloads/DBeaver.app/Contents/Eclipse/jre/Contents/MacOS/libjli.dylib: code signature invalid for '/Users/judaew/Downloads/DBeaver.app/Contents/Eclipse/jre/Contents/MacOS/libjli.dylib'

@akilovich If you try replace libjli.dylib from openjdk11, then dbeaver starts working correctly. It looks like libjli.dylib is broken.

@akilovich If you try replace libjli.dylib from openjdk11, then dbeaver starts working correctly. It looks like libjli.dylib is broken.

Worked like a charm. Thanks for the quick fix!

I'm closing the ticket due to the lack of activity. Please feel free to reopen it if you think it needs to be resolved.


Does Distributed TensorFlow can be run in independent filesystem

Click to expand!
Issue Type
Support
Source
source
Tensorflow Version
tf1.14
Custom Code
Yes
OS Platform and Distribution
Debain 10
Mobile device
No response
Python version
3.9
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
I used tensorflow version 1.14 to run distributed training and failed using the local file system.
I saw the exchange post in 2018 on the Internet, saying that the distributed training must use the shared file system at that time, but the local file system will be supported later

Is there a version that supports running distributed training tasks on the local file system?
Standalone code to reproduce the issue
I use tf1.14 version of the distributed training framework estimator training data, with 2 ps and 3 workers, which is all configure the local file system, and found that the operation failed.

Relevant log output
No response

Hi @ilixiaocui !
1.x version are not supported anymore.
For 2.x versions, According to this thread , if you are going for a cluster synchronous training ( master-slave node), the cluster would fail if one of the workers fails and no failure-recovery mechanism exists.
But if you just want to use distributed computing of distribution strategy , you can use a machine with multiple GPU's in your local file system with strategy.scope().
Please post on TF Forum for further assistance.
Thank you!


CloudEvent schema object in DeviceStatus OpenAPI does not match with CloudEvent schema specified in Commonalities

Problem description
data is a required param in CloudEvent schema as per CAMARA commonality specified in https://github.com/camaraproject/Commonalities/blob/main/artifacts/notification-as-cloud-event.yaml
But in the DeviceStatus OpenAPI spec data is defined as a mandatory param and hence conflicting.
Expected behavior
data should be optional in CloudEvent schema object in DeviceStatus OpenAPI
Alternative solution
An alternative could be that data is made required in all Event* schema objects (EventSubscriptionEnds, EventConnectivityDisconnected, EventConnectivitySms, etc..)

Hi @mikhilsanghvi,
Thank you for reporting your issue.
According to the API Design Guidelines, the data parameter is marked as optional (**) with a footnote:

(**) Event data (domain-specific information about the occurrence) are encapsulated within the data object. Its occurrence can be set to mandatory by a given CAMARA API, and its structure is dependent on each API.

For the DeviceStatus API, we decided to mark the data parameter as mandatory for all events.
This aligns with your Alternative Solution.
Based on the current main branch and the previous release, this solution is already in place.
Example
    CloudEvent:
      description: The notification callback
      required:
        - id
        - source
        - specversion
        - type
        - time
        - data
      properties:
        #...
        type:
          $ref: "#/components/schemas/NotificationEventType"
        #...
        data:
          type: object
          description: Event details payload described in each CAMARA API and referenced by its type
        #...
      discriminator:
        propertyName: "type"
        mapping:
          org.camaraproject.device-status.v0.roaming-status: "#/components/schemas/EventRoamingStatus"
          # ...

    EventRoamingStatus:
      description: event structure for roaming status change
      allOf:
        - $ref: "#/components/schemas/CloudEvent"
        - type: object
          properties:
            data:
              $ref: "#/components/schemas/RoamingStatus"

@mikhilsanghvi does this fit for you?
If yes, then we could close this issue.

Closed as no response from @mikhilsanghvi was provided.


HDDS-2936. Hive queries fail at readFully

What changes were proposed in this pull request?
It fixes in the retry path of ozone client where length of data written was getting updated incorrectly while write in KeyouputStream.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-2936
How was this patch tested?
The existing test "TestCloseContainerHandlingByClient" was failing because the issue. All these tests are executing successfully with the fix. The patch also tested in a real deployment where HIve workload was run and all hive queries succeed now.

Thank You @bshashikant for the contribution, @adoroszlai and @fapifta for the reviews.


agateau/fix release job

fix(ci): fix release job
chore: fake release job to test changes

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

Project coverage is 93.09%. Comparing base (82f30b9) to head (af5afc8).
Report is 14 commits behind head on master.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #108      +/-   ##
==========================================
+ Coverage   92.37%   93.09%   +0.71%
==========================================
  Files           6        6
  Lines         695      695
==========================================
+ Hits          642      647       +5
+ Misses         53       48       -5

Flag
Coverage Δ

unittests
93.09% <ø> (+0.71%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

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

Thank you, sorry for not taking care of this in the migration to pdm !


Detection with newlines in C++

The markers are not correct for (lines can broken if they are long and "clang-format" is used):
if (c1) {
    for (a :
         b) {
        if (c2) {
        } else {
        }
    }
}

But they are OK for:
if (c1) {
    for (a : b) {
        if (c2) {
        } else {
        }
    }
}

I understand what you mean. I may take some improvements in the future, but please think of it as such a specification at now.


Missing Documentation: Sharepoint - Creating list item of under specific list template

I am trying to create event in the event list of a sharepoint site. The documentation gave information about which endpoints to work with, but it seems like the data which needs to be sent to create event is not properly documented.
POST https://graph.microsoft.com/v1.0/sites/{site-id}/lists/{list-id}/items
The event should be added to a list of which has template of type "events". Can you please update the document or atleast provide a sample request body which can be to create items inside specific list template types.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: fa7a3906-32dd-fab9-a6f4-a5f8e55429ce
Version Independent ID: 088ac63e-886e-71f2-bc9b-36f25f93305a
Content: Create a new entry in a SharePoint list - Microsoft Graph v1.0
Content Source: api-reference/v1.0/api/listitem-create.md
GitHub Login: @rgregg
Microsoft Alias: rgregg

As part of a repository clean up effort we are closing older issues. If this issue remains, please: open a new issue, reference this issue, and provide any additional details that may help in resolution. Thank you for your understanding as we work to improve our responsiveness.


[Refactor] rewrite the spec text so that .finally observably calls .then

This is a PR demonstrating the spec refactor that makes .finally, like .catch, observably call into .then.
Pros:

consistency with .catch
make subclassing easier in that you still only have to override .then (which might be useful in particular because the callback logic in finally is complex)
Less spec text

Cons:

adds an observable [[Get]] and [[Call]] of "then"
makes two new spec-created functions available to user code (which normally is only done with the new Promise executor's resolve and reject function), thus preventing them from being optimized out in implementations.

@ljharb

makes two new spec-created functions available to user code (which normally is only done with the new Promise executor's resolve and reject function), thus preventing them from being optimized out in implementations.

Not if both then and finally are on an unmodified Promise.prototype, neither shadowed. At least V8 does this in TurboFan (from looking at the source) for then in particular, so I feel it is possible.

@isiahmeadows yes, this is an optimization that an implementation can certainly perform in the best case, but observability needs to be judged for the worst case, not the best case.


[RDBMS] az postgres flexible-server virtual-endpoint: Add support for virtual endpoints for PostgreSQL flexible server

Related command
Create virtual endpoint. Only supporting ReadWrite now
az postgres flexible-server virtual-endpoint create --resource-group <resource_group_name> --server-name <server_name> --name <virtual_endpoint_name> --endpoint-type ReadWrite --members testReplica1
Update virtual endpoint
az postgres flexible-server virtual-endpoint update --resource-group <resource_group_name> --server-name <server_name> --name <virtual_endpoint_name> --endpoint-type ReadWrite --members testReplica1
Delete virtual endpoint
az postgres flexible-server virtual-endpoint delete --resource-group <resource_group_name> --server-name <server_name> --name <virtual_endpoint_name>
Show virtual endpoint
az postgres flexible-server virtual-endpoint show --resource-group <resource_group_name> --server-name <server_name> --name <virtual_endpoint_name>
List virtual endpoints
az postgres flexible-server virtual-endpoint list --resource-group <resource_group_name> --server-name <server_name>
Description
Based off of latest Python SDK version.
Add support for features:
Create, updates, list, show, and delete Virtual Endpoints for pg flexible server
Testing Guide
Verified CLI changes manually.
History Notes
create

update

show

test run

Thank you for your contribution! We will review the pull request and get back to you soon.

Please fix conflicting files.

Kind reminder that code complete is two hours later. Pls resolve conflicts ASAP

Kind reminder that code complete is two hours later. Pls resolve conflicts ASAP

Yes, I tried but seems like I do not have write permission on the branch


App failing and constantly restarting chewing huge disk space

Flynn log: https://gist.github.com/anonymous/5f787ebc53c3964a217c219045a836ae
I set up a fresh install, deployed one application, all fine. Then I deployed a second application, a ghost blog (similar to the one at https://github.com/flynn-examples/ghost-on-flynn ) but it was failing on deploy. I tried to address the issue and deployed again, except the second time it did not spin up the web worker. So I went to the dashboard and scaled it up to one worker. It ran the web job and crashed, then it kept attempting to restart again and again. This was fine, I needed to fix the issue, but what I couldn't believe is that as I ran a du -h whilst it kept doing it, I could see my disk usage grow by ~1GB per minute!
This is what caused me to nuke my setup and do a fresh install, the disk usage. I'm running on a 24GB server and it just annihilates my disk space. I'm assuming by the looks of some of the logs it is creating a new image every single time it tries to spin up the job, and when I did a du -h -d 1 on one of those failed images, it's 342MB!
Is there a reason these aren't cleaned up after being used? like especially the failed ones? I can imagine rolling back to a successful build, but keeping around a 300MB image every time a failed build occurs seems ludicrous.
In the short term, is there any way to clean up the images of just the failed builds?

Could be a dupe of https://github.com/flynn/flynn/issues/3314
But I also tried the garbage collection script  there and it did not alter the disk usage

The script linked here: https://github.com/flynn/flynn/issues/3163#issuecomment-234273239
Seemed to do a decent job of cleaning up, reducing my disk space back to 8.3GB (which is where it was before all the failed builds).
Is this fixed in master? because on the latest released install script I have installed it doesn't seem fixed.

Upon deleting that said blog application I saw:
$ flynn delete
Are you sure you want to delete the app "blog"? (yes/no): yes
Deleted blog (removed 1 routes, deleted 2 releases, deprovisioned 1 resources)

With the disk usage un-altered (9.1G).
Then ran the flynn-cleanup.sh script mentioned in my previous comment with no changes in disk-space. So when application are deleted, their images and resources don't seem to be cleaned up on disk.

@benkaiser the issue here is that Flynn is not waiting for the container to fully exit before cleaning up the temporary AUFS layer, so removing it leads to EBUSY as it is still mounted in the container's namespace:
t=2016-09-14T23:00:32+0000 lvl=eror msg="error running pinkerton cleanup" app=host pid=32399 host.id=ubuntu component=backend backend=libcontainer fn=cleanup job.id=ubuntu-e1631164-245a-41c5-aec3-43db2d8956ab err="rename /var/lib/docker/aufs/mnt/tmp-ubuntu-e1631164-245a-41c5-aec3-43db2d8956ab /var/lib/docker/aufs/mnt/tmp-ubuntu-e1631164-245a-41c5-aec3-43db2d8956ab-removing: device or resource busy"

I am working on a patch to fix that, but in the meantime running the leaked AUFS cleanup script you linked to should remove these.
An explanation of the behaviour you have observed:

as I ran a du -h whilst it kept doing it, I could see my disk usage grow by ~1GB per minute!

When a job is run for your app, the slug tarball (built during git push) is downloaded into the job's temporary image layer and extracted into /app, so if your slug is say 100MB and 200MB uncompressed, this means 300MB is used for every job. This usually isn't too problematic as that layer is deleted when the job exits, but this is not the case for you due to the bug above.
We have work in progress to change this behaviour (#3100) so that slugs are only downloaded once per host (rather than once per job), and be SquashFS fileysystems (rather than gzipped tarballs which need to be extracted) which will benefit from being mounted once and cached by the kernel file cache, dramatically improving the time it takes to spin up jobs.

P.S. the patch I intend to make is to use the closing of the RPC socket to indicate that the container has died (we can't use wait(2) because flynn-host is not always the parent, e.g. after an update or hard restart), and also wrap the AUFS cleanup in a retry in case the socket closes unexpectedly before the container dies.
I'll also dig into the libcontainer code to see if a hook exists for this purpose.

Thanks @lmars for the detailed response,
What you said about why it can't be cleaned up makes sense, a patch for that would be really nice :+1:
That sounds like a really good PR, and looking at the size of it, it's huge!
Any idea on timeline for when that will get merged? does someone else have to review and approve it before then?

@benkaiser yep that PR is pretty big so, although the work is pretty much done, I'll be merging it in separate pull requests (starting with #3381). I hope to have it merged within a week or two, so it will appear in October's stable release.

Fantastic!
I'm going to give Dokku a shot in the meantime to see how well it deals with the disk usage (I only have one host so Dokku seems to fit my use case too), but I do really love the flynn way of doing everything (having a client cli and all).

@benkaiser ok so I took another look at the bug and my previous reasoning was incorrect, I actually think this is a race which only happens on low spec machines, what is the spec of your host (CPU / RAM)?

@benkaiser I now believe I have identified the issue, to verify could you possibly gist the output of dmesg | grep aufs?
My current thinking is that you are encountering the AUFS related error mentioned in #2044, which we fixed by trying to mount the AUFS mount multiple times, but then I think this leaves multiple mounts which all need to be unmounted, but Flynn is only unmounted one of them, leading to the EBUSY error. If this is correct, wrapping the cleanup in a retry should fix it.
Sorry for the back and forward, I'm confident this is the issue and we can push a fix today.

@lmars it's the entry-level linode size: https://www.linode.com/pricing
2GB RAM / 24GB storage.
I can gist that output, you might have to trawl back a bit in the gist though as I've since nuked the Flynn install and setup Dokku. Not at my machine presently so I'll upload it when I get home.
Thanks for your attention to this issue

I think at some point while trying to clear up space I rebooted, so the only output of dmesg | grep aufs was:
root@ubuntu:~# dmesg | grep aufs
[    3.381342] aufs 3.13-20140303
[    4.089368] aufs au_opts_parse:1155:flynn-host[2113]: unknown option dirperm1
[  640.054269] aufs au_opts_parse:1155:flynn-host[4242]: unknown option dirperm1
[ 1559.872523] aufs au_opts_parse:1155:flynn-host.v201[5941]: unknown option dirperm1
[ 3026.287597] aufs au_opts_parse:1155:dockerd[9787]: unknown option dirperm1

I found some more logs in a slightly older (~2 days) syslog, around when I set up the most recent flynn cluster:
# cat /var/log/syslog.1 | grep aufs
Sep 16 09:18:16 ubuntu kernel: [69919.355118] aufs au_opts_parse:1155:flynn-host[11323]: unknown option dirperm1
Sep 16 09:33:11 ubuntu kernel: [70814.900591] aufs au_opts_parse:1155:flynn-host[13993]: unknown option dirperm1
Sep 16 09:35:07 ubuntu kernel: [70930.511096] aufs opt_add:736:flynn-host[14065]: lookup failed /var/lib/docker/aufs/diff/41dc8c75a0047edf9b2940be2b86472793e26a0af6bf79ed4d7b72b07f133c83 (-2)
Sep 16 09:35:07 ubuntu kernel: [70930.572638] aufs opt_add:736:flynn-host[14065]: lookup failed /var/lib/docker/aufs/diff/41dc8c75a0047edf9b2940be2b86472793e26a0af6bf79ed4d7b72b07f133c83 (-2)
Sep 16 09:35:07 ubuntu kernel: [70930.641218] aufs opt_add:736:flynn-host[14709]: lookup failed /var/lib/docker/aufs/diff/41dc8c75a0047edf9b2940be2b86472793e26a0af6bf79ed4d7b72b07f133c83 (-2)
Sep 16 09:35:07 ubuntu kernel: [70930.698268] aufs opt_add:736:flynn-host[14709]: lookup failed /var/lib/docker/aufs/diff/41dc8c75a0047edf9b2940be2b86472793e26a0af6bf79ed4d7b72b07f133c83 (-2)
Sep 16 09:35:07 ubuntu kernel: [70930.755279] aufs opt_add:736:flynn-host[14709]: lookup failed /var/lib/docker/aufs/diff/41dc8c75a0047edf9b2940be2b86472793e26a0af6bf79ed4d7b72b07f133c83 (-2)
Sep 16 09:35:07 ubuntu kernel: [70930.810158] aufs opt_add:736:flynn-host[14709]: lookup failed /var/lib/docker/aufs/diff/41dc8c75a0047edf9b2940be2b86472793e26a0af6bf79ed4d7b72b07f133c83 (-2)
Sep 16 09:35:07 ubuntu kernel: [70930.865009] aufs opt_add:736:flynn-host[14709]: lookup failed /var/lib/docker/aufs/diff/41dc8c75a0047edf9b2940be2b86472793e26a0af6bf79ed4d7b72b07f133c83 (-2)
Sep 16 09:35:07 ubuntu kernel: [70930.919748] aufs opt_add:736:flynn-host[14709]: lookup failed /var/lib/docker/aufs/diff/41dc8c75a0047edf9b2940be2b86472793e26a0af6bf79ed4d7b72b07f133c83 (-2)
Sep 16 09:35:07 ubuntu kernel: [70930.974837] aufs opt_add:736:flynn-host[14709]: lookup failed /var/lib/docker/aufs/diff/41dc8c75a0047edf9b2940be2b86472793e26a0af6bf79ed4d7b72b07f133c83 (-2)
Sep 16 09:35:07 ubuntu kernel: [70931.029732] aufs opt_add:736:flynn-host[14709]: lookup failed /var/lib/docker/aufs/diff/41dc8c75a0047edf9b2940be2b86472793e26a0af6bf79ed4d7b72b07f133c83 (-2)
Sep 16 09:35:07 ubuntu kernel: [70931.084684] aufs opt_add:736:flynn-host[14709]: lookup failed /var/lib/docker/aufs/diff/41dc8c75a0047edf9b2940be2b86472793e26a0af6bf79ed4d7b72b07f133c83 (-2)
Sep 16 09:35:07 ubuntu kernel: [70931.139575] aufs opt_add:736:flynn-host[14709]: lookup failed /var/lib/docker/aufs/diff/41dc8c75a0047edf9b2940be2b86472793e26a0af6bf79ed4d7b72b07f133c83 (-2)
Sep 16 09:35:08 ubuntu kernel: [70931.194537] aufs opt_add:736:flynn-host[14709]: lookup failed /var/lib/docker/aufs/diff/41dc8c75a0047edf9b2940be2b86472793e26a0af6bf79ed4d7b72b07f133c83 (-2)
Sep 16 09:35:08 ubuntu kernel: [70931.249586] aufs opt_add:736:flynn-host[14709]: lookup failed /var/lib/docker/aufs/diff/41dc8c75a0047edf9b2940be2b86472793e26a0af6bf79ed4d7b72b07f133c83 (-2)
Sep 16 09:35:08 ubuntu kernel: [70931.304647] aufs opt_add:736:flynn-host[14709]: lookup failed /var/lib/docker/aufs/diff/41dc8c75a0047edf9b2940be2b86472793e26a0af6bf79ed4d7b72b07f133c83 (-2)
Sep 16 09:35:08 ubuntu kernel: [70931.359281] aufs opt_add:736:flynn-host[14709]: lookup failed /var/lib/docker/aufs/diff/41dc8c75a0047edf9b2940be2b86472793e26a0af6bf79ed4d7b72b07f133c83 (-2)
Sep 16 09:35:08 ubuntu kernel: [70931.414283] aufs opt_add:736:flynn-host[14709]: lookup failed /var/lib/docker/aufs/diff/41dc8c75a0047edf9b2940be2b86472793e26a0af6bf79ed4d7b72b07f133c83 (-2)
Sep 16 09:35:08 ubuntu kernel: [70931.469136] aufs opt_add:736:flynn-host[14709]: lookup failed /var/lib/docker/aufs/diff/41dc8c75a0047edf9b2940be2b86472793e26a0af6bf79ed4d7b72b07f133c83 (-2)
Sep 16 09:40:53 ubuntu kernel: [71276.681543] aufs au_opts_parse:1155:flynn-host[15596]: unknown option dirperm1
Sep 16 10:16:03 ubuntu kernel: [73386.904693] aufs au_opts_parse:1155:flynn-host.v201[20785]: unknown option dirperm1

Hope that helps, let me know if you'd like any more output

@benkaiser I have been unable to reproduce this issue, and I don't think my proposed fix of retrying the unmount of the AUFS layer will fix this.
When I last tried Linode, they defaulted to their own kernel, so did you manually switch to a stock Ubuntu kernel? I am wondering if this is a bug in the kernel you are running.

Okay, fair enough.
Yes I followed the procedure to install the stock ubuntu kernel (then updated grub, then rebooted and confirmed it was on the stock kernel).
$ uname -a
Linux ubuntu 3.13.0-95-generic #142-Ubuntu SMP Fri Aug 12 17:00:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

We have now switched away from AUFS (#3619) so this is no longer an issue.


Clock is too small

The clock appears pretty small on my terminal. I'm not sure if this is intended behavior or not, still I'd like to know if there is a way to make it bigger other than changing my font size. Here's a screenshot of how it looks like, and my neofetch for reference.

Yeah, that's the intended behaviour. Since it just uses characters, the size is determined by the font size.
Perhaps in the future there could be some draw functions added to draw the binary dots and digits in different sizes using multiple characters, or by changing the background colour.

I see. Thank you!


False positives in jump detection on tarmac

The current jump detection is too simple. The averaging of the suspension velocity smooths the high velocities too much which then falls under the threshold.

fixed in release 1.8


Migrating from rest_framework.TokenAuthentication without logging users out

Is there a recommended way to migrate to knox from DRF's TokenAuthentication—without logging users out?
If I swap in knox instead of DRF, then all users need to re-login (since their old token isn't valid). I can't seem to get both systems working simultaneously, because knox.TokenAuthentication raises an exception (instead of returning None) if the the token is invalid, which causes Django not to try subsequent authenticators.
Ideally, I'd like a way to try knox.TokenAuthentication, then if it fails but the token works in DRF, create a knox token for that user (then at some point in the future, completely remove DRF tokens).

I suppose if you're running say a redux store you could check the token in from the browser storage/store and see if in the DRF table. If it is remove it and send back a new token from the knox table. Then slowly phase that out until the DRF table is empty or a majority of active users have switched.

Something like this would work:
from django.db import migrations
from knox import crypto
from knox.settings import CONSTANTS

def convert_tokens(apps, schema_editor):
    Token = apps.get_model("authtoken", "token")
    AuthToken = apps.get_model("knox", "authtoken")
    db_alias = schema_editor.connection.alias

    for token in Token.objects.using(db_alias).all():
        digest = crypto.hash_token(token.key)
        # bypass custom manager
        AuthToken.objects.using(db_alias).bulk_create(
            [
                AuthToken(
                    digest=digest,
                    token_key=token.key[: CONSTANTS.TOKEN_KEY_LENGTH],
                    user_id=token.user_id,
                    expiry=None,  # or whatever logic you want
                )
            ]
        )
        # bypass auto_now_add restriction
        AuthToken.objects.using(db_alias).filter(digest=digest).update(
            created=token.created
        )

    Token.objects.using(db_alias).all().delete()

class Migration(migrations.Migration):

    dependencies = [
        ("knox", "0008_remove_authtoken_salt"),
    ]

    operations = [migrations.RunPython(convert_tokens)]

(keep in mind this is for the latest unreleased version of knox where the salt has been removed from AuthToken)
Remove "rest_framework.authentication.TokenAuthentication" from your views and default authentication, but keep both "rest_framework.authtoken" and "knox" in INSTALLED_APPS until the migration has run everywhere.

@jonathan-golorry just created a PR with a "safe" version of your migration


ci: fix publish-ami artifact name

fixup for the master pipeline.. I didn't test ami publishing from my branch
Signed-off-by: Ettore Di Giacinto<EMAIL_ADDRESS>

Small fixup, merging it :+1:


Create veckavali

Visvodaya Engineering College

@anveshmupparaju could you please rename lib/domains/in/veckavali to lib/domains/in/veckavali.txt as explained at the bottom of this page: https://github.com/JetBrains/swot

@anveshmupparaju You might miss my previous comment. Could you please modify your request as described above in order to have it satisfied? Thank you!

@anveshmupparaju Could you please rename the file in the reuqest as described above?

@anveshmupparaju I merged this request and will rename the file to .txt myself, but in general it is a bad practice to disrespect the repository rules and refuse to answer comments.

@philipto Sorry Philip, I'm not available due to some health issues.


Add ssh.shell and ssh.copy

Tools for using SSH from the remote host on a third host.

https://github.com/Fizzadar/pyinfra/commit/b639018662cf62574efb8faf9c74b47dd7cc88cd


feat(blame): use more meaningful colors based on time interval

The color was randomly generated before, it has a more meaningful color now.

The lighter the color the newer the commit is.

Seems that highlight.lua cannot require other modules when it was used to generate docs. @lewis6991 Could you please provide some suggestions? Should I allow it to require or prevent it from requiring? You can directly edit this branch if needed.

I've pushed a fix to avoid require in gitsigns/highlight.lua.

I was already working on a patch like this. The plan is to generate heat colours (using a bit of colour science logic) and using that as the highlight of the date/time, similar to what GitHub does.
I don't plan on changing the current highlights used at the edge because the point of them is to be able to easily identify which lines belong to the same commit.

The plan is to generate heat colours (using a bit of colour science logic) and using that as the highlight of the date/time, similar to what GitHub does.

It would be great if using color science logic here, I don't know that at all. But I'd say the algorithm I've chosen in this PR is not that arbitrary. The softsign function was chosen because its curve is suitable, I've test logistics and tanh before that.

I don't plan on changing the current highlights used at the edge because the point of them is to be able to easily identify which lines belong to the same commit.

I agree with it, and I recommend changing the highlights by applying them to the background instead of the foreground, as it looks like in this video, but it is very opinionated so I did not do it in this PR. I still recommend that because using a randomly generated color only for identification is ugly and a waste.

I still recommend that because using a randomly generated color only for identification is ugly and a waste.

I intentionally used the same scene from vim-fugitive since that's the only other blame plugin like this and people (including me) are generally very happy with it.

Including me too. My point is that if we need to apply a highlight (no matter the algorithm) to present heatmaps, replacing the randomly generated highlight would be better, the ugly part is that every same commit is marked with two unique colors (one generated by sha, one generated by time) at the same time.
After all, every commit has a different author time (it's really hard to commit them at the same second), so generating color from time should be able to easily identify too like generating from sha does. If it does not, the problem should be the range of the color we used, or the algorithm, and that's why I chose the softsign function with a coefficient like that. This can still be easily to adjusted by choosing another sigmoid function or changing their corresponding coefficients. For reference, IntelliJ used to use randomly generated colors to represent different commits, but now it has changed to time-based generation.

replacing the randomly generated highlight would be better

The colours serve different purposes. If there are two commits that were merged close together, then the heatmap colours will be difficult to distinguish. This problem amplifies for large files with a lot of history, e.g. neovim/src/nvim/eval.c.


Leanbois video idea

https://www.youtube.com/watch?v=K-y7nc-ArYU

haha this is pretty good, if I keep the videos in I'll add this one.


Gives unhelpful error message if git is not installed

I didn't have git installed yet on my new laptop and amethyst_tools was giving me a rather unhelpful message when making a new project:
> amethyst new pong
error: project creation for project "pong" failed
caused by: No such file or directory (os error 2)

No such error is displayed now that git is installed.

👋 I'm closing all PRs and Issues since amethyst_tools is being end-of-life'd.  Please see this forum post for a place to respond and/or discuss the situation rather than here on the repo.


Introduced automatic bot allocation for easier and quicker dev testing

Previously, users would have to set up their own remote developer environments in order to test slack-specific features. This required jumping through a lot of hoops such as creating their own workspace, adding custom bot integrations and messing with tokens and environment variables.
This PR brings back the communal Slack testing workspace we had for JSbot, with the added improvement of automagical bot allocation. Now, a user simply has to run with the --dev flag and a an available bot will be found and allocated to them for immediate use on the uqcstesting Slack.
This is obviously muuuUUUUUCH more beginner friendly by removing a large barrier of entry (complicated dev environment setups) for new developers looking to contribute to UQCSbot.

PTAL :^)

PTAL (^:

<3


Intellisense types resolve in Typescript files not working

VSCode Version: 1.32
OS Version: Windows 10

Steps to Reproduce:

Create a .ts file with this code

Now add some documentation

When you hover the mouse over "MyFunction" it shows this inside the tooltip

Intellisense recognizes the {string} type of neither the @param parameter nor the @returns

Does this issue occur when all extensions are disabled?: Yes
Am i doing something wrong?

Please share the text of the code along with screenshots

Is it not replicable like this? I tested it with this exact steps of code.

Share text. I'm not typing this out

Ok here it is
export interface MyInterface
{
/**
* @param {string} parameter
* @returns {Promise<string>}
* @memberof MyInterface
*/
MyFunction(parameter: string): Promise<string>;
}

Thanks.
The correct types from the source code are being shown in the top section of the hover. In general you should not use jsdoc types in TypeScript files as they are redundant and TS ignores them


Default parameter for ownProps causes it not to be passed

If a default parameter is provided for ownProps it will not be passed to mapStateToProps. For example:
const mapStateToProps = (state, ownProps) => console.log(ownProps)
// real ownProps

const mapStateToProps = (state, ownProps = {}) => console.log(ownProps)
// undefined

This is due to default parameters not being counted in Function.length, which causes proxy.dependsOnOwnProps to return false.
Is this intended behaviour?

That's... an interesting question.
Off the top of my head, I would say "yes, it's intended".  Admittedly, the way connect relies on the function length as a signal is kind of a bit hacky in a way, but the intent is definitely that if you define mapState with two parameters, connect will make sure that it takes whatever props were given to the wrapper component and pass them to mapState.  So, if two params are declared, you should get a valid ownProps param even if it's an empty object.
If you're wanting to ensure that a specific prop always exists so that you can use it, I think your best options are either to declare default props on the connected component itself, or use destructuring assignment with defaults inside of mapState.

I assume that's for performance - so Redux can know if a component uses ownProps - and if not, not cause it to re-render when props do change but state doesn't?
I admit, on re-reading the docs, it can be interpreted from them ("If ownProps is specified as a second argument, its value will be the props passed to your component"). It does cause unexpected behaviour, if you don't know it uses Function.length and understand how that treats default parameters - though, as you say - if you ask for ownProps, you'll never get undefined.

Yeah, it's definitely a perf thing - if you don't ask for ownProps, your mapState only gets called when the store notifies subscribers.  If you do ask for ownProps, it will also get called every time the incoming props change as well.
If you've got some ideas for improving the phrasing in the docs, definitely submit a PR.

Super. Thanks for the clarity and intent - we'll be careful not to use defaults in mapStateToProps.


datacube-core geometry does not work well around dateline

Use antimeridian pypi package for producing a split MultiPolygon for indexed dataset epsg:4326 geometry

I think we've resolved this with https://github.com/opendatacube/datacube-core/pull/1628


histograms: custom bucket layouts

Implement one or more custom bucket layouts, including all the implications (mostly to detect when merging/aggregation is possible if different layouts collide). Examples:

Explicitly configured bucket boundaries (which could be used to perfectly emulate the conventional histograms).
Linear buckets (good for observations that are naturally distributed evenly or that are inherently logarithmic already, like sound pressure in dB, star brightness, …).
Log-linear buckets (e.g. 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, …)
Anything to support another metrics system’s histograms.
Maybe a simple offset of the current exponential layout for distributions where high accuracy is needed around a value that is not zero (further discussion needed if this is a good idea).

Note that the implementation has to go along with corresponding feature in the instrumentation libraries and the exposition format.

Note, I frequently use multi-scale histograms. I call it HistogramHybrid3
i.e. 0, 1, 2, 3, 4, 5, 6, 7, 9, ..., 20, 30, 40, 50, ..., 190, 200, 400, 800, 1600, 3200, ...  (linear, linear, exponential).
These are frequently tuned for specific application, and code updating buckets knows exactly where to find buckets, by doing bounded amount of checks very quickly (<10, use first set of buckets via simple indexing, <=200 use second set of buckets via simple division, offset and indexing, >200 use third bucket, by offsetting, dividing, and doing an optimized log2).
Way faster than doing binary search.

To avoid misunderstandings, I should mention that custom bucket layouts are a niche feature that is expected to be used very rarely for very specific use cases. Guaranteed mergeability across time and (label) space is one of the key features of the new Native Histograms, and custom bucket layouts go directly against that.

I see why you all would consider this a niche feature, but I would like to voice support for implementing it at some point. Exponential buckets work well most of the time, but sometimes my team wants to collect a metric that follows a linear or log-linear distribution, and it would be simpler to be able to use native histograms in those cases as well.

I was thinking about this feature n the context of migration use case. We could already replace all classic histograms with native histograms if we had custom bucketing feature for efficiency of storage and atomicity of remote export.
Do you have any existing ideas around this @beorn7? My understanding is that proposal has to follow and the initial high level implementation could be as follows:

Add appropriate bucketing and values to separate fields (float buckets, int counts, float counts) and decide on priority/semantics

message Histogram {
   oneof count { // Count of observations in the histogram.
    uint64 count_int   = 1;
    double count_float = 2;
  }
  double sum = 3; // Sum of observations in the histogram.

  // timestamp is in ms format, see model/timestamp/timestamp.go for
  // conversion from time.Time to Prometheus timestamp.
  int64 timestamp = 15;

  // custom_buckets specify custom, explicit buckets for this histogram.
  // If empty, sparse (exponential) int or float histogram is assumed.
  // If more than one custom bucket is set, explicit buckets are assumed
  // and all other fields (e.g. positive/negative spans, deltas, counts, resets etc)
  // are ignored.
  repeated double custom_buckets =  15;
  // Use either "custom_buckets_counts" or "custom_buckets_float_counts",
  // the former for regular histograms with integer counts, the latter for float
  // histograms.
  repeated sint64 custom_buckets_counts    = 16;
  repeated double custom_buckets_float_counts    = 17;

  // ---- All below not used when custom layout is chosen?

  // Negative Buckets.
  repeated BucketSpan negative_spans =  8 [(gogoproto.nullable) = false];

  // Use either "negative_deltas" or "negative_counts", the former for
  // regular histograms with integer counts, the latter for float
  // histograms.
  repeated sint64 negative_deltas    =  9; // Count delta of each bucket compared to previous one (or to zero for 1st bucket).
  repeated double negative_counts    = 10; // Absolute count of each bucket.

  // Positive Buckets.
  repeated BucketSpan positive_spans = 11 [(gogoproto.nullable) = false];
  // Use either "positive_deltas" or "positive_counts", the former for
  // regular histograms with integer counts, the latter for float
  // histograms.
  repeated sint64 positive_deltas    = 12; // Count delta of each bucket compared to previous one (or to zero for 1st bucket).
  repeated double positive_counts    = 13; // Absolute count of each bucket.

  enum ResetHint { ... }
  sint32 schema             = 4;
  double zero_threshold     = 5;
  oneof zero_count { ... }
  ResetHint reset_hint               = 14;
}

Decide and propose conversion flows e.g. what if new bucket appears across samples. Do we attempt to convert and if yes, with what err tolerance? Do we simply take latest and ignore non matching buckets in single query/query_range? If only one bucket is added/removed, do we attempt to converge to lower resolution?
Semantics around mixing / migrating one histogram metric from custom layout to sparse one

Does it make sense? 🤔 @beorn7

I think the conversion from custom buckets to exponential ones will be very problematic. That's why I wouldn't frame the whole effort as a migration tool, but really just as a way to handle the current classic histogram case in a more efficient way. (And of course enabling entirely new use cases that don't match the exponential schema, e.g. importing histograms form 3rd party systems not following the exponential schema or just custom use cases requiring a specific bucket layout.)
The protobuf looks good so far (but there might be a lot of devils in the details, we have to adjust the approach on the go.
On the PromQL side, I think we should just handle cases where a direct conversion is possible (by merging buckets). If you ever run into non-matching buckets, we should better err out than doing something that might give you error margins that are hard to reason about. Maybe we could introduce explicit conversion functions in the future. But the main message should be that you better migrate to the current exponential schema set if you are interested in proper mergeablity.

We now have #13485 , which supersedes this one. Closing.


Breadcrumb to Home missing

In @lstrano-broad's designs there is a Breadcrumb that links to Home, but currently it is not implemented:

Is this an intentional omission, or is it something we plan to implement? If the former, feel free to close this ticket. If the latter, this ticket is to add the Home breadcrumb.

Good catch. No need to have Home. We'll start the breadcrumb with Workspaces. I'll update the screens in Invision to reflect this.


Generated .hgignore is invalid

When using cargo init or cargo new with --vcs hg, a .hgignore file is generated with the following content:
/target/
**/*.rs.bk
Cargo.lock

Mercurial supports two different syntaxes for ignoring files: regexp and glob. You can have different sections of the file that use either syntax, by declaring a line syntax: glob or syntax: regexp. An alternative is to prefix specific lines with glob: or regexp:. If no syntax is specified, it defaults to regexp.
The problem is that the .hgignore generated by cargo uses the glob syntax, but does not declare syntax: glob so Mercurial tries to interpret it as regexps, giving an error.
C:\Users\me\source\myproject>hg status
abort: C:\Users\me\source\myproject\.hgignore: invalid pattern (relre): **/*.rs.bk

The correct content should be:
^target/
\.rs\.bk$
^Cargo.lock$

^target/ matches only the top-level directory "target"
\.rs\.bk$ matches all files ending with .rs.bk (patterns are not rooted, so this actually matches files in any directory)
^Cargo.lock$ matches exactly the file "Cargo.lock"

In cargo/src/cargo/ops/cargo_new.rs, I can see this code:
let hgignore = ["^target/\n", "glob:*.rs.bk\n",
        if !opts.bin { "glob:Cargo.lock\n" } else { "" }]
.concat();

For some reason, I end up with the content of the variable ignore instead of this hgignore. Also note that glob:Cargo.lock matches a "Cargo.lock" file in any directory, not only the root.

@olivren are you by any change use a stable/beta Cargo? The fix you've found was implemented relatively recently: https://github.com/rust-lang/cargo/pull/4342

I was using stable and also a relatively recent nightly. I just updated to a more recent nightly that indeed contains the fix. Sorry about that, I'm closing this issue.


Remove extensions from template renders

Problem
Post Rails 6.1, it's no longer possible to use render template: with file extensions. Current generated controllers include file extensions which raise MissingTemplate errors.
Solution
Update generated controllers to exclude file extensions when using render.

Waiting until current quarter finishes, so students working on final projects don't bundle update and get different behavior than they're used to.


x/crypto/ssh: diffie-hellman-group16/18-sha512

What version of Go are you using (go version)?

$ go version
go version go1.20.6 linux/amd64

I added support for diffie-hellman-group16/18-sha512 in CL 506839.
The CL includes a benchmark, here are the results
name                                           time/op
Kexes/diffie-hellman-group-exchange-sha256-12  22.6ms ± 9%
Kexes/diffie-hellman-group18-sha512-12          1.15s ±11%
Kexes/ecdh-sha2-nistp384-12                    3.91ms ± 6%
Kexes/ecdh-sha2-nistp256-12                     304µs ± 5%
<EMAIL_ADDRESS>         413µs ± 7%
Kexes/ecdh-sha2-nistp521-12                    11.6ms ±13%
Kexes/curve25519-sha256-12                      361µs ± 5%
Kexes/diffie-hellman-group-exchange-sha1-12    22.9ms ± 9%
Kexes/diffie-hellman-group1-sha1-12            3.59ms ± 6%
Kexes/diffie-hellman-group14-sha1-12           22.1ms ±11%
Kexes/diffie-hellman-group14-sha256-12         21.6ms ± 8%
Kexes/diffie-hellman-group16-sha512-12          138ms ± 9%

name                                           alloc/op
Kexes/diffie-hellman-group-exchange-sha256-12  67.8kB ± 1%
Kexes/diffie-hellman-group18-sha512-12          243kB ± 9%
Kexes/ecdh-sha2-nistp384-12                    13.9kB ± 0%
Kexes/ecdh-sha2-nistp256-12                    12.1kB ± 0%
<EMAIL_ADDRESS>        8.22kB ± 0%
Kexes/ecdh-sha2-nistp521-12                    16.5kB ± 0%
Kexes/curve25519-sha256-12                     8.22kB ± 0%
Kexes/diffie-hellman-group-exchange-sha1-12    67.5kB ± 0%
Kexes/diffie-hellman-group1-sha1-12            34.9kB ± 0%
Kexes/diffie-hellman-group14-sha1-12           61.9kB ± 0%
Kexes/diffie-hellman-group14-sha256-12         62.0kB ± 0%
Kexes/diffie-hellman-group16-sha512-12          117kB ± 0%

name                                           allocs/op
Kexes/diffie-hellman-group-exchange-sha256-12     314 ± 0%
Kexes/diffie-hellman-group18-sha512-12            271 ± 4%
Kexes/ecdh-sha2-nistp384-12                       243 ± 0%
Kexes/ecdh-sha2-nistp256-12                       213 ± 0%
<EMAIL_ADDRESS>           168 ± 0%
Kexes/ecdh-sha2-nistp521-12                       245 ± 0%
Kexes/curve25519-sha256-12                        168 ± 0%
Kexes/diffie-hellman-group-exchange-sha1-12       314 ± 0%
Kexes/diffie-hellman-group1-sha1-12               255 ± 0%
Kexes/diffie-hellman-group14-sha1-12              255 ± 0%
Kexes/diffie-hellman-group14-sha256-12            255 ± 0%
Kexes/diffie-hellman-group16-sha512-12            256 ± 0%

and here is the profiler output for diffie-hellman-group18-sha512
Showing top 10 nodes out of 116
      flat  flat%   sum%        cum   cum%
    72.13s 44.55% 44.55%     72.13s 44.55%  math/big.addMulVVW
    16.03s  9.90% 54.45%     90.60s 55.96%  math/big.nat.montgomery
    10.10s  6.24% 60.69%     10.43s  6.44%  crypto/internal/nistec/fiat.p384Mul
     8.25s  5.10% 65.78%      8.25s  5.10%  crypto/internal/edwards25519/field.feMul
     7.91s  4.89% 70.67%      8.03s  4.96%  crypto/internal/nistec/fiat.p521Mul
     6.62s  4.09% 74.76%      6.62s  4.09%  crypto/internal/edwards25519/field.feSquare
     4.71s  2.91% 77.67%      4.71s  2.91%  p256MulInternal
     2.46s  1.52% 79.19%      2.52s  1.56%  crypto/internal/nistec/fiat.p384Square
     2.34s  1.45% 80.63%      2.34s  1.45%  crypto/internal/edwards25519/field.(*Element).carryPropagateGeneric
     2.21s  1.36% 82.00%      2.28s  1.41%  crypto/internal/nistec/fiat.p521Square

So these kexes are really slow in Go and could easily cause a DoS.
Considering there are a number of more modern kexes based on elliptic curves, which are faster to process and as secure and that supporting diffie-hellman-group14-sha256 should be enough for interoperability, I think 506839 should not be merged, at least for now. The CL is still useful because we can run the benchmark with newer Go versions and see if the performance improves in the future.
profile.zip
cc @golang/security

CL 506839 was merged, we added diffie-hellman-group16-sha512


nixos/users-groups: dump values of password options if multiple options have definitions

This was suggested since it might make it a little easier to identify the places where the definitions come from.
Retrieving the effective definitions from the module-system seems non-trivial, especially for submodules though, hence only the values are shown for now.
I'd argue that especially the password option are mostly a convenience thing for test setups. If the password is an actual secret, it should be treated as such, i.e. hashedPasswordFile should be used.
For the shadow VM test, the new section of the warning looks like this:
The values of these options are:
* users.users."leo".hashedPassword: "$6$ymzs8WINZ5wGwQcV$VC2S0cQiX8NVukOLymysTPn4v1zJoJp3NGyhnqyv/dAf4NWZsBWYveQcj6gEJr4ZUjRBRjM0Pj1L8TCQ8hUUp0"
* users.users."leo".hashedPasswordFile: null
* users.users."leo".password: null
* users.users."leo".initialHashedPassword: "!"
* users.users."leo".initialPassword: null

cc @k900 who brought up the suggestion
cc @infinisil because I'd be curious if there's a reasonable way to obtain definition locations for use-cases like this from options in submodules. I haven't found any.

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Maybe we should hide passwords, but eh.

I mean, password should only be used for testing environments anyways (and if it's used, there's no point in suppressing it then in e.g. CI logs I'd argue).
Fine with being overruled on that, though.

Given that we print out declarations in other places as well, I think the way this is done, is alright.
Would merge in a few days unless people bring up reservations about this change.


Add: Rede UTV [BR]

Channel Name
Rede UTV
Alternative Names (optional)
No response
Network (optional)
No response
Owners (optional)
Cavomd Telecomunicações
Country
BR
Subdivision (optional)
BR-SP
City (optional)
Descalvado
Broadcast Area
s/BR-SP
Languages
Por
Categories (optional)
General
NSFW
FALSE
Launched (optional)
No response
Closed (optional)
No response
Replaced By (optional)
No response
Website (optional)
https://www.redeutv.com.br/
Logo
https://i.ibb.co/P1hg5B8/m.png
Notes
https://srv4.zcast.com.br/redetvoficial/redetvoficial/playlist.m3u8

Thank you for the stream: it will be included in the next release.


pkg/updateengine: expose AttemptUpdate method

@dghubble can I get a review?

@dghubble as the requested change was comment-only and Casey will be away for some time, I just queued a commit on top of his branch adding an external reference. PTAL.


ISSUE#44 Fixing client generation code for generic typed responses

Return types such as Map<String, Any>? are now supported using TypeReference

👍


crc console-openshift-console.apps-crc.testing refused to connect. ERR_CONNECTION_REFUSED

General information

OS: Linux (RHEL 8.2)
Hypervisor: KVM
Did you run crc setup before starting it (Yes/No)? Yes.

CRC version
crc version: 1.11.0+883ca49
OpenShift version: 4.4.5 (embedded in binary)

CRC status
[ram@pluto /home/ram Sat Jul 04]crc status
CRC VM:          Running
OpenShift:       Running (v4.4.5)
Disk Usage:      12.01GB of 32.72GB (Inside the CRC VM)
Cache Usage:     11.97GB
Cache Directory: /home/ram/.crc/cache

CRC config
[ram@pluto /home/ram Sat Jul 04]crc config view
- cpus                                  : 8
- memory                                : 16384

Host Operating System
[ram@pluto /home/ram Sat Jul 04]cat /etc/os-release
NAME="Red Hat Enterprise Linux"
VERSION="8.2 (Ootpa)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="8.2"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Red Hat Enterprise Linux 8.2 (Ootpa)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:8.2:GA"
HOME_URL="https://www.redhat.com/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"

REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_BUGZILLA_PRODUCT_VERSION=8.2
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.2"

Steps to reproduce

Agenda: Upgrade working crc-4.3 on laptop to 4.4
crc stop
crc delete
crc cleanup
Downloaded new crc 4.4.x binary. Updated .bash_profile for crc to point to new crc-4.4.5
rm -rf ~/.crc
rm -rf ~/.kube
crc setup
crc start --log-level debug  (logs collected)

Expected
crc starts up with no errors and crc console is accessible
Actual
crc starts up but throws error - "ERRO Failed to renew TLS certificates"  (see condensed log in comment)
And crc console throws error: -  "console-openshift-console.apps-crc.testing refused to connect. ERR_CONNECTION_REFUSED"
Debug crc startup Logs from command :
crc start --log-level debug
Log location: https://gist.github.com/Raman-Kathpalia/8cbe863b70e0370a88b986d5b9d8867f

Previous attempt to crc start would result into this -
[ram@pluto /home/ram Sat Jul 04]crc start
WARN A new version (1.12.0) has been published on https://cloud.redhat.com/openshift/install/crc/installer-provisioned
INFO Checking if oc binary is cached
...
...
...
INFO Copying kubeconfig file to instance dir ...
INFO Cluster TLS certificates have expired, renewing them... [will take up to 5 minutes]
ERRO Failed to renew TLS certificates: ssh command error:
command : sudo podman run -it --rm --network=host -v /etc/kubernetes/:/etc/kubernetes/:Z --entrypoint=/usr/bin/cluster-kube-apiserver-operator 'openshift/cert-recovery' regenerate-certificates
err     : exit status 1
output  : I0704 15:39:36.285241       1 certrotationcontroller.go:505] Waiting for CertRotation
I0704 15:39:36.385546       1 client_cert_rotation_controller.go:121] Waiting for CertRotationController - "AggregatorProxyClientCert"
I0704 15:39:36.385614       1 client_cert_rotation_controller.go:128] Finished waiting for CertRotationController - "AggregatorProxyClientCert"
I0704 15:39:36.385626       1 client_cert_rotation_controller.go:121] Waiting for CertRotationController - "KubeAPIServerToKubeletClientCert"
I0704 15:39:36.385635       1 client_cert_rotation_controller.go:128] Finished waiting for CertRotationController - "KubeAPIServerToKubeletClientCert"
I0704 15:39:36.385643       1 client_cert_rotation_controller.go:121] Waiting for CertRotationController - "LocalhostServing"
I0704 15:39:36.385651       1 client_cert_rotation_controller.go:128] Finished waiting for CertRotationController - "LocalhostServing"
I0704 15:39:36.385658       1 client_cert_rotation_controller.go:121] Waiting for CertRotationController - "ServiceNetworkServing"
I0704 15:39:36.385666       1 client_cert_rotation_controller.go:128] Finished waiting for CertRotationController - "ServiceNetworkServing"
I0704 15:39:36.385673       1 client_cert_rotation_controller.go:121] Waiting for CertRotationController - "ExternalLoadBalancerServing"
I0704 15:39:36.385682       1 client_cert_rotation_controller.go:128] Finished waiting for CertRotationController - "ExternalLoadBalancerServing"
I0704 15:39:36.385690       1 client_cert_rotation_controller.go:121] Waiting for CertRotationController - "InternalLoadBalancerServing"
I0704 15:39:36.385699       1 client_cert_rotation_controller.go:128] Finished waiting for CertRotationController - "InternalLoadBalancerServing"
I0704 15:39:36.385718       1 client_cert_rotation_controller.go:121] Waiting for CertRotationController - "LocalhostRecoveryServing"
I0704 15:39:36.385725       1 client_cert_rotation_controller.go:128] Finished waiting for CertRotationController - "LocalhostRecoveryServing"
I0704 15:39:36.385731       1 client_cert_rotation_controller.go:121] Waiting for CertRotationController - "KubeControllerManagerClient"
I0704 15:39:36.385741       1 client_cert_rotation_controller.go:128] Finished waiting for CertRotationController - "KubeControllerManagerClient"
I0704 15:39:36.385751       1 client_cert_rotation_controller.go:121] Waiting for CertRotationController - "KubeSchedulerClient"
I0704 15:39:36.385758       1 client_cert_rotation_controller.go:128] Finished waiting for CertRotationController - "KubeSchedulerClient"
I0704 15:39:36.385769       1 certrotationcontroller.go:527] Finished waiting for CertRotation
I0704 15:39:36.385777       1 kubecontrollermanagercertrotation.go:84] Waiting for CertRotation
I0704 15:39:36.385786       1 client_cert_rotation_controller.go:121] Waiting for CertRotationController - "CSRSigningCert"
I0704 15:39:36.385795       1 client_cert_rotation_controller.go:128] Finished waiting for CertRotationController - "CSRSigningCert"
I0704 15:39:36.385805       1 kubecontrollermanagercertrotation.go:90] Finished waiting for CertRotation
I0704 15:39:36.386042       1 regenerate_certificates.go:197] Refreshing certificates.
I0704 15:39:36.391513       1 event.go:281] Event(v1.ObjectReference{Kind:"namespace", Namespace:"openshift-kube-apiserver-operator", Name:"openshift-kube-apiserver-operator", UID:"", APIVersion:"v1", ResourceVersion:"", FieldPath:""}): type: 'Normal' reason: 'SignerUpdateRequired' "kube-control-plane-signer" in "openshift-kube-apiserver-operator" requires a new signing cert/key pair: past its refresh time 2020-06-29 11:10:58 +0000 UTC
I0704 15:39:36.692751       1 event.go:281] Event(v1.ObjectReference{Kind:"namespace", Namespace:"openshift-kube-apiserver-operator", Name:"openshift-kube-apiserver-operator", UID:"", APIVersion:"v1", ResourceVersion:"", FieldPath:""}): type: 'Warning' reason: 'SecretUpdateFailed' Failed to update Secret/kube-control-plane-signer -n openshift-kube-apiserver-operator: Secret "kube-control-plane-signer" is invalid: type: Invalid value: "kubernetes.io/tls": field is immutable
I0704 15:39:36.729323       1 event.go:281] Event(v1.ObjectReference{Kind:"namespace", Namespace:"openshift-kube-apiserver-operator", Name:"openshift-kube-apiserver-operator", UID:"", APIVersion:"v1", ResourceVersion:"", FieldPath:""}): type: 'Normal' reason: 'SecretDeleted' Deleted Secret/kube-control-plane-signer -n openshift-kube-apiserver-operator
I0704 15:39:36.929064       1 event.go:281] Event(v1.ObjectReference{Kind:"namespace", Namespace:"openshift-kube-apiserver-operator", Name:"openshift-kube-apiserver-operator", UID:"", APIVersion:"v1", ResourceVersion:"", FieldPath:""}): type: 'Warning' reason: 'SecretCreateFailed' Failed to create Secret/kube-control-plane-signer -n openshift-kube-apiserver-operator: secrets "kube-control-plane-signer" already exists
 ecrets "kube-control-plane-signer" already exists

**crc would start but crc console would throw error: connection_refused.
I sat on the problem for a while and didn't do anything. And all of sudden now dashboard is accessible. Nothing changed. That's whoa!!
I decided to bounce crc and this time crc came up cleanly. No change by me and dashboard is accessible.
That's weird.**

@Raman-Kathpalia when you again face this issue try to collect the logs from the failure pod also, pod logs should have more details around it.
Closing this since setup is working, please feel free to reopen with details.


HealthChecker - Improve NIC teaming logic

Describe the work
Currently NICs that are teamed aren't handled 'properly' within the HC. We should return the results for the physical NIC that are under that teaming.
If Windows NIC teaming is detected, improve or remove the warning indication.
Migrated From: https://github.com/dpaulson45/HealthChecker/issues/548

In order fix this, need to address this within Get-AllNicInformation and rework it.
Likely need to do Get-NetAdapter and Get-NetLbfoTeam and match up the teaming information. Then just need to determine how to display it.


Intervals for arbitrary comparable values

Hello,
First of all, thank you for pyinterval!
This post is not really an issue but could be considered as an "ads", sorry for that ;-)
Some days ago, I was looking for a Python library providing interval arithmetic. A well-known search engine suggested pyinterval, but it seems that pyinterval is "restricted" to real numbers, and I was looking for a library that supports arbitrary objects (in short: I wanted to create and manipulate intervals of software versions).
Given I haven't found any maintained/stable/correct alternative, I decided to implement my own library that supports interval arithmetic for arbitrary comparable objects in Python. As I think I'm not the only one who found pyinterval by looking for a library that supports arbitrary objects, having a pointer to "alternative" libraries like mine could be interesting.
The library can be found at https://github.com/AlexandreDecan/python-intervals or on PyPI (package name is "python-intervals". Yeah, I known, that's not very imaginative ;-))

Thanks for the link.
My library is pretty much focused on numerical computations with correct rounding, hence the restriction to floats.
There is plenty of space for other libraries that implement interval libraries on types that are not affected by rounding issues.


Import errors in universal-cookie and react-cookie

When doing the following import:
import Cookies from 'universal-cookie';

I get the following error:
Type error: Could not find a declaration file for module 'universal-cookie'<EMAIL_ADDRESS>implicitly has an 'any' type.
  There are types at '/home/user/project/node_modules/universal-cookie/esm/index.d.ts', but this result could not be resolved when respecting package.json "exports". The 'universal-cookie' library may need to update its package.json or typings.

>  8 | import Cookies from 'universal-cookie';
     |                     ^

Something similar happens with react-cookie:
Doing the next import:
import { useCookies } from "react-cookie";

Gives the next error:
Type error: Could not find a declaration file for module 'react-cookie'. '/home/user/project/node_modules/.pnpm/react-cookie<EMAIL_ADDRESS>implicitly has an 'any' type.
  There are types at '/home/user/project/node_modules/react-cookie/esm/index.d.ts', but this result could not be resolved when respecting package.json "exports". The 'react-cookie' library may need to update its package.json or typings.

  1 | import React from "react";
  2 | import { useRouter } from "next/router";
> 3 | import { useCookies } from "react-cookie";
    |                            ^

This only happened when i tried to update any of them to 7.0.0.
Using pnpm version 8.14.0 as package manager and Nextjs 14.0.4 as framework.
package.json dependencies:
{
  "dependencies": {
    "@hookform/resolvers": "3.3.3",
    "@mantine/hooks": "7.4.0",
    "@radix-ui/react-dialog": "1.0.5",
    "@radix-ui/react-dropdown-menu": "2.0.6",
    "@radix-ui/react-label": "2.0.2",
    "@radix-ui/react-select": "2.0.0",
    "@radix-ui/react-separator": "1.0.3",
    "@radix-ui/react-slot": "1.0.2",
    "@radix-ui/react-switch": "1.0.3",
    "@radix-ui/react-tabs": "1.0.4",
    "@radix-ui/react-toast": "1.1.5",
    "@radix-ui/react-tooltip": "1.0.7",
    "@tanstack/react-query": "5.17.0",
    "class-variance-authority": "0.7.0",
    "clsx": "2.1.0",
    "lucide-react": "0.303.0",
    "next": "14.0.4",
    "next-themes": "0.2.1",
    "react": "18.2.0",
    "react-cookie": "6.1.3",
    "react-dom": "18.2.0",
    "react-hook-form": "7.49.2",
    "tailwind-merge": "2.2.0",
    "tailwindcss-animate": "1.0.7",
    "universal-cookie": "7.0.0",
    "zod": "3.22.4"
  },
  "devDependencies": {
    "@tanstack/eslint-plugin-query": "5.14.6",
    "@tanstack/react-query-devtools": "5.17.0",
    "@types/node": "20.10.6",
    "@types/react": "18.2.46",
    "@types/react-dom": "18.2.18",
    "autoprefixer": "10.4.16",
    "eslint": "8.56.0",
    "eslint-config-next": "14.0.4",
    "eslint-config-prettier": "9.1.0",
    "husky": "8.0.3",
    "lint-staged": "15.2.0",
    "npm-run-all": "4.1.5",
    "postcss": "8.4.32",
    "prettier": "3.1.1",
    "shadcn-ui": "0.6.0",
    "tailwindcss": "3.4.0",
    "typescript": "5.3.3",
    "vercel": "33.0.1"
  },
}

the error seems to came from the package.json exports ... I will try to do a PR

This is fixed in v7.0.1

THX a lot


Can't find docker-machine-driver-vmware binary

I'm running OS X 10.13.6. After downloading updated driver according to README.md instructions I can't find the docker-machine-driver-vmware binary.
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/usr/local/MacGPG2/bin:/usr/local/go/bin
$ docker-machine-driver-vmware
-bash: docker-machine-driver-vmware: command not found
$ docker-machine create --driver=vmware vm1
Driver "vmware" not found. Do you have the plugin binary "docker-machine-driver-vmware" accessible in your PATH?

After running $ sudo /usr/libexec/locate.updatedb I found it in ~/go/bin/docker-machine-driver-vmware


fixes #49: omit new parens when it has no arguments

Fixes #49.

Woha, thanks for the fix!

Hey @michaelficarra, I read this PR backwards. I thought you meant that the current printer omitted them and your PR fixed that. Was up very late last night so not very sharp today :)
From my subjective polling I think that the majority of users adds parens for consistency. This project is really hard because it's impossible to make everyone happy, but I think we need to try to cater to what people would usually expect and I think many people would expect empty parens.
While I would prefer empty parens, I'm trying to not be biased in these decisions. Eventually what I'm going to work towards is having a few people from the community (like you) involved and making these decisions. If there are enough people we can have many viewpoints represented, but a general agreement on what the "majority "of users expect will hopefully emerge. There are some decisions that there isn't a majority and we just need to pick something.
I'm going to revert this for now. Thanks a lot for contributing and fixing the other bugs, I hope this doesn't deter you from using this. After you see a different format for a couple days it becomes the new norm :)


Invalid getter properties in tsd files

If a Java class has a method in the form of class.getVariable(), a getter property class.variable should only be generated if the getter function does not take any parameters. This is currently not the case.

Fixed with new types.

Fixed with new types.


Setup JavaScript linting

What

Setup JavaScript linting using StandardJS (by GDS convention) and Yarn (by GOV.UK convention).
Autofix linting issues using standard --fix
Manually fix linting issues that were not solved by the automated task.
Update rake task to run all linters (Rubocop and Standard, for now) and setup CI (GitHub and Jenkins) to run it
Update documentation on dependencies

Why
For code consistency, improved maintainability, and increasing code quality (especially on this repo that in the current context tends to accumulate tech debt quite quickly).
Context
This setup is similar to the one in Content Publisher, GOV.UK Publishing Components and, more recently, Whitehall.
A separate PR will follow to add SCSS linting to this repo.
Local setup
Add standard to your favorite code editor if you write JavaScript and haven't done it already.

Removed CD warning.
We're disabling automatic deployments for this app until it meets the safety criteria identified by RFC 128.
https://github.com/alphagov/collections/pull/2059

Rebased to master.

Closing this as it stalled in review – maybe we'll get more luck with the upcoming https://github.com/alphagov/collections/tree/node-linters by @kevindew.

Thanks @alex-ju - it's all ready for review https://github.com/alphagov/collections/pull/2121


Input sanitization

To do:

[ ] Implement option for customisable rules (activate/deactivate, edit)


Symbol navigation, linting upgrade and more config

@mattiascibien This new update's main feature is symbol navigation. Using dscanner --ast, the extension gets the information it needs to provide document and workspace symbol navigation. While DMD has a -X switch which outputs JSON directly with exactly what's needed, it still has to compile files, and works only as a side effect of compiling, so I haven't found a way to really use it.
Linting now uses dscanner --report instead of dscanner --styleCheck. It produces a JSON that makes for easy usage, and provides precise categories of errors and warnings instead of simply [error] and [warn]. I'm thinking about using this later for providing code actions.
DCD and dfmt also get configuration options that correspond directly to the command line options, to enable using a custom listening port for DCD and tweaking formatting.

@LaurentTreguier whoa... that's really impressive. :+1:

@mattiascibien I've noticed that linting  doesn't work on Windows due to dscanner --report not escaping backslashes in paths. I've opened up an issue about it, maybe I'll look more into it and try to propose a fix

@LaurentTreguier if it is ok now I will merge it with master

@mattiascibien I think it's ok now. The issue about dscanner has been addressed and I have had no further problems with this version

@LaurentTreguier ok... I'll merge now and publish the new version ASAP.


www: redirect /forums to image.sc

see: https://github.com/ome/www.openmicroscopy.org/pull/295
cc: @manics @sbesson @jburel

f7b266a should fix the redirect. This has now been deployed on staging so that https://ome-www-dev.openmicroscopy.org/forums redirect to the image.sc forum
The following commits start migrating the original manual redirect tests written during the www migration as Molecule tests (including the new redirects). This should add extra time in Travis but ensure coverage of the Web server behavior as we modify it. Feedback welcome.


[$125] Payment for #51851

https://github.com/Expensify/App/issues/51851 for @nkdengineer
Issue OwnerCurrent Issue Owner: @
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021867623237780803925
Upwork Job ID:<PHONE_NUMBER>780803925
Last Price Increase: 2024-12-13

Closing, handling in the original issue.


Checkout problem

I'm using gitlab.com
My code is like this, I'll simplify it a bit by just putting the instructions in the order I executed:
repository, err = git.PlainOpen(repositoryPath)

err = repository.Fetch(&git.FetchOptions{
	Auth:     authSSH,
	Progress: os.Stdout,
	Tags:     git.AllTags,
})

tags, err := repository.Tags()
defer tags.Close()
var reference *plumbing.Reference
tags.ForEach(func(r *plumbing.Reference) error {
	if r.Name().IsTag() && r.Name().Short() == "v0.0.1" {
		reference = r
	}
	return nil
})

worktree, err := repository.Worktree()

err = worktree.Checkout(&git.CheckoutOptions{
	Hash: reference.Hash(),
})
//Well in the execution of Checkout(), it gives me the following error: object not found

Do you have any idea why this is happening? (I gave a debugged and find which method throws the error, it's the EncodedObject() method inside the commit.go file)

Hey @supermock,
Do you know if v0.0.1 is an annotated tag? If it is, this might be the cause of the failed checkout, because reference.Hash() might refer to a tag object instead of a commit object. If so, you'd need to dereference the commit hash that the tag refers to first before passing to Checkout.
I think the Checkout method can already do this all for you though. Instead of looking up the tag hash yourself, try this:
repository, err = git.PlainOpen(repositoryPath)

err = repository.Fetch(&git.FetchOptions{
	Auth:     authSSH,
	Progress: os.Stdout,
	Tags:     git.AllTags,
})

worktree, err := repository.Worktree()

err = worktree.Checkout(&git.CheckoutOptions{
	Branch: plumbing.ReferenceName("refs/tags/v0.0.1"),
})

Thank you!


Test for CI, please ignore.

Thanks for submitting your Pull Request!
Please delete this text, and add a link to the Jira issue solved by this PR.
Remember to use the Jira issue ID in the PR title, and any commits.

Core -> WildFly Preview Integration Build 2 outcome was UNKNOWN using a merge of 7ffd2b85b83c115c01e9b83cc91c20b8e1844f9f
Summary: Canceled (Tests passed: 1838, ignored: 17; exit code 143 (Step: Build & test full (Maven)) (new)) Build time: 00:36:15

Core -> Full Integration Build 2 outcome was UNKNOWN using a merge of 7ffd2b85b83c115c01e9b83cc91c20b8e1844f9f
Summary: Canceled (Tests passed: 1589, ignored: 31; exit code 143 (Step: Build & test full (Maven)) (new)) Build time: 00:36:16

Core -> Full Integration Build 1 outcome was UNKNOWN using a merge of 7ffd2b85b83c115c01e9b83cc91c20b8e1844f9f
Summary: Canceled (Exit code 143 (Step: Build core (Maven)) (new)) Build time: 00:01:14


Failed to obtain Access Token from WindowsLive or response was not HTTP status 200 OK

Hi,
I have been trying to integrate with windows live using your API. I have tried version 0.6 and 0.7 of your library but I get the following exception

SimpleAuthentication.Core.Exceptions.AuthenticationException: Message: Failed to obtain an Access Token from WindowsLive OR the the response was not an HTTP Status 200 OK. Response Status: BadRequest. Response Description: Bad Request. Error Content: {"error":"invalid_request","error_description":"The provided request must be sent using the HTTP 'POST' method."}. Error Message: --no error exception--.
I get this error on the following line of code
client = authProvider.AuthenticateClient(querystringParameters, existingState, callBackUri);
It seems to me that your API is using get request to obtain access token from windows live and hence it is failing
Regards
Adeel

Hmm. I wonder if it needs to be updated (our code). i'll have a play now and see what happens.

Hi @zahidmadeel - i just tried this with the latest code up on master and it worked for me :(
Also, I can't find that line of code, in my codebase ... ????
I understand what you wrote above .. but ... it's working for me. So I'm confused.
/me plays with the code somewhat...
this is a sample end point the code eventually hits/requests...
https://login.live.com/oauth20_token.srf/oauth20_token.srf?client_id=00000000400ED488&redirect_uri=http%3A%2F%2Fsimpleauthentication.localtest.me%3A1337%2Fauthentication%2Fauthenticatecallback%3Fproviderkey%3Dwindowslive&client_secret=some-secret-stuff&code=AA588c11d-6f3c-602a-a68d-307dfe33b63b&grant_type=authorization_code
So the current code .. it's working ...
Can you give me more details into what you are doing?

@zahidmadeel

I've updated the code to do a POST when calling https://login.live.com/oauth20_token.srf/oauth20_token.srf
i've put up a pre-release package to MyGet (not nuget, but MyGet) which has this new code fix in.

MyGet feed details: https://www.myget.org/F/simpleauthentication/api/v2
here's a sample nuget.config file to drop into your root folder of your solution:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="SimpleAuthentication (MyGet)" value="https://www.myget.org/F/simpleauthentication/api/v2" />
   </packageSources>
</configuration>

I'm assuming you know how to grab a pre-release package AND the package is from another feed location ....

@PureKrome
Basically that line of code is not in your codebase. Instead, I am using
your package with nancyfx and I wrote those lines of code. But they are
calling methods of your API. When I subclassed windowsLiveProvider and
changed request from GET to POST the problem disappeared.
On 22 June 2016 at 19:26, Pure Krome<EMAIL_ADDRESS>wrote:

@zahidmadeel https://github.com/zahidmadeel

I've updated the code to do a POST when calling
https://login.live.com/oauth20_token.srf/oauth20_token.srf
i've put up a pre-release package to MyGet (not nuget, but MyGet)
which has this new code fix in.

MyGet feed details: https://www.myget.org/F/simpleauthentication/api/v2
here's a sample nuget.config file to drop into your root folder of your
solution:

I'm assuming you know how to grab a pre-release package AND the package
is from another feed location ....
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/SimpleAuthentication/SimpleAuthentication/issues/213#issuecomment-227761120,
or mute the thread
https://github.com/notifications/unsubscribe/ABBKjJHo87KfWWOnroCVjWEBLlsOWJwsks5qOUYagaJpZM4I7r3N
.

--
Regards
Muhammad Adeel Zahid

Sweet. So, can you try using my pre-release package I put up onto MyGet and test things out with your code, please?

I will try using MyGet and update you as soon as possible
On 23 June 2016 at 06:35, Pure Krome<EMAIL_ADDRESS>wrote:

Sweet. So, can you try using my pre-release package I put up onto MyGet
and test things out with your code, please?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/SimpleAuthentication/SimpleAuthentication/issues/213#issuecomment-227926318,
or mute the thread
https://github.com/notifications/unsubscribe/ABBKjB1YixfZYU-sm6yxrnbos3ZwIlz5ks5qOeLIgaJpZM4I7r3N
.

--
Regards
Muhammad Adeel Zahid

@zahidmadeel yo :) any luck/new info?

Hi SimpleAuthentication/SimpleAuthentication
You have been invited to join the Cook at Home https://u3431732.ct.sendgrid.net/wf/click?upn=QgBgXNb9qe6bSBTooCR18ecl8fVTnBcGrCB-2BcpvqGpx9BZijN5ezGCHSiX1BlHqX_s5UH8bhnBaopYjthcNSRcVmVZahx0TTrjg78Ww-2FssaB6YvbxIXm8EJDOEezk3EV9w3-2Fv3PDMKcxsTbA6kHHLh0GFPbuZtp3Dg4WORO4leY7Q-2FQvxNhM02SPAwKAQ895xzvI39jmGnXPN1wOjPh8xSd55WqYalH8dKsvLQkYsVTZo-2Fwb1uGxaD53LBC8UM4Qsdhx2Iybt5gl38E-2By8CukviwKft0Gngoy3CMStI2SfZpnTBftIU9bOwxGd1srZCVDQW-2Fh9mEIDi4s4iB3iR-2FqyJ3qt8GKQ-2BFgHRvxS1BFQZk4RoSclLtSnr7K10VfLt-2FWZMBpiASd54TwmbgO33CmAvSY0sR60I45K34uDLYHi05u0-2FaXs2DaznK1GQiXspcd3C0f1L8tRRAjrh6hVK4wfw-3D-3D
Regards
Cook at Home Team

Hi SimpleAuthentication/SimpleAuthentication
You have been invited to join the Cook at Home https://u3431732.ct.sendgrid.net/wf/click?upn=QgBgXNb9qe6bSBTooCR18ecl8fVTnBcGrCB-2BcpvqGpx9BZijN5ezGCHSiX1BlHqX_s5UH8bhnBaopYjthcNSRcarWK1xvZsaROplbjPki0s5X5Wyr3GyhTn0PRrSfYCO4s-2FKA1LearsLEEa2O38e1HCA24eOdBSTUf6AgWpmCkUBWX8N2KYG87h9PIEX-2BvMyfePjED08NcKNUISz-2FR3psq4PuSARJPXnSfCqwaLfX9TByMZ8Em5Pw9OqTV5QM-2BL5UTWrUPcLPrFxxpq7NgijfOx48tPvFHGZTqtsOeTV-2BzjvcMw0SwxYDzARZMfuTn9HVqlJJAAYESO71HvdUlpqr6JjYFpPl0EcQ0hG-2BpzYMZLuQn9Q04xhzp7UI7btyRZFL-2FRYmJEb2aYo90B0URjWXb76y0ydpoRdDQBQAZGStpj84d7lc7bGdoP4cbDfiZFvfgu0HwCZ4-2FusGn424rl9dPw-3D-3D
Regards
Cook at Home Team

Hi there,
I too had the same problem @zahidmadeel had and tried out the pre-release version you put up. This does resolve the Failed to obtain an Access Token issue however I now get Retrieved a Windows Live Access Token but it there's an error with either the access_token parameters. Access Token: -no access token-.
I configure the WindowsLive provider inside my nancy bootstrapper like so:
var liveProvider = new WindowsLiveProvider(new ProviderParams
{
    PublicApiKey = "<Client ID Here>",
    SecretApiKey = "<Password Here>",
    Scopes = new List<string> { "openid","email" },
});

I've not had a chance to dig into exactly what the Azure AD OAuth response was yet or why there was no token or even if it is a SimpleAuthenticator issue bit I figured some feedback may be of use to you.
Cheers,
Andy

@PureKrome I tried out the pre-release (0.7.4-dev) and it seems to resolve the issue. Web.config-based.
Additionally, Live are accepting localhost redirect URIs now - you can remove all of that from the readme.

@jcdickinson do you know when MS-Live started accepting localhost redirect uri's?

@PureKrome I have absolutely no idea, I gave it a shot today and it worked.