Bug/Feature Request: NavigationView FooterMenu - No overflow handling for Top mode

Describe the bug
With the addition of the FooterMenu from Issue #375 and PR #1997, the corner case of having an overflow of footer menu items in a top mode NavigationView was not handled. Currently, if you add more footer items than can fit within the viewport of the NavigationView in top mode, the items will render "off-screen" - they aren't visible and they aren't able to be scrolled to.
Steps to reproduce the bug

Steps to reproduce the behavior:

Set PaneDisplayMode = Top on a NavigationView
Add multiple items to FooterMenuItems until they can't all fit within the NavigationView
See that those overflowing items are inaccessible to the user.

Expected/Suggested behavior
There should either be a ScrollViewer that horizontally scrolls all of the overflow FooterMenuItems or there should be a flyout that holds the overflow items. Implementation/behavior of this feature is still up for discussion.

Some screenshots for context


Documentation for Docker Hub REST Api v2

I can't find API reference for Docker Hub REST Api v2. Only v1.7 is available at this location : https://docs.docker.com/v1.7/reference/api/docker-io_api/
A lot of links from external source point to : https://docs.docker.com/reference/api/docker-io_api/ which doesn't exist.
Is this intended ? Does Docker Hub RESP Api reference v2 exist ?
Thanks for your help
File: 404.md, CC @johndmulhausen

@bertrandmartel That API is no longer supported, and in fact Docker Hub itself has been superseded by Docker Store and Docker Cloud.

@johndmulhausen do you know what are the APIs for Docker Store and Docker Cloud? thanks:)

@johndmulhausen
The API still seems to be running, as this endpoint suggests:
https://hub.docker.com/v2/repositories/mariobehling/loklak/autobuild/

If Docker are wanting to no longer support this API, could you point me to the documentation of the API that is replacing it?
Thanks 👍

@mistyhacks do you know what is the official documentation for the docker API?
Thanks!

@johndmulhausen @KickingTheTV PTAL

This is so bad.

Is there still no update on the rest API docs? I can't find anything

Security through obscurity, is it?


Cannot reconnect to OPCUA server

Hi,
I run the publisher and get the following message when the OPCUA server is down, then I restart the OPCUA server, the publisher cannot reconnect to the server.
Status: BadNoCommunication 'Server not responding to keep alive requests.'/t/tOutstanding requests: 0/t/tDefunct requests
: 0

Interesting, I will give it also a try over the next few days.

Just updated to latest version and getting similar errors from time to time which causes app to shutdown. Error message in attachment.
error.txt
Shouldn't the app need to try to reconnect?

yeah, i will send a pull request out after i return from vacation on the 9/4.
if one would like you folks could check out my for which has all the changes at https://github.com/hansgschossmann/iot-edge-opc-publisher.git

There is batching message in the code.
Why not use DeviceClient.SendEventBatchAsync() directly? If I am misunderstanding something?

The implementation we have in the code base is independent from the transport. SendEventBatchAsync is right now only implemented in Http. Mqtt for example just sends each message as a single message to IoTHub. Hope this answers your question.

@zhironghsu: v2.1.0 implements a different server connection strategy. please open a new issue if you still see problems.


Move the Ping Drive command here

I develop the Ping Drive command for the tools in a separate repository. I noticed that there is some common code in the repositories, e.g. here, there.
So why not to keep the Ping Drive command in this repository to reuse the code and make the system simpler?

Yes. I noticed that there is some common code and I think it would be good to resuse if possible.
I'd prefer to keep these project in isolation as much as possible and use techniques to reuse code.
One idea might be to extract the "configuration finder" into its own package and make all projects use it.
I also thought that making use of an abstract command class might be good. So, all commands in the suites extend a particular abstract class which holds common code.
I was going to apply refactoring after the first set of commands are built. But now we have some code, I see the need.
In the first instance I will create a "library project" and give every one access to it.
Then, any code which becomes common can be moved into that project and reused by other projects.
This will allow code reuse plus loose coupling of the components at the same time.

A common repository is a good solution too. Thank you.
I will move my mockable Google API abstraction there. And I think that it would be great if Igor moves AbstractCommand there too.

Just to keep a log of what is being moved:

@Finesse Finesse moved the Google API helper and the console logger from ping-drive to the library
@forikal-uk Moved a snippet of docs How to Set up Google Api from gsheet-to-xml to the library

I guess if we do refactorings we could add a line to the commit message and it will autolink update this Issue with a log:
See https://github.com/forikal-uk/xml-authoring-tools/issues/3
That might be too much to remember but, any way, just a thought.


[WIP] Proposed solution for profile key discrepancy

Proposed solution to the profile key mismatch that involves no developer facing breaking changes

will reopen after testing and fill out template properly


Scala3 doesn't work with slinky-hot

It is common to see this piece of code in Slinky projects, unfortunately, this causes problems with Scala3, the website doesn't load at all:
    if (LinkingInfo.developmentMode) {
      hot.initialize()
    }

@AlexITC do you see any crashes in the console? There shouldn't be anything Scala 3 specific in the hot-reloading implementation.

I was able to isolate the problem, which occurs when rendering this ErrorBoundaryComponent:
Uncaught org.scalajs.linker.runtime.UndefinedBehaviorError: java.lang.ClassCastException: undefined is not an instance of slinky.readwrite.Reader

If I remove that, hot-reloading works.


Does poap need to be claimed? or  will still be airdropped directly to the wallet

Describe the feature request
How do users participating in the first round of testnet claim their POAP? where to claim
Describe alternatives you've considered
How do users participating in the first round of testnet claim their POAP? where to claim
Additional context
No response

we will share information about this as soon as possible and we have not forgotten about it. thanks for your patience and participation in alpha-1


No bash makes xsession initialization fail

Today I've tried to disable bash via programs.bash.enable = false; and replace it with zsh (programs.zsh.enable = true;).
Afterwards, I couldn't login via slim.
My setup uses a custom .xsession and windowManager = desktopManager = "none";.
The .xsession generated by this configuration tries to source /etc/profile on line three, which fails when bash isn't enabled.
I might get around patching this myself soon. This issue here is just so I (and others) don't forget about it.

Please open an issue at https://github.com/NixOS/nixpkgs/issues if problem persists (this repository is obsolete).


Updating 1-channel texture

//if we have 1-channel texture
let txt = regl.texture({channels: 1, radius: 2, data: [0, 255, 255, 0]})

//we cannot just update it's data - it throws an error
txt({data: [255, 0, 0, 255]})

//instead we have to re-initialize the texture
txt({radius: 2, channels: 1, data: [255, 0, 0, 255]})

Is there any sense in allowing for just updating the data, without the need to pass the whole set of options every time?

@dfcreative does texture.subimage() not work for you? If you are just updating the data, it should work. however, if you need to change the underlying texture parameters, then a re-initialization should be required.

@jwerle it is fine for me, it just creates API inconsistency: with buffer we have useful and intuitive pattern buffer(newData|newOptions), the texture is expected to behave the same way, but instead we have to read docs on how to update a texture. Not that of a big deal of course, but a bit confusing and somewhat blocks workflow.


Rendering error for certain GeoJSON at south pole

What happened?
CesiumJS bails out with a
RangeError: Invalid array length
    at PolygonGeometryLibrary.subdivideRhumbLine (http://localhost:8080/Build/CesiumUnminified/Workers/chunk-L63KAE7U.js:338:20)
    at createGeometryFromPositions (http://localhost:8080/Build/CesiumUnminified/Workers/createPolygonOutlineGeometry.js:142:56)
    at PolygonOutlineGeometry.createGeometry (http://localhost:8080/Build/CesiumUnminified/Workers/createPolygonOutlineGeometry.js:482:26)
    at createPolygonOutlineGeometry (http://localhost:8080/Build/CesiumUnminified/Workers/createPolygonOutlineGeometry.js:528:41)
    at http://localhost:8080/Build/CesiumUnminified/Workers/createGeometry.js:152:29
    at async Promise.all (index 0)
    at async onMessageHandler (http://localhost:8080/Build/CesiumUnminified/Workers/chunk-5ODQSF26.js:60:22)

for certain GeoJSON data near the south pole.
Specifically, for a GeoJSON polygon with the coordinates
              [-160.0, -90.0],
              [-180.0, -90.0],
              [-180.0, -80.0],
              [-160.0, -80.0]

(inlined in the sandcastle below).
The problem is that here, numVertices will be NaN, because the rhumb.surfaceDistance above is NaN, because ... (several debugging steps deeper) ... the sigma1 and sigma2 here are both -Infinity.
(I think that whenever Math.log is called, one has to make very, very very sure that either the argument is not 0, or the downstream computation anticipates the possible -Infinity. This did not happen here...)
Reproduction steps
Open this sandcastle:
https://sandcastle.cesium.com/index.html#c=jVNdb5swFP0rFk9EoqbRqiojNKrE1ErTpk5LtZd5D665Sa0aX2SbVHTiv89AYJBm0nix7z0fvoaDQG0dOUh4BUNuiIZXkoGVVUF/dL2QBaKrM9SOSw2GBYs100yLTunAuk/cca/9zTQhLHB1CSxI/O4OuKsMZKgUCCdRsyDqOZoXR06rH9vC2LbbGc2tekE0AKXBEoyT0PNnjpXRCe5FksMu8YbJw32WLOmHJPu+XV2xgDStSXM8cdeP2Nn87N2Pp5+9yjhCi+4BC3Cmnox8KvtaKSe/oar34+UHkkA0udTczQ7vn1nxrvSNi+X1Jb2MyMVHv/yKzuCr/8NX/8KvJ/gcnpWTYtw2/aZbfLPp0nIM1T3gZ4u6TcwWKyOAKuR5OKRoQd0z6HBX6S4vJMxH4mJ4x31W6V/EUp7nU+Z6RnxDLB7xBG8W6yAKUutqBZth8FtZlGgcqYwKKY0dFKVqv0/8VIkXcFRYO3in8VSa5vJAZH5z5l8hQnFrPbKrlNrKNx+MTRp7/jtp+yKk3j8cwChet7Tn5eZL36SUprEvzysdonri5sT5Dw
Sandcastle example
(See above)
Environment
Browser: All
CesiumJS Version: 1.122
Operating System: All

This was originally brought up, with real-world data (quite literally "real-world data"...), at https://community.cesium.com/t/25mb-geojson-file-related-rangeerror-invalid-array-length/35754

I believe this is a duplicate of https://github.com/CesiumGS/cesium/issues/4801.
As a workaround, you can set scene3DOnly to true when creating the viewer to avoid this error.

I'm going to close your issue to keep the discussion in one place. If you have any further input on this, please post it there instead.

I don't want to argue about what to close for which reason, but will mention a few points, at least for completeness:

the error here is "RangeError: Invalid array length" (and not "DeveloperError: normalized result is not a number" as in the other issue)

the stack traces do not seem to have anything in common

This sandcastle sets scene3DOnly: true, and still causes the error:
https://sandcastle.cesium.com/index.html#c=jVNdb5swFP0rFk9EoqZRpyqjNJpEtUrTpkxLtZexB9fcpNaML/JHKjrx32cgMEhTqbzY955zz702xxyVseQg4Bk0uSUKnkkGRriS/uxyYR7wLs5QWSYU6DyIyN9cEWI4KLi62yhZJ8RqB7lqFje5yhXvRC0Ye8cs87IdPw9sXUEeJH73GZh1GjKUErgVqLxqz1GsPHLa+jHNtWmzndBcqi+IBqDSWIG2Anr+TNFpleCeJwXsEi+YbO6zZEmvkuzHdvUhD0jTijTHjrt+xE7mV69+7H72KOMILboHLMHqejLyadk3J634jrLej4cfSBxRF0IxO2vef7PgVegTF8vrS3oZkYuPfvkdncFX78NXb+HXE3wOz8JJMG6bftMtPtl0bjn67R7wi0HVOmaLTnOgElkRDi5aUPsEKtw51fmFhMVIXAx33NuY/kcMZUUxZd7MiC+I5QOe4N7DQRSkxtYS1sPgn0RZobbEaRlSGlsoK9n+n/jR8T9gKTdm0E7jaWlaiAMRxe2ZZ0S4ZMZ4ZOek3IoXb4x1Gnv+q9L2IoTabw6gJatb2tNy/bVPUkrT2IfnKy2ifGT6RPkf

I just tried out the data from https://github.com/CesiumGS/cesium/issues/4801 , and this does not cause an error for me. I.e. even without scene3DOnly:true, it does not cause a "normalized result is not a number" error. It just renders properly.


Example 2 parallel code: BC and material properties

Hi,
I’m trying to understand the example 2 parallel code. I would appreciate your help.

If I understand correctly paragraph 10 sets the force value to the boundary attributes 2.  If I understand correctly, a pull force vector with a size of the number of boundary attributes is generated. All vector components are defined 0 (pull_force = 0.0;) and only the force boundary component defined by attribute 2 are assigned with the force value in:” pull_force(1) = -1.0e-2;”. Is this correct?

Is there a way to define a force that is not normal to the plane (shear force)?

If I understand correctly in paragraph 12 the material properties are defined. Does this mean that lambda=1.0 sets the λ value of material 2 defined by attribute 2 (actually sets this value for all materials) and lambda(0) sets the λ value for material 1 defined by attribute 1 (modifies the value of lambda(0) from 1.0 to 1.0*50)? lambda(0) could have been set to any required value with out dependency on lambda(1), correct? Meaning I could set lambda(0)=50 for material 1 and lambda = 15 for material 2….

Vector lambda(pmesh->attributes.Max());
lambda = 1.0;
lambda(0) = lambda(1)*50;
PWConstCoefficient lambda_func(lambda);
Vector mu(pmesh->attributes.Max());
mu = 1.0;
mu(0) = mu(1)*50;
PWConstCoefficient mu_func(mu);
Thanks
Shani

Thanks @atallah727


The source code was deleted after the file name change

Currently, I can't reproduce it, but is [definetly] happened with me. After 2 hours of work!

copy folder with 6 files
change text in file #1
rename files #4, #3, #2, #1 - BOOM
text in file #1 is initial (after copying)

CPUs
Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz (4 x 2594)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: unavailable_offsurface_synchronization: enabled_onvideo_decode: enabledwebgl: enabledwebgl2: unavailable_off

Memory (System)
7.87GB (0.94GB free)

Process Argv

Screen Reader
no

VM
0%

Extension
Author (truncated)
Version

vscode-eslint
dba
1.8.0

gitlens
eam
9.5.1

EditorConfig
Edi
0.13.0

react-native-react-redux
EQu
2.0.3

vsc-material-theme
Equ
2.7.0

prettier-vscode
esb
1.8.1

path-autocomplete
ion
1.13.1

docthis
joe
0.7.1

chat
kar
0.12.0

linecounter
lyz
0.2.2

vscode-language-babel
mgm
0.0.22

postcss-language
mhm
2.1.0

theme-monokai-pro-vscode
mon
1.1.11

vsliveshare
ms-
0.3.1284

vsliveshare-audio
ms-
0.1.48

vsliveshare-pack
ms-
0.2.9

debugger-for-chrome
msj
4.11.3

vscode-paste-image
mus
1.0.4

material-icon-theme
PKi
3.6.3

code-settings-sync
Sha
3.2.5

stylelint
shi
0.48.0

code-spell-checker
str
1.6.10

code-spell-checker-russian
str
0.2.2

vscode-npm-scripts
tra
0.2.1

sort-lines
Tyr
1.8.0

vscodeintellicode
Vis
1.1.3

vscode-sourcemaps-navigator
vlk
0.0.3

quokka-vscode
Wal
1.0.190

vscode-todo-highlight
way
1.0.4

glean
wix
4.6.0

markdown-all-in-one
yzh
2.1.0

Can you reproduce with vscode insiders
https://code.visualstudio.com/insiders/
Also please provide steps, otherwise we can not do anything

Just had the same thing happen to me.

I created a new file.
I placed some code in the file.
I saved the file.
I renamed the file a bunch of times, very quickly and the final name I chose, I had chosen once before during the renaming process.
At some point, VSCode deleted the contents of the file.

Similar to:

#56384
#57522


Add a placeholder

Is this intentional?
"/= tests for inequality"
        (assert (1 /= 1))

Shouldn't it be (assert (1 /= xNum))?

Good catch! What do you think about also changing the 1 to a -1 (which is what xNum is) so the test still fails?

@robertjlooby but that seems like giving out an answer, right?

I mean the 1 that's staying. So (-1 /= xNum) so the test starts off red

@robertjlooby oh, sure. got you. i'll fix and rebase

@robertjlooby ok, done!

:+1: Thanks!


bug(MatButtomSheet): overlay-pane has static position

Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
I want to add MatBottomSheet to my project, but i noticed that it shows in the middle of the screen, not popup from botton as in example in documentation.
after investigation i found it the overlay pane has static position as following:

I tried adding the panel class "bottomSheetPanelClass" as following:
.bottomSheetPanelClass{   position: absolute;   bottom: 0 !important; }
Also I tried using: ::ng-deep .cdk-overlay-pane:has(.bottomSheetPanelClass) but nothing work.
BTW,  Imported material theme and used mat.core() in my styles.scss, everything is fine with material, the project is huge and material works perfectly but only this issue...
Could you please help me
Reproduction

Expected Behavior
the MatBottomSheet pops up from down
Actual Behavior
The BottomSheet show up in the middle of the screen same as dialogs
Environment

Angular: 17.1.1
CDK/Material: 16.1.13
Browser(s): Chrome
Operating System (e.g. Windows, macOS, Ubuntu): macOS

It's because you're missing the common structural styles. You should add @include mat.core() to your theme file.

Thank you @crisbeto for replay,
I mentioned that I use @include mat.core() in my theme file. the issue still there

Ah sorry, I must've missed it in the original description. I suspect that some structural style is overwritten somewhere, but it's hard to tell without a reproduction. Can you post the code that you're using to open the bottom sheet?

Thank you @crisbeto
Here is the code I open BottomSheet
advanceFilter(){
    this._bottomSheet.open(AdvanceFilterScreenComponent,{
      panelClass: "bottomSheetPanelClass"
    }).afterDismissed().subscribe(res=>{
      ///....
    });
  }

There isn't anything that stands out in the code snippet either. Can you check that nothing is interfering with the styles on the .cdk-overlay-container, .cdk-global-overlay-wrapper or .cdk-overlay-pane styles? They're the ones responsible for positioning.

This is the top of the styles.scss:
@use "@angular/material" as mat;
/* You can add global styles to this file, and also import other style files */
@font-face {
  font-family: "Neo-sans-arabic";
  font-style: normal;
  font-weight: 500;
  src: local("Neo-sans-arabic"), url("assets/fonts/NeoSansArabicMedium.ttf") format("ttf");
}

@import "@angular/material/theming";
@import "variables";

@include mat.core();

@import 'swiper/scss';
@import 'swiper/scss/navigation';
@import 'swiper/scss/pagination';

@import "themes/myc.scss";

@include ng-viv-ux-theme($app-theme);

@import "../node_modules/bootstrap/scss/bootstrap.scss";

html,
body {
  height: 100%;
  overflow: hidden;
  --mdc-typography-font-family: 'Neo-sans-arabic';
  --mdc-filled-button-container-height:40px;

}
body {
  margin: 0;
  font-family: 'Neo-sans-arabic';
  --mdc-typography-font-family: 'Neo-sans-arabic';
  --mdc-typography-letter-spacing:normal;
  --mdc-filled-button-container-height:40px;
}

there is no override for overlay pane in the styles.css
the problem is that the cdk-overlay-pane uses style attribute not CSS class it seems to me that hard coded in the BottomSheet itself, look at the element style attribute:

    ....

Those inline styles are as expected. The bottom sheet is positioned using flexbox inside the cdk-overlay-container which is position: fixed.

OK, understand, thank you @crisbeto


[BEAM-1672] Make error message python 3.6 compatible

I think the JIRA ticket referred to in this PR's title is the wrong one.

@aviemzur thank you

R: @tibkiss

Nice catch -- I was not aware of the deprecation of the old string formatting.
I only see one problem with 'str.format': It is only supported from 2.6 onwards.
If we want to be compatible with 2.x and 3.x then we could use string concatenation:
'It is not supported on Python' + str(sys.version_info)

that's a good idea, thanks for the feedback. I added it.

LGTM. Thanks for the fix, @ordirules!

Coverage increased (+0.01%) to 70.131% when pulling 7139a9183284618f2589e15da59097f0c0df8f38 on ordirules:errormsg into 6fa1fca4f23a36be6e43fd31f93f28990475d805 on apache:master.

Jenkins: retest this please

Coverage increased (+0.003%) to 70.121% when pulling 7139a9183284618f2589e15da59097f0c0df8f38 on ordirules:errormsg into 6fa1fca4f23a36be6e43fd31f93f28990475d805 on apache:master.

Coverage increased (+0.01%) to 70.128% when pulling 6993ea17814dffabb680842fb257cd873f1e59df on ordirules:errormsg into 6fa1fca4f23a36be6e43fd31f93f28990475d805 on apache:master.

LGTM. Thank you @ordirules

@aaltay no problem.
I have a question actually. Is there any work for python 3 support in the future?
I can help contribute if necessary. I couldn't find anything about this anywhere, including stackoverflow.
thanks!

@ordirules : Sorry for coming back on your question delayed.
There are multiple JIRAs open regarding 2 to 3 conversion:
https://issues.apache.org/jira/browse/BEAM-1373
https://issues.apache.org/jira/browse/BEAM-1251
As @chamikaramj  points out in BEAM-1373 it is not a trivial task due to the string array / unicode conversion. I'd also like to mention that we don't have good UT coverage everywhere in the Python-SDK, it might make sense to extends the UTs where the coverage is low (<50%). Tracking JIRA for that effort is BEAM-1680.


Add version number

Should be contained in a file version.txt (e.g. 0.1.2)
And displayed at the footer of the website

Done (in console.log)


[SR-15554] Unable to implement a function private struct that conforms to Comparable

Previous ID
SR-15554

Radar
None

Original Reporter
mlwoollard (JIRA User)

Type
Bug

Attachment: Download

Environment
$ swift --version
 swift-driver version: 1.26.9 Apple Swift version 5.5.1 (swiftlang-13<IP_ADDRESS> clang-13<IP_ADDRESS>)
 Target: arm64-apple-macosx12.0

Additional Detail from JIRA

Votes
0

Component/s

Labels
Bug

Assignee
None

Priority
Medium

md5: ef5f24ef82604f4c81a9d75c91955caf

Issue Description:
Unable to implement a function private struct that conforms to Comparable. Note that if example is changed to a protocol that can be synthesised such as Equatable the function private struct will compile, whether auto-synthesis used or an implementation provided.
Have also tried defining a simple protocol to use in place of Comparable and that is also fine.
File bug.swift
// A valid struct
struct A: Comparable {
    let a: Int
    // Have struct conform to Comparable, can't be automatically synthesised
    static func < (lhs: Self, rhs: Self) -> Bool { lhs.a < rhs.a }
    static func == (lhs: Self, rhs: Self) -> Bool { lhs.a == rhs.a }
}

func b() {
    // A simple struct private to function, compiles
    struct B {

    }
}

func bug() {
    // error: type 'Bug' does not conform to protocol 'Comparable'
    struct Bug: Comparable {
        let bug: Int
        static func < (lhs: Self, rhs: Self) -> Bool { lhs.bug < rhs.bug }
        static func == (lhs: Self, rhs: Self) -> Bool { lhs.bug == rhs.bug }
    }
}

Gives following:
$ swift bug.swift
bug.swift:18:12: error: type 'Bug' does not conform to protocol 'Comparable'
    struct Bug: Comparable {
           ^
bug.swift:18:12: note: automatic synthesis of 'Comparable' is not supported for structs
    struct Bug: Comparable {
           ^
Swift.FloatingPoint:3:24: note: candidate would match if 'Bug' conformed to 'FloatingPoint'
    public static func < (lhs: Self, rhs: Self) -> Bool
                       ^
Swift.BinaryInteger:4:24: note: candidate would match if 'Bug' conformed to 'BinaryInteger'
    public static func < <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger
                       ^
Swift._Pointer:2:24: note: candidate would match if 'Bug' conformed to '_Pointer'
    public static func < (lhs: Self, rhs: Self) -> Bool
                       ^
Swift.Strideable:2:35: note: candidate would match if 'Bug' conformed to 'Strideable'
    @inlinable public static func < (x: Self, y: Self) -> Bool
                                  ^
Swift.StringProtocol:4:35: note: candidate would match if 'Bug' conformed to 'StringProtocol'
    @inlinable public static func < <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol
                                  ^
Swift.Comparable:2:17: note: protocol requires function '<' with type '(Bug, Bug) -> Bool'
    static func < (lhs: Self, rhs: Self) -> Bool
                ^

Duplicate of #45682.


Dataset download bash error

Thanks for your work,
Maybe because of the net or vpn ,could you give a link to Google Drive of the all dataset directly?
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='drive.google.com', port=443): Max retries exceeded with url: /uc?id=17U8RzDWCtUCNPTDF16pEhFqznbz5u8bc (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f12ebc7f280>: Failed to establish a new connection: [Errno 110] Connection timed out'))

Hi,
The link to the data you want to download can be found here.
To download from the website, you can replace the ID_TOKEN string in the shell file with a shared Google Drive link (https://drive.google.com/file/d/ID_TOKEN/view?usp=sharing) to obtain a URL address.


How does StormLoader actually load mods?

In my experiments I've been unable to get Stormworks to want to load mods when I manually copy them into the game directory.
However, compressing the raw files and installing the zip with StormLoader works flawlessly.
What method do you use to convince the game to load external resources? I've poked around the codebase a bit but I have not found anything that appears to be doing it.

Thanks for your interest, you can see most of the install code here StormLoader/StormLoader/mod_handling/ModInstaller.cs
It is simply copying data into the game directory, however because stormworks has no official support for modding, each mod has to be broken up and it's files distributed around to the appropriate directories in the game folder. This of course creates an issue for tracking installs - I get around this by storing details about all the non-vanilla files installed in a small binary file in the stormworks directory. There's also a number of limitations imposed by the game, for example, it only looks at the top level directory for part definitions, but can look in subdirectories for meshes, which can lear to quite a confusing file layout for some mods.

Correct, for all intents and purposes it's a glorified copy and paste program - obviously the tracking and load order stuff on top, I've been debating about trying to introduce a virtual file system through the use of symbolic links, a bit like what nexus mod manager does.
As for installing mods on a Mac, I know that stormloader can't run on one, (and never will), however provides the files are placed in the right place I can't see why there should be any issue with the game loading them. You should simply be able to locate the game package and browse it's files, you can then just copy the stuff in to the right places.
For manual installs on windows you may be having issues if you are putting definitions in a subfolder in the definitions root folder - as I previously stated, stormworks only looks in the topmost folder for part definitions. A mod is not simply just a mesh, it requires an accompanying definition XML to tell the game about collision bounds, logic nodes, buoyancy etc... So a part consists of both a .mesh and a .xml which both have to be put in the right places in the games directory. It sounds like you've already got the part where you need 2 files sorted, so it sounds to me like you are copying something into the wrong folder.

Obviously, simplifying the inner workings of stormloader down to simply a copy and paste tool kind of undermines it. It was built as an accessibility tool for users who don't care about putting files in the right places, but simply want something to manage it all for them - a key part of enabling modding for stormworks was making it accessible for the majority of the playerbase (who are, let's face it, relatively young) - mainly to disprove the developers' concerns about modding not being accessible. With this in mind, the fact a user can open stormloader, browse and online repo and click 1 button to download an install a mod, I think accessibility is good. The recent updates introduce support for mods uploaded to the steam workshop, using an approach that creates a custom mission containing mod content which stormloader can read at startup. Along with introducing a built in packager that can generate these steam workshop compatible mods to help make the creation of mods easier to understand (people have trouble with the SLP format sometimes).
Of course there are a number of things I want to add - one of which is automatic steam mod installation at game launch. This would require replacing the stormworks executable with one that first checked the special missions packed for stormloader, call stormloader to install them, then launch the game - as far as a user is concerned this all happens in the background and would be the closest thing to official mods that I as a developer could do.


Reformat Validator Election

This gives us:

A much neater API for how the election is working

Which does open the way for removing the backward vote-currency convert.

Reduce the complexity of data pre-processing to make it non-exploitable. https://github.com/paritytech/substrate/compare/kiz-reformat-election?expand=1#diff-ba0a45203e7c14aedb758fe4d3653b35R137

And improves the accuracy actually.

Add a mini post-processing to compensate for stakes being loss. This is WIP and any input is appreciated https://github.com/paritytech/substrate/compare/kiz-reformat-election?expand=1#diff-ba0a45203e7c14aedb758fe4d3653b35R250.
Improve testing.

Needs a deep review of the logic by somebody before merge as it appears to be essentially a rewrite.

The logic looks fine on a first read-through.
I think the complexity of candidate look ups is down from number of nominators * number of candiates to number of candidates^2, which is still quadratic. Instead of ever looking up the candidates, you could populate the B-tree by iterating through them, which would get the complexity down to nearly linear.
For equalising, it's worth noting that for the  pyython, where I equalised random nominators and then iterating once, one iteration sufficed for the random examples. So putting the equalising step on by default with one or two iterations would give a decent gain, unless it is noticebly slow.

Needs a deep review of the logic by somebody before merge as it appears to be essentially a rewrite.

Agreed. Already asked Al to have a look.
Regarding it being a rewrite: I should mention that the tests that examine detailed values (mostly a pain to maintain) of the election, stake, and reward, etc. stayed unchanged in this PR (except for minor tweak to values like +=1, 10 which is due to accuracy change). I take that as a good sign that it is not a major breaking change.
A recap of the important stuff that I'd rather not be overlooked:

Where we are forced to saturate and there is no other way since being exposed by more balance than the maximum amount of balance does not make any sense: https://github.com/paritytech/substrate/pull/2406/files/2fbd2ac901861dee5d0f4acb974d149d2ea00df5#diff-b5a024b4f4ae96b0bfc0681acae56709R980
My little made up post-processing to compensate for weight loss due to accuracy (e.g. [33%, 33%, 33%] -> 1 is burnt). Logs show that at least during most tests the amount of diff to be compensated is less than the number of votes per nominator. https://github.com/paritytech/substrate/pull/2406/files/2fbd2ac901861dee5d0f4acb974d149d2ea00df5#diff-ba0a45203e7c14aedb758fe4d3653b35R247

I think the complexity of candidate look ups is down from number of nominators * number of candiates to number of candidates^2, which is still quadratic. Instead of ever looking up the candidates, you could populate the B-tree by iterating through them, which would get the complexity down to nearly linear.

Ahh I see. Such an obvious error of mine... Fixed.

For equalising, it's worth noting that for the pyython, where I equalised random nominators and then iterating once, one iteration sufficed for the random examples. So putting the equalising step on by default with one or two iterations would give a decent gain, unless it is noticebly slow.

I would leave that for 1) potentially off-chain 2) after an initial complexity analysis of the already existing code before exposing it more.
I'd still like to hear some feedback on the points linked in my previous comment.

@AlistairStewart bump anything else to add on Kian's changes?

In the meantime and in light of preventing this PR to become too stale I've had one more look at the code and minor fixes + making issues for some of the gray zones.

@Kianenigma could you chase @AlistairStewart to sign off on the other things you were unsure about here?

@Kianenigma could you chase @AlistairStewart to sign off on the other things you were unsure about here?

had pinged him a few times already. Will asked again.

This still looks good. The complexity is fixed. The two things you wanted to highlight both look fine. For the first, I'm sure that having balances that add up to over the maximum balance might break other things in unexpected ways, but I'd agree that the only thing to do here is to saturate which should be ok.


Create fr.json

Hello ! Here’s a french translation. I contact you also on Nexus.

Hello! Thanks so much for the translation!


Update lightning-talks-5AHIF.md

Topic is fine, but date has already been taken. Could you please choose a new date and send a new pull request?


Issues with parsing jsx

This was exactly the kind of tool I was looking for, thanks for that! :clap:
But I stumbled upon something that I really can't figure out. I have issues parsing code with JSX syntax.
Here's the way I did to reproduce:

Create new project (npm init -y) and install equivalent-exchange (npm install equivalent-exchange)
Create a file with the following content:

import { transmute, traverse } from 'equivalent-exchange';

const code = `
  export const Foo: React.FC<{ foo: string }> = ({foo}) => {
    return
{foo}

  }
`;

try {
  transmute(code, { fileName: 'Foo.tsx' });
} catch (error) {
  console.error(error);
}

Execute the script with node node script.mjs

With this I get the following error thrown:
Error: Line 3: Invalid regular expression: missing /
    at ErrorHandler.constructError (/project/node_modules/esprima/dist/esprima.js:5012:22)
    at ErrorHandler.createError (/project/node_modules/esprima/dist/esprima.js:5028:27)
    at ErrorHandler.throwError (/project/node_modules/esprima/dist/esprima.js:5035:21)
    at Scanner.throwUnexpectedToken (/project/node_modules/esprima/dist/esprima.js:5164:35)
    at Scanner.scanRegExpBody (/project/node_modules/esprima/dist/esprima.js:6139:23)
    at Scanner.scanRegExp (/project/node_modules/esprima/dist/esprima.js:6204:29)
    at Tokenizer.getNextToken (/project/node_modules/esprima/dist/esprima.js:6675:56)
    at Object.tokenize (/project/node_modules/esprima/dist/esprima.js:154:36)
    at Object.parse (/project/node_modules/recast/lib/parser.js:40:30)
    at codeToAst (/project/node_modules/equivalent-exchange/dist/index.js:45:24) {
  index: 90,
  lineNumber: 3,
  description: 'Invalid regular expression: missing /'
}

The strange thing is that when I clone this repo and try adding a test like this it all passes 🤔
test('with jsx syntax', async () => {
  const code = `export const Component: React.FC = () => {
    console.log("hello!");
    return

  }`;

  const transform = (ast: AST) => {
    traverse(ast, {
      StringLiteral(path) {
        const { node } = path;
        if (node.value === 'hello!') {
          path.replaceWith(types.stringLiteral('goodbye!'));
        }
      },
    });
  };

  expect(() => {
    transmute(code, transform);
  }).not.toThrow();
});

Do you have any ideas of what might be going wrong? At first I thought of different babel versions colliding. But since it didn't work in my very bare-bones repro either I'm suspecting it is something else.

The following code works fine, when I do self-closing tags:
export const Foo: React.FC<{ foo: string }> = ({foo}) => {
  return

}

And of course, now I saw that my test used self-closing tag as well. This test fails:
test('with jsx syntax', async () => {
  const code = `export const Component: React.FC = () => {
    console.log("hello!");
    return
Hello

  }`;

  const transform = (ast: AST) => {
    traverse(ast, {
      StringLiteral(path) {
        const { node } = path;
        if (node.value === 'hello!') {
          path.replaceWith(types.stringLiteral('goodbye!'));
        }
      },
    });
  };

  expect(() => {
    transmute(code, transform);
  }).not.toThrow();
});

I found the solution and submitted a PR #2. Hope you're okey with that :+1: And once again, thanks for the repo!

Fixed in 1.2.1 :+1:
Thank you again for reporting and fixing this!


Include current project path in kernel's path?

If I'm working on a project, ideally I would want import myproject to reference the project's files (rather than any installed version of myproject).
If I start ipython from my project directory, this works. I believe that's because ipython maps my current path and so resolves the package locally.
But this doesn't seem to with ipykernel. Is this something people have encountered?
Alternatively let me know if this is an issue with ipykernel rather than hydrogen.
Thanks!

Hydrogen starts the Kernel in the directory of the current file. So as long as you start the kernel in the root directory of your project this should work.
You can check in which directory the kernel was started by executing !pwd in Hydrogen or IPython.

start the kernel in the root directory of your project

how would you do this?
Scripts cmd-i runs in the project root while Hydrogen runs in the directory of the actual file

@slavaGanzin sounds good, guess I'll have to patch it myself in the meantime

actually @slavaGanzin wouldn't it be relevant to submit the project path-patch in a separate PR?
I cannot see why this shouldn't be the default behaviour especially with lots of ppl coming from Script and using this with the python kernel

start the kernel in the root directory of your project
@lgeiger how would you do this?

You can do this by starting the kernel in any python file that is in the root directory of your project.
@buyology Please feel free to submit a PR changing this behavior. That would be cool 🎉
I personally like to start the kernel in the current file but I see that this becomes tedious when working in a bigger project. It's probably best to change that.


LocalLayoutDirection isn't propagated into Popup

Describe the bug
LocalLayoutDirection.current returns LTR even when set to RTL outside a Popup:
    @Test
    fun `LocalLayoutDirection is seen in popup`() {
        lateinit var layoutDirectionInPopup: LayoutDirection
        rule.setContent {
            CompositionLocalProvider(LocalLayoutDirection provides LayoutDirection.Rtl) {
                Popup{
                    layoutDirectionInPopup = LocalLayoutDirection.current
                }
            }
        }

        assertThat(layoutDirectionInPopup).isEqualTo(LayoutDirection.Rtl)
    }

This is related to https://github.com/JetBrains/compose-multiplatform/issues/3129
Affected platforms

Desktop

Versions

Compose Multiplatform version*: 1.3.x, 1.4.0

Expected behavior
The provided layout direction should be seen inside the popup composable.

@m-sasha LocalLayoutDirection isn't propagated into Dialogs too.
Could you please fix that too?
I'm using Compose-Multiplatform 1.4.1
Workaround:
Dialog(
    state = rememberDialogState(
        size = DpSize(400.dp, 300.dp),
        position = WindowPosition(Alignment.Center)
    ),
    resizable = false,
    undecorated = true,
    transparent = true,
    onCloseRequest = onCloseRequest
) {
    val language = LocalLanguage.current
    CompositionLocalProvider(LocalLayoutDirection provides language.layoutDirection) {
        // ...
    }
}

Can you open a new bug report for this?

Yes. Here it is: https://github.com/JetBrains/compose-multiplatform/issues/3382

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Memory error for erase/1

valgrind detect memory error for following code:
:- initialization(main).

main :-
        recordz(foo, bar),
        recorded(foo, _, REF),
        erase(REF),
        halt.

valgrind output:
...
==19188== Invalid read of size 8
==19188==    at 0x422D94: bif_retract (bifs_iso.c:2414)
==19188==    by 0x42540D: bif_xtra_erase (bifs_iso.c:2985)
==19188==    by 0x441547: call (jela.c:423)
==19188==    by 0x44171E: run_me (jela.c:473)
==19188==    by 0x408B52: query_run (trealla.c:918)
==19188==    by 0x40A394: trealla_run_query (trealla.c:1407)
==19188==    by 0x409F30: trealla_consult_file (trealla.c:1310)
==19188==    by 0x4052A9: main (tpl.c:363)
==19188==  Address 0x602ffa0 is 48 bytes inside a block of size 64 free'd
==19188==    at 0x4C2EDEB: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==19188==    by 0x40605E: term_heapclean (trealla.c:130)
==19188==    by 0x405CE3: term_heapcheck (bifs.h:298)
==19188==    by 0x406CAC: retract_index (trealla.c:328)
==19188==    by 0x422D7D: bif_retract (bifs_iso.c:2411)
==19188==    by 0x42540D: bif_xtra_erase (bifs_iso.c:2985)
==19188==    by 0x441547: call (jela.c:423)
==19188==    by 0x44171E: run_me (jela.c:473)
==19188==    by 0x408B52: query_run (trealla.c:918)
==19188==    by 0x40A394: trealla_run_query (trealla.c:1407)
==19188==    by 0x409F30: trealla_consult_file (trealla.c:1310)
==19188==    by 0x4052A9: main (tpl.c:363)
==19188==  Block was alloc'd at
==19188==    at 0x4C2FB55: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==19188==    by 0x40B7E9: term_make (parser.c:217)
==19188==    by 0x40BB5E: make_compound (parser.c:313)
==19188==    by 0x425032: bif_xtra_assertz (bifs_iso.c:2937)
==19188==    by 0x441547: call (jela.c:423)
==19188==    by 0x44171E: run_me (jela.c:473)
==19188==    by 0x408B52: query_run (trealla.c:918)
==19188==    by 0x40A394: trealla_run_query (trealla.c:1407)
==19188==    by 0x409F30: trealla_consult_file (trealla.c:1310)
==19188==    by 0x4052A9: main (tpl.c:363)
...

Fix confirmed, a memory leak still exists, which is not related to this issue, I'll open another one.


Add wait for it script to ensure db ready before starting backend

Proposed Changes

Add wait-for-it.sh to entrypoint.sh to ensure that the DB is available before the Backend tries to connect. While there is a depends_on in the Docker Compose file this does not ensure that the DB is ready, only that the DB container is alive. I experienced several times that the DB would start after the Backend and the Backend would never try to reconnect, this will atleast stop that from happening.

Types of Changes

[ ] New feature
[x] Bug fix
[ ] Enhancement/optimization
[ ] Refactor
[ ] Style
[ ] Build/dependencies
[ ] Other

Checklist

[x] I have added tests to cover my changes (for features/bugs)
[x] I am pleased with the readability of the code (if not, state where you need input)
[x] I have tested the changes and verified that they work and do not break anything (to the best of my ability)

It is also possible to install the wait-for-it in the docker container as it is an debian package: https://tracker.debian.org/pkg/wait-for-it. Do we prefer that or adding the script manually like I did here?

An alternative solution would be something like this: https://stackoverflow.com/questions/31746182/docker-compose-wait-for-container-x-before-starting-y

depends_on:
    condition:

Is no longer document as of Docker Compose v3. As this is only used for local development, one could alternatively add a short sleep script to our existing entrypoint.sh to deal with this issue. However, why bother when we can utilize wait-for-it.sh?


Youtube history is not working

Checklist

[x] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2020.07.28
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar bug reports including closed ones
[x] I've read bugs section in FAQ

Verbose log

pi@speaker:~ $ youtube-dl -v --netrc :ythistory
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', '--netrc', ':ythistory']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2020.07.28
[debug] Python version 3.7.3 (CPython) - Linux-5.4.51-v7l+-armv7l-with-debian-10.4
[debug] exe versions: ffmpeg 4.1.6-1, ffprobe 4.1.6-1, phantomjs ., rtmpdump 2.4
[debug] Proxy map: {}
[youtube:history] Downloading login page
[youtube:history] Looking up account info
WARNING: Unable to look up account info: HTTP Error 404: Not Found
[youtube:history] Youtube History: Downloading webpage
[download] Downloading playlist: Youtube History
[youtube:history] playlist Youtube History: Downloading 0 videos
[download] Finished downloading playlist: Youtube History

Description

Youtube-dl is unable to authenticate with youtube, thus it cannot see the history.
IMPORTANT NOTE: This is NOT a duplicate of any open issue as you may see on the below screen shot. I've searched the exact error message:

There are similar closed issues, but they all are closed with neither solution nor explanation. Please not close this issue as duplicate because it is not. This is a real issue and I hope you read this message. Thank you!

But... I had proven it is not a duplicate!

Please reopen

I did search for "Unable to look up account info: HTTP Error 404: Not Found".
All are issues closed as duplicates without a reference. None of them are with solutions. No open issues.

Half of them are mine.
Also tried with Google. 2 results:

What am I doing wrong??? I am honestly trying to help!

Of course not trolling!
I've seen that issue, but the error message is different, so I considered it a different issue.
Their error:
[youtube:user] Downloading login page
[youtube:user] Looking up account info
[youtube:user] Logging in
[youtube:user] Checking cookie
[youtube:user] welcome: Downloading channel page
WARNING: Unable to download webpage: HTTP Error 404: Not Found

My error:
[youtube:history] Downloading login page
[youtube:history] Looking up account info
WARNING: Unable to look up account info: HTTP Error 404: Not Found

Their error is on the channel page, and mine is on the login. That is at least my understanding.
Thanks for the link, I really appreciate your response!


package com.learnium.RNDeviceInfo does not exist

Summary
Hello, I got an error every time I try to build my app on Android, I check all the similar issues, and try to downgrade to 0.23.0 and replace "implementation" by "compile" but that doesn't change anything.

Version
0.25.1

Affected OS
Android

OS Version
SDK 27

Current behavior
Every time I run the build I got:
:app:compileReleaseJavaWithJavac - is not incremental (e.g. outputs have changed, no previous execution, etc.).
/Users/magrin_j/Documents/Work/Cookomix/Cookomix-mobile/android/app/src/main/java/com/cookomix/mobile/MainApplication.java:27: error: package com.learnium.RNDeviceInfo does not exist
import com.learnium.RNDeviceInfo.*;
^
/Users/magrin_j/Documents/Work/Cookomix/Cookomix-mobile/android/app/src/main/java/com/cookomix/mobile/MainApplication.java:46: error: cannot find symbol
                new RNDeviceInfo(),
                    ^
  symbol:   class RNDeviceInfo
  location: class MainApplication
2 errors
:app:compileReleaseJavaWithJavac FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:compileReleaseJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

I don't really understand why that's happening, if someone can help me !
The library is correctly linked! I try to link it manually and with react-native link
Expected behavior
No compilation error

@magrinj just change import com.learnium.RNDeviceInfo.*; to import com.learnium.RNDeviceInfo.RNDeviceInfo; in the MainApplication.java file and everything will be fine.

The app links fine if you use react-native link react-native-device-info but it looks like something in that step failed. You should create a fresh sample app and follow the integration instructions to see how it works. This looks like your app's android/settings.gradle didn't get linked in correctly:
include ':react-native-device-info'
project(':react-native-device-info').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-device-info/android')

so the symbols don't exist in the android/java namespace.
@machour this should be closed as a not-a-bug, the module installs fine in apps if linked in correctly. A PR for a sample app showing correct usage would probably minimize these issues

@mikehardy it would be great indeed, don't hesitate to submit one :)


Adds aria-attributes inputs support

Q
A

Is bugfix?
no

New feature?
yes

Breaks BC?
no

Tests pass?
yes

Fixed issues
#12399

Aria-invalid supports both server, client and ajax validations.

Replaced by #13116


DetoxRuntimeError: No instrumentation runner found on device null for package

What happened?
I have been trying to understand this error but cannot pinpoint the reason behind No instrumentation runner. The moment I run the command, it fails. I am also unable to use --loglevel trace to get the logs.
I am able to build the project successfully, generate apks and install them on my physical device but I am unable to execute any tests.
Command I use to run:  yarn detox:e2e:android-release
The error:

1) Scenario: I can locate elements by text # e2e/features/element_location/matchers.feature:6
   ✖ Before # e2e/features/step_definitions/Hooks.js:1
       DetoxRuntimeError: No instrumentation runner found on device null for package com.nanosonics.audit_pro
           at _callee2$ (/Users/asb/Downloads/AuditPro/e2e/features/step_definitions/Hooks.js:13:16)
           at tryCatch (/Users/asb/Downloads/AuditPro/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js:63:40)
           at Generator.invoke [as _invoke] (/Users/asb/Downloads/AuditPro/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js:293:22)
           at Generator.next (/Users/asb/Downloads/AuditPro/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js:118:21)
           at tryCatch (/Users/asb/Downloads/AuditPro/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js:63:40)
           at invoke (/Users/asb/Downloads/AuditPro/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js:154:20)
           at /Users/asb/Downloads/AuditPro/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js:189:11
           at new Promise (<anonymous>)
           at callInvokeWithMethodAndArg (/Users/asb/Downloads/AuditPro/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js:188:16)
           at AsyncIterator.enqueue (/Users/asb/Downloads/AuditPro/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js:211:13)
           at AsyncIterator.next (/Users/asb/Downloads/AuditPro/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js:118:21)
           at Object.exports.async (/Users/asb/Downloads/AuditPro/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js:238:14)
           at World._callee2 (/Users/asb/Downloads/AuditPro/e2e/features/step_definitions/Hooks.js:11:8)
   - Given I tap on the Log a procedure button by text # e2e/features/step_definitions/MatchersSteps.js:1
   - When I tap on the Low Level Disinfected button by text # e2e/features/step_definitions/MatchersSteps.js:1

2) Scenario: I execute Detox test # e2e/features/onboarding/initialtest.feature:3
   ✖ Before # e2e/features/step_definitions/Hooks.js:1
       DetoxRuntimeError: No instrumentation runner found on device null for package com.nanosonics.audit_pro
           at _callee2$ (/Users/asb/Downloads/AuditPro/e2e/features/step_definitions/Hooks.js:13:16)
           at tryCatch (/Users/asb/Downloads/AuditPro/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js:63:40)
           at Generator.invoke [as _invoke] (/Users/asb/Downloads/AuditPro/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js:293:22)
           at Generator.next (/Users/asb/Downloads/AuditPro/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js:118:21)
           at tryCatch (/Users/asb/Downloads/AuditPro/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js:63:40)
           at invoke (/Users/asb/Downloads/AuditPro/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js:154:20)
           at /Users/asb/Downloads/AuditPro/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js:189:11
           at new Promise (<anonymous>)
           at callInvokeWithMethodAndArg (/Users/asb/Downloads/AuditPro/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js:188:16)
           at AsyncIterator.enqueue (/Users/asb/Downloads/AuditPro/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js:211:13)
           at AsyncIterator.next (/Users/asb/Downloads/AuditPro/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js:118:21)
           at Object.exports.async (/Users/asb/Downloads/AuditPro/node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js:238:14)
           at World._callee2 (/Users/asb/Downloads/AuditPro/e2e/features/step_definitions/Hooks.js:11:8)
   - Given I start Detox # e2e/features/step_definitions/OnboardingSteps.js:1

.detoxrc.js
module.exports ={

    "configurations": {

        "android.att.release": {
            "binaryPath": "android/app/build/outputs/apk/qa/app-qa.apk",
            "testBinaryPath": "android/app/build/outputs/apk/androidTest/release/app-release-androidTest.apk",
            "build": "cd android && ./gradlew clean && ./gradlew app:assembleQa && ./gradlew assembleAndroidTest -DtestBuildType=release && cd ..",
            "type": "android.attached",
            "device": {
                "adbName": "21169B056B"
            }
        }
    }
 }

Location of the apk:

android/build.gradle
buildscript {
    ext {
        buildToolsVersion = "29.0.3"
        minSdkVersion = 21
        compileSdkVersion = 30
        targetSdkVersion = 30
        ndkVersion = "20.1.5948944"
        ext.kotlinVersion = '1.6.0'
    }
subprojects {
    ext {
        compileSdk = rootProject.ext.compileSdkVersion
        minSdk = rootProject.ext.minSdkVersion
        targetSdk = rootProject.ext.targetSdkVersion
    }
    afterEvaluate { subproject ->
        if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
            android {
                compileSdkVersion rootProject.ext.compileSdkVersion
                buildToolsVersion rootProject.ext.buildToolsVersion
                defaultConfig {
                    minSdkVersion rootProject.ext.minSdkVersion
                    targetSdkVersion rootProject.ext.targetSdkVersion
                }
            }
        }
    }
}
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath('com.android.tools.build:gradle:4.2.1')
        classpath "com.github.triplet.gradle:play-publisher:3.4.0-agp4.2"
        classpath 'com.google.gms:google-services:4.3.3'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }

}

Hooks.js
import { BeforeAll, Before, AfterAll } from '@cucumber/cucumber';

import { init, cleanup } from 'detox';
import { detox as config } from '../../../package.json';

BeforeAll( { timeout:60 * 1000 }, async () => {
  await init(config, {reuse: true});
});

Before(async () => {
  // I don't want to delete the app as I don't want to delete the app every time I run the test
  await device.launchApp({delete: false, newInstance: true});
});

AfterAll(async () => {
  await cleanup();
});

Cucumber.js
// eslint-disable-next-line no-shadow-restricted-names
const arguments = [
  '--require-module @babel/register',
  'e2e/features/*/*.feature'
].join(' ');

module.exports = {
  default: arguments
}

Package.json:
"scripts": {
        "start": "react-native start",
        "lint": "eslint .",
        "jetify": "npm run jetify",
        "run-android": "react-native run-android",
        "run-android-develop": "react-native run-android --variant develop",
        "run-android-qa": "react-native run-android --variant qa",
        "build-develop": "cd android && ./gradlew app:assembleDevelop",
        "build-qa": "cd android && ./gradlew app:assembleQa",
        "clean": "cd android && ./gradlew clean",
        "print-native-logs": "adb logcat *:S AuditPro:V ReactNative:V",
        "clear-native-logs": "adb logcat -c",
        "start-emulator": "emulator -avd NNSC_API_29",
        "pause-postinstall": "npm run jetify",
        "audit": "npm audit --json | npm-audit-html",
        "detox:build:android-debug": "detox build --configuration android.att.debug",
        "detox:e2e:android-debug": "DETOX_CONFIGURATION=android.att.debug npx cucumber-js",
        "detox:build:android-release": "detox build --configuration android.att.release",
        "detox:e2e:android-release": "DETOX_CONFIGURATION=android.att.release npx cucumber-js"
    },

APK in android studio:

What was the expected behaviour?
No response
Was it tested on latest Detox?

[X] I have tested this issue on the latest Detox release and it still reproduces.

Did your test throw out a timeout?

[ ] I have followed the instructions under Identifying which synchronization mechanism causes us to wait too much.

Help us reproduce this issue!
No response
In what environment did this happen?
Detox version: 19.6.9
React Native version: 0.64.2
Node version: v18.0
Device model: -
Android version: 8.1
Test-runner (select one): Cucumber
Detox logs
When I try yarn detox:e2e:android-release --loglevel trace, I get the following error:
asb@AnanthaSBs-MacBook-Pro AuditPro % yarn detox:e2e:android-release --loglevel trace
yarn run v1.22.18
$ DETOX_CONFIGURATION=android.att.release npx cucumber-js --loglevel trace
error: unknown option '--loglevel'
error Command failed with exit code 1.

I tried to add --loglevel to package.json but it doesn't work either.
Device logs
Device logs
paste logs here!

More data, please!
No response

Before I integrated Detox to this project, I was trying to integrate on another project - to learn.
When I run  adb shell pm list instrumentation,  I see that it is still pointing to package of another project.
instrumentation:com.pqaa_detox.test/androidx.test.runner.AndroidJUnitRunner (target=com.pqaa_detox)

The test apks getting generated were for debug build but I had configured release variant in my configuration file. My issue is resolved, closing this.


Proposals stats

Summary of changes

Added the hooks for GraphQl integration with proposals
Added schema proposals
Docs

Reference issue to close (if applicable)

Closes  #566
@param authoritySet - Keygen authority set

Code Checklist

[x] Tested
[x] Documented

@AhmedKorim does this also close #548 ?

@dutterbutter  yeah


ADR on trino catalogs

We still need a decision on both ADRs

Adopted to decision in meeting today. Can be presented in Arch meeting on Wednesday.

thx!
Could you please merge it when you have presented it tomorrow?

We fine with merging this @teozkr @soenkeliebau ?

I suppose the remaining bit here would be the arch meeting presentation.

I suppose the remaining bit here would be the arch meeting presentation @maltesander.

true ;)


Preserve undo/redo buffer when saving a file "as" or untitled file

VSCode Version: 1.8.1
OS Version: Windows 10

Steps to Reproduce:

Undo last edits.
Save As.
Try Redo to re-instate last edits, but nothing happens.

This is a workflow I have done in many other editors where I realize I want to keep an old version of something I am working on, just in case I screw up. To my dismay in VSCode it made me lose all my edits.

@alexandrudima how would I be able to move an existing undo/redo buffer to a new model? I already have the view state that I can preserve and put to the new resource, it seems to me the undo/redo buffer is similar.
Probably related to https://github.com/Microsoft/vscode/issues/7536

@bpasero Aha, I didn't realize we create a new model when using Save As. Presumably we create a new model because the uri of the model has changed?
Perhaps we could have a way to rename a model.

@alexandrudima yes, it ends up being an entire new model. I actually have a very similar problem when you save an untitled file, because then the scheme changes from untitled:// to file:// and I have to carry over all UI state to the new model.
Maybe instead of rename we could have a clone method where I can give a new URI and all state is cloned? It could be that someone is holding a reference to the original model and wants to keep that. In the end "Save As..." is not actually deleting the original file on disk, just creating a new one.

:+1:  Cloning is better than renaming, no piece of code is prepared for a model to get a different uri all of a sudden.
But not all model state is ok to clone:

undo/redo buffer is probably safe to clone (the only weirdness being that the model needs to begin with the same version id as the cloned model and not with a version id of 1, since the undo/redo manager holds on to some version ids.)
tokenization state is probably also safe to clone, but not that important.
probably not a good idea to clone decorations/markers.

I think in the end, only the undo/redo state needs to be cloned. We have another issue tracking the same thing, but that one would include serialization as well.

@alexandrudima yeah so I am fine closing this in favour of the other if you want.

An alternative solution would be to just leave the original file open along with its undo history, or don't even open the newly saved file. Other editors do not open the new file when "saved as", and I think that may be one way people develop this workflow.

Don't the implications of lost work warrant a higher priority for this issue? I take it that's why #7169 received the important label back in 2016, although it's also now sitting on the backlog.

I noticed this today when I renamed a file in the explorer and the undo buffer was lost. Just in case, I tried renaming it back to what it had been and was able to undo again. Based on the previous discussion this makes sense as it will be using the model for the original URI again. I doubt this adds any insights for the developers, but it might be useful for a user who comes across this issue.

@alexdima given the work that went into IUndoRedoService in the past months, especially the support for triggering undo/redo even after a model was disposed and reopened again, I wonder if this makes it any easier to preserve the undo/redo stack when saving the untitled file to disk.
Specifically these methods seems interesting:
https://github.com/microsoft/vscode/blob/ee1655a82ebdfd38bf8792088a6602c69f7bbd94/src/vs/platform/undoRedo/common/undoRedo.ts#L156-L163
Is it possible for me to capture the undo/redo stack right before saving the untitled file and then somehow restore the stack on the target resource? This would properly require the restoreSnapshot method to optionally accept the URI it is responsible for.

:+1: We are definitely not too far from supporting this, but there is still some work that needs to be done to correctly "transplant" SingleModelEditStackElement and MultiModelEditStackElement to a different URI and then seed that in the IUndoRedoService.
The methods createSnapshot/restoreSnapshot are not suitable for this, createSnapshot simply records ids associated with IUndoRedoStackElements and then restoreSnapshot discards extra stack elements.


Create biscuit-salami.md

Just as a side note, I think the translated name of the dish is confusing, it doesn't sound like a dessert

Just as a side note, I think the translated name of the dish is confusing, it doesn't sound like a dessert

Just as a side note, I think the translated name of the dish is confusing, it doesn't sound like a dessert

Just changed the title!

Just as a side note, I think the translated name of the dish is confusing, it doesn't sound like a dessert

Just changed the title!


Maven repository publishing

By now every module is published (see http://mvnrepository.com/artifact/org.camunda.bpm.extension). Shouldn't only the starter artifacts (camunda-bpm-spring-boot-starter,camunda-bpm-spring-boot-starter-rest,camunda-bpm-spring-boot-starter-webapp) be published?

I don't think we can split this if we are using a common root pom for extension an examples. What I did for an other community extension is to give the example-tree a different groupId: "org.camunda.bpm.extension.example". This way, they still get published, but they do not mess up the mvn repo view because they are positioned one layer deeper than the prod code.

I tried several approaches but there seems to be a problem with the maven release plugin not honoring the skip deployment for some modules. So I resorted to just rename them like @jangalinski did for one of his projects.


¿use it in production?

This is NOT a BUG.
Please put the label that you consider best.
Question:

It is "still" safe to use react-native-fast-image in production with a react-native typescript project ?

Any common problems on IOS/Android ?

People are using it in production.
This library is not particularly large or complex.
The most common "issues" people have is that they want more control over the native libraries this integrates (Glide and SDWebImage), or just more features generally.


Cbind for compute_function_tree_root

Description
Cbind for compute_function_tree_root
Checklist:

[x] I have reviewed my diff in github, line by line.
[x] Every change is related to the PR description.
[x] I have linked this pull request to the issue(s) that it resolves.
[x] There are no unexpected formatting changes, superfluous debug logs, or commented-out code.
[x] There are no circuit changes, OR specifications in /specs have been updated.
[x] There are no circuit changes, OR a cryptographer has been assigned for review.
[x] I've updated any terraform that needs updating (e.g. environment variables) for deployment.
[ ] The branch has been rebased against the head of its merge target.
[x] I'm happy for the PR to be merged at the reviewer's next convenience.
[x] New functions, classes, etc. have been documented according to the doxygen comment format. Classes and structs must have @brief describing the intended functionality.
[x] If existing code has been modified, such documentation has been added or updated.

Note
If you are updating the submodule, please make sure you do it in its own special PR and avoid making changes to the submodule as a part of other PRs.
To update a submodule, you can run the following commands:
$ git submodule update --recursive

Alternatively, you can select a particular commit in barretenberg/aztec3 that you wish to point to:
$ cd barretenberg
$ git pull origin aztec3        # This will point to the latest commit in `barretenberg/aztec3`
$ git checkout <commit_hash>    # Use this if you wish to point to a particular commit.
$ cd ..
$ git add . && git commit -m <commit_msg>
$ git push

Looks good to me (just added a very minor comment). Also, nice documentation of the new function.

"@suyash67:
Status: I’ve reviewed it and looks good to me.
Quick comment: Would it be better if we could templatize TREE_SIZE and LeafPreimage instead of having different compute_<TREE_NAME>_tree_root implementations performing the same logic?"

Done here: https://github.com/AztecProtocol/aztec3-circuits/pull/65/commits/c27e4665add84841d65fbf2aad824427091c5c70


Fix ng-templates rendered as render props not updating when internal bindings change

@omermizr This should fix the issue we've been investigating. I've published it as 0.4.6-preview4 (both @angular-react/core and @angular-react/fabric), so we can test this on Sunday.


MudNumericField OnBlur loose data when use Format="#0.00 %"

Bug type
Component
Component name
MudNumericField
What happened?
If you use MudNumericField with Format = "#0.00 %" parameter, you enter the field and then exist the field, the value is lost.
Expected behavior
MudNumericField should display value with the right formatting, and not lose value when exist the field
Reproduction link
https://try.mudblazor.com/snippet/caQwEcaHxWoAvSvx
Reproduction steps
1.Run
2.Enter the field
3.Exist the field
4.The value is empty
Relevant log output
No response
Version (bug)
6.0.5
Version (working)
No response
What browsers are you seeing the problem on?
Firefox, Chrome
On what operating system are you experiencing the issue?
Windows
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

With Format="p2" is it the same.


IAuthorizationService somehow incomplete

I think the actual definition of IAuthorizationService is somehow incomplete, since the AuthorizeAsync method handles properly just  in-memory resources. More specifially, if the resource has already been loaded in memory from a DB it may give an answer to all needed authorization queries, but what if one would like to load and page from a DB  just all resources the current user has the permission to read?
An in-memory test would be inadequate, since it would force loading uneusefull resources in memory(also the ones the user can't read), and would interfere with a LinQ skip/take paging.
Accordingly, the developer would be forced to spread authorization rules all over the DB queries instead of encapsulating them only into IAuthorizationHandler implementations! In other word with the actual implementation the user is forced to break IAuthorizationHandler  encapsulation, loosing most of modularity-related advantages of the IAuthorizationService/IAuthorizationHandler  framework.
The problem I sketched shortly might be solved by adding a new method to IAuthorizationService , say something like:
Expression<Func<T, bool>> AuthorizePredicate<T>(ClaimsPrincipal user, IEnumerable<IAuthorizationRequirement> requirements)
That would return a LinQ predicate the developer may insert in a LinQ Where to filter out all not authorized resources. Clearly, also the IAuthorizationHandler should be enriched properly to give the devolper the possibility to define all needed predicates. The predicate returned by AuthorizePredicate should be the "logical or" of all predicated provided in all relevant IAuthorizationHandlers.

Why did you file this on the docs repository instead of https://github.com/aspnet/Security?

@davidfowl , My error! Sorry I'll move it.


ERR_HTTP2_PROTOCOL_ERROR on redirect with TLS

On Cowboy 2.8.0, I am seeing a problem with redirect when HTTP2 is enabled on the browser and using TLS.
On Chrome 86, I get a ERR_HTTP2_PROTOCOL_ERROR. I get a generic failure on firefox.
Here's a basic code that reproduce the issue:
init(Req, State) ->
	Reply = cowboy_req:reply( 307, #{<<"Location">> => <<"https://github.com/">>}, <<>>, Req),
	{ok, Reply, State}.

If I disable http2 on Firefox, I don't see the issue anymore. If I don't use cowboy tls, I don't see the issue either.
I would appreciate any insight you might have on this issue. Thanks.

Does it do the same with reply/3?

Oh, probably because you have an uppercase L in the header name. Header names must be lowercase.

Oh !!! You are right. Weird that it was probably redirecting with http. Thanks.

Header names are only required to be lowercase in HTTP/2. Browsers don't use HTTP/2 over plain TCP. Mystery solved!


Great job！！！

Drawing the user interface is not the main content of my work. I used datgui before.
But datgui is too old and really needs to be updated.
I noticed that you updated the color component and an unavailable feature（disable()）. That's what I need.

Thanks for the kind words and glad it's of use!


More finetuned weights

Can you share other finetuned weights? Like the models trained on ABC without D. Thanks!

Ok, will done in a week.

Uploaded to HF.


Split DNS doesn't work on MacOS 12

With Firezone enabled:
❯ dig firezone.dev AAAA

; <<>> DiG 9.10.6 <<>> firezone.dev AAAA
;; global options: +cmd
;; connection timed out; no servers could be reached

❯ dscacheutil -q host -a name firezone.dev
# hangs with no response

❯ scutil -W -r firezone.dev
 0: direct
   <SCNetworkReachability 0x121e045d0 [0x1fcc58000]> {name = firezone.dev}
Reachable

 1: start
   <SCNetworkReachability 0x121f04080 [0x1fcc58000]> {name = firezone.dev}

 2: on runloop
   <SCNetworkReachability 0x121f04080 [0x1fcc58000]> {name = firezone.dev (DNS query active), flags = 0x00000002, if_index = 14}
Reachable

dns-sd -G v4v6 firezone.dev
DATE: ---Tue 07 Nov 2023---
19:11:08.253  ...STARTING...
# then it hangs

With Firezone disabled:
❯ dig firezone.dev AAAA

; <<>> DiG 9.10.6 <<>> firezone.dev AAAA
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64682
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;firezone.dev.			IN	AAAA

;; AUTHORITY SECTION:
firezone.dev.		300	IN	SOA	ns-cloud-e1.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 259200 300

;; Query time: 143 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>)
;; WHEN: Tue Nov 07 19:07:06 CST 2023
;; MSG SIZE  rcvd: 134

❯ dscacheutil -q host -a name firezone.dev
name: firezone.dev
ip_address: <IP_ADDRESS>

❯ scutil -W -r firezone.dev
 0: direct
   <SCNetworkReachability 0x134e045d0 [0x1fcc58000]> {name = firezone.dev}
Reachable

 1: start
   <SCNetworkReachability 0x134f04080 [0x1fcc58000]> {name = firezone.dev}

 2: on runloop
   <SCNetworkReachability 0x134f04080 [0x1fcc58000]> {name = firezone.dev (DNS query active), flags = 0x00000002, if_index = 14}
Reachable

*** 19:08:47.682

 3: callback w/flags=0x00000002 (info="by name")
    <SCNetworkReachability 0x134f04080 [0x1fcc58000]> {name = firezone.dev (complete, <IP_ADDRESS>), flags = 0x00000002, if_index = 14}
Reachable

❯ dns-sd -G v4v6 firezone.dev

DATE: ---Tue 07 Nov 2023---
19:09:13.803  ...STARTING...
Timestamp     A/R    Flags if Hostname                               Address                                      TTL
19:09:13.804  Add 40000003  0 firezone.dev.                          0000:0000:0000:0000:0000:0000:0000:0000%<0>  377   No Such Record
19:09:13.804  Add 40000002  0 firezone.dev.                          <IP_ADDRESS>                                  4502

My DNS settings:

If I, while Firezone is active, go to DNS settings and change the DNS servers it starts to work. (I think Firezone doesn't notice the DNS changes, it can be a bug too?)
Then if Firezone is restarted (when DNS servers are reset to default) - the issue reappears.

❯ scutil --dns
DNS configuration

resolver #1
  search domain[0] : <IP_ADDRESS>:80
  search domain[1] : ifconfig.net
  search domain[2] : localhost
  search domain[3] : metabase.fz:3000
  search domain[4] : youtube.com
  nameserver[0] : <IP_ADDRESS>
  flags    : Request A records
  reach    : 0x00000002 (Reachable)

resolver #2
  domain   : <IP_ADDRESS>:80
  nameserver[0] : <IP_ADDRESS>
  if_index : 26 (utun7)
  flags    : Supplemental, Request A records, Request AAAA records
  reach    : 0x00000003 (Reachable,Transient Connection)
  order    : 102200

resolver #3
  domain   : youtube.com
  nameserver[0] : <IP_ADDRESS>
  if_index : 26 (utun7)
  flags    : Supplemental, Request A records, Request AAAA records
  reach    : 0x00000003 (Reachable,Transient Connection)
  order    : 102204

resolver #4
  domain   : metabase.fz:3000
  nameserver[0] : <IP_ADDRESS>
  if_index : 26 (utun7)
  flags    : Supplemental, Request A records, Request AAAA records
  reach    : 0x00000003 (Reachable,Transient Connection)
  order    : 102203

resolver #5
  domain   : local
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300000

resolver #6
  domain   : localhost
  nameserver[0] : <IP_ADDRESS>
  if_index : 26 (utun7)
  flags    : Supplemental, Request A records, Request AAAA records
  reach    : 0x00000003 (Reachable,Transient Connection)
  order    : 102202

resolver #7
  domain   : ifconfig.net
  nameserver[0] : <IP_ADDRESS>
  if_index : 26 (utun7)
  flags    : Supplemental, Request A records, Request AAAA records
  reach    : 0x00000003 (Reachable,Transient Connection)
  order    : 102201

resolver #8
  domain   : 254.169.in-addr.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300200

resolver #9
  domain   : 8.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300400

resolver #10
  domain   : 9.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300600

resolver #11
  domain   : a.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 300800

resolver #12
  domain   : b.e.f.ip6.arpa
  options  : mdns
  timeout  : 5
  flags    : Request A records
  reach    : 0x00000000 (Not Reachable)
  order    : 301000

DNS configuration (for scoped queries)

resolver #1
  nameserver[0] : <IP_ADDRESS>
  if_index : 14 (en0)
  flags    : Scoped, Request A records
  reach    : 0x00000002 (Reachable)

resolver #2
  nameserver[0] : <IP_ADDRESS>
  if_index : 26 (utun7)
  flags    : Scoped, Request A records, Request AAAA records
  reach    : 0x00000003 (Reachable,Transient Connection)

@roop Any thoughts here? #2309 might make it easier to test things like this in GitHub CI.

Closing due to #2660

@jamilbk it's not matching in my case, no DNS works at all, and from logs above it looks like DNS server is not replying at all

I was having issues on macOS 13. Update from @conectado that this may have been due to a bug in the DNS interception system.

The tunnel works but DNS doesn't:
❯ dig google.com A

; <<>> DiG 9.10.6 <<>> google.com A
;; global options: +cmd
;; connection timed out; no servers could be reached

❯ dig google.com A

; <<>> DiG 9.10.6 <<>> google.com A
;; global options: +cmd
;; connection timed out; no servers could be reached

❯ ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=52 time=196.608 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=52 time=150.134 ms
64 bytes from <IP_ADDRESS>: icmp_seq=4 ttl=52 time=135.462 ms
64 bytes from <IP_ADDRESS>: icmp_seq=5 ttl=52 time=93.592 ms
^C
--- <IP_ADDRESS> ping statistics ---
6 packets transmitted, 4 packets received, 33.3% packet loss
round-trip min/avg/max/stddev = 93.592/143.949/196.608/36.807 ms

❯ ping <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>): 56 data bytes
Request timeout for icmp_seq 0
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=62 time=119.277 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=62 time=140.421 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=62 time=74.674 ms
64 bytes from <IP_ADDRESS>: icmp_seq=4 ttl=62 time=82.306 ms
^C
--- <IP_ADDRESS> ping statistics ---
5 packets transmitted, 4 packets received, 20.0% packet loss
round-trip min/avg/max/stddev = 74.674/104.169/140.421/26.881 ms

Logs:
firezone_logs_2023-12-15T175550Z.zip

We aren't supporting macOS 12 for now


addFolder issue

Hi, is there an option to include empty folders in archive. I'm trying to create backup archive for my folders, but empty folders are missing in created zip file.

I just tried to add a folder which contains empty folders inside it, and it had the empty folders in the generated zip file. And even the empty folder was created when extracting the same zip file again with zip4j. It could be that the tool which shows/extracts the zip file in your case, ignore empty directories. Can you attach a sample zip file generated by zip4j which was supposed to have empty folders in it?

Hi, I'm using ubuntu 18.04, oracle java 8 version  1.8.0_241.
The folder I'm trying to archive contains empty folders (no files, just other empty folders).
This is a list of folder :

and this is a screenshot of the zip archive:

library version is 2.5.0
here is my code:
   public Path createArchiveZip4j(Path sourceDir, Path zipDestinationDir, String sessionUid) throws InternalErrorException {

   	Path zipPath = zipDestinationDir.resolve(sessionUid + ".zip");
   	try {

   		ZipParameters parameters = new ZipParameters();
   		parameters.setCompressionMethod(CompressionMethod.DEFLATE);
   		parameters.setCompressionLevel(CompressionLevel.NORMAL);
   		parameters.setIncludeRootFolder(false);

   		net.lingala.zip4j.ZipFile zipFile = new net.lingala.zip4j.ZipFile(zipPath.toFile());

   		// Add a folder to the zip file
   		zipFile.addFolder(sourceDir.toFile(), parameters);
   	} catch (ZipException e) {
   		log.error(ERROR_CREATING_ARCHIVE);
   		throw new InternalErrorException(ERROR_CREATING_ARCHIVE, e);
   	}
   	return zipPath;
   }

If I understand the issue right from the screenshot, zip4j missed to add some directories, for example "matrices", "sdfsdfsd", etc, right? Does these directories have any content inside them like other directories or files? Was the zip file already existing before your code executed?
I was still not able to reproduce this with a similar directory structure as you. My guess is that the files api is not returning the directories that in the end zip4j missed to add. Can you please set a breakpoint at AddFilesToZipTask.getFilesToAdd() line 66 as shown in the image below, and let me know if you see the directories that are missed in the zip created by zip4j? Maybe you can also post a screenshot?

From the previous example, folder matrices contain only empty folders.
Zip file didn't exist before the execution of the program.
This is a list of the folder to archive :
(folders starting with folder_with_files contain files, folder starting with folder_without_files contain only other folders and no files)
temp/zip_test/to_archive/
└── test
    ├── folder_with_files_01
    │   ├── 981850.jpg
    │   └── folder_with_files_01_01
    │       └── download.png
    ├── folder_with_files_02
    │   └── Neon.jpg
    ├── folder_without_files_01
    │   └── folder_without_files_01_01
    └── folder_without_files_02

Here's complete code for example:
import lombok.extern.slf4j.Slf4j;
import net.lingala.zip4j.model.ZipParameters;
import net.lingala.zip4j.model.enums.CompressionLevel;
import net.lingala.zip4j.model.enums.CompressionMethod;

import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.UUID;

@Slf4j
public class ZipTest {

	private static final String ERROR_CREATING_ARCHIVE = "Error creating archive !";

	public static void main(String[] args) {

		Path sourceDir      = Paths.get("/home/bane/temp/zip_test/to_archive");
		Path destinationDir = Paths.get("/home/bane/temp/zip_test/archive");

		String sessionUuid = UUID.randomUUID().toString();

		ZipTest test = new ZipTest();
		try {
			Path zipFile = test.createArchiveZip4j(sourceDir, destinationDir, sessionUuid);
			log.debug(zipFile.toString());
		} catch (Exception e) {
			log.error(ERROR_CREATING_ARCHIVE, e);
		}
	}

	public Path createArchiveZip4j(Path sourceDir, Path zipDestinationDir, String sessionUid) throws Exception {

		Path zipPath = zipDestinationDir.resolve(sessionUid + ".zip");
		try {

			ZipParameters parameters = new ZipParameters();
			parameters.setCompressionMethod(CompressionMethod.DEFLATE);
			parameters.setCompressionLevel(CompressionLevel.NORMAL);
			parameters.setIncludeRootFolder(false);

			net.lingala.zip4j.ZipFile zipFile = new net.lingala.zip4j.ZipFile(zipPath.toFile());

			// Add a folder to the zip file
			zipFile.addFolder(sourceDir.toFile(), parameters);
		} catch (Exception e) {
			log.error(ERROR_CREATING_ARCHIVE, e);
			throw new Exception(ERROR_CREATING_ARCHIVE);
		}
		return zipPath;
	}
}

This is the list of files from the brake point:
filesToAdd = {java.util.ArrayList@867}  size = 10
 0 = {java.io.File@876} "/home/bane/temp/zip_test/to_archive/test"
 1 = {java.io.File@877} "/home/bane/temp/zip_test/to_archive/test/folder_without_files_02"
 2 = {java.io.File@878} "/home/bane/temp/zip_test/to_archive/test/folder_without_files_01"
 3 = {java.io.File@879} "/home/bane/temp/zip_test/to_archive/test/folder_without_files_01/folder_without_files_01_01"
 4 = {java.io.File@880} "/home/bane/temp/zip_test/to_archive/test/folder_with_files_01"
 5 = {java.io.File@881} "/home/bane/temp/zip_test/to_archive/test/folder_with_files_01/981850.jpg"
 6 = {java.io.File@882} "/home/bane/temp/zip_test/to_archive/test/folder_with_files_01/folder_with_files_01_01"
 7 = {java.io.File@883} "/home/bane/temp/zip_test/to_archive/test/folder_with_files_01/folder_with_files_01_01/download.png"
 8 = {java.io.File@884} "/home/bane/temp/zip_test/to_archive/test/folder_with_files_02"
 9 = {java.io.File@885} "/home/bane/temp/zip_test/to_archive/test/folder_with_files_02/Neon.jpg"

this is archive created by OS ( nautilus -> compress)
test.zip
and this is an archive created by the example program
ec84b720-c207-49f4-9e6e-9e9c0e066381.zip

The zip file generated by zip4j ec84b720-c207-49f4-9e6e-9e9c0e066381.zip has the empty directories in it. Screenshot below shows the files inside the zip file when zip4j reads your zip file:

This is the content after zip4j extracted that zip file. As you can see there were empty directories also extracted.

Maybe the tool which you use to extract does not extract empty directories from a zip. Or maybe if you are just viewing the zip file, the tool does not show empty directories in its view.

Hi,
this is what I see in the Ubuntu archive manager:

Also, I received a complaint from windows users that they cannot see empty folders in Windows Explorer (compressed folder).
I will check this on windows

When you extract it with zip4j, are the empty directories extracted?

And also, with the zip file generated by native OS tool, can you see those empty directories in Ubuntu archive manager?

Hi, when I extract the archive, all folders are there, I'll check how it behaves on windows and let you know.

Can you also answer this question please:

And also, with the zip file generated by native OS tool, can you see those empty directories in Ubuntu archive manager?

When I create an archive with a native OS tool (for ubuntu Linux 18.04: nautilus -> compress ), I can see empty folders in the archive.

I have generated three test files for testing. Can you please post me the screenshots if the Ubuntu Archive manager is showing empty folders for any of these zip file?
file_only_second_header.zip
file_only_first_header.zip
file_with_both_headers.zip

here are screenshots:

Can you please check again with this file if it shows empty folders?
test.zip

Now, archive manager shows empty folders :D

This one was created by Keka, and not by zip4j. There are not too many differences between the one created by zip4j and by Keka or ubuntu tool. Not sure why Archive manager decides to skip the ones created by zip4j. Looking into it. It might be that I will send you a few more files to check.

Can you check these 3 zip files again please?
fileWithoutUtf8AndWithVersionMadeBy.zip
filewithversionmadeby.zip
filewithoututf8.zip

here are screenshot

I think now I figured out the issue. But I am quite surprised that the archive manager is behaving this way. Basically, zip4j uses utf8 as default charset. Archive manager seems to ignore the directories which are marked as utf8. Strangely it shows files which are utf8, but seems to ignore only the directories if they are utf8.
Do you have utf8 charset support on your os? And also can you please post the screenshot for one more zip file attached below?
test.zip

UTF-8 is default character encoding on my OS

This is a really strange behaviour by Archive Manager. This seems to be a bug in their tool. Zip specification allows using Cp-437 and utf-8 as standard charsets. And zip4j uses utf-8 as its default charset. Apparently, archive manager on Ubuntu seems to ignore directories which use utf-8 encoding but file names does not contain any non-ascii character. This is totally not against the zip specification, and utf-8 encoding can be used as long as the appropriate flag is set, which zip4j sets in this case. One way for zip4j would have been to use cp-437 by default and use utf-8 only when needed (in case of non-ascii characters), but  I do not want to change the default behaviour of zip4j now for this bug in Archive manager, especially when such behaviour is not against zip specification. And moreover, the files and folders in the zip are properly extracted, and other tools do not have any problem with viewing and extracting, I will have to mark this as "not-an-issue".

Thank You for Your time and effort.
I will close this issue.


Does not display query if exception is thrown

First of all, great package, thanks !
I noticed a problem though.
if an error is caught like so:
catch ( QueryException $e) {
$mssg = "An account with these details already exists";
return response()->json(["error_list" => compact('mssg')]);
}
the sql key inside debug is blank.
any way to fix this ?

Thanks for info, never encountered such bug. Let me debug a bit and I'll let you know

@harveyslash sorry for the delay. Can you show me the whole code example?

I'm having almost the same issue, but in my case I don't catch the error, I throw exceptions and want the code to strop there, so I don't need to return this exception, but the debug obj don't return with the exception
$json_response = response()->json($response, $this->getStatusCode(), $headers);
throw new HttpResponseException($json_response);


feat(make): allows overwriting CONTAINER_ vars

With this change you can call CONTAINER_BUILDER=docker make build or rely on your .env file instead of editing Makefile by hand.

/ok-to-test

/hold
Not sure if this impact the stability of the release, but we just hit feature freeze.
We should look to get this in next sprint @lucferbux
Also removing the wip label - I think that was just used like a hold.

/hold Not sure if this impact the stability of the release, but we just hit feature freeze.
We should look to get this in next sprint @lucferbux
Also removing the wip label - I think that was just used like a hold.

@bartoszmajsak any update on this? If you don't feel confident enought to update the docs, we can get this merged and I can do a follow up updating the CONTRIBUTING guidelines.
Thanks in advance!

I'm back from pto next week, will ping you @lucferbux

I'm back from pto next week, will ping you @lucferbux

Hi @bartoszmajsak, happy new year!!
Could you rebase this and update the docs, once that's done we can merge this. Thanks in advance!

@lucferbux ah this long forgotten little PR of mine. Thanks for keeping me pinged :)
Happy New Year 🎊 I'm back in action tomorrow so I'll put it on top of my queue as a warmup.

@lucferbux ah this long forgotten little PR of mine. Thanks for keeping me pinged :)
Happy New Year 🎊 I'm back in action tomorrow so I'll put it on top of my queue as a warmup.

Great thanks a lot and enjoy your PTO!

@lucferbux it's rebased and I added a note in the CONTRIBUTING.md. I hope now it's good enough.

@lucferbux it's rebased and I added a note in the CONTRIBUTING.md. I hope now it's good enough.

Great, thanks a lot, this is just perfect!!


Feature: Display multiple tags in the tags column

We recently added support for applying multiple tags to the same file. The problem is that this isn't properly reflected in the details layout
Requirements
Use ItemsRepeater or similar control to display multiple tags in the column.

There's an issue involving #11216. Tags column should have a margin on the right

Can you open a PR?

I'll fix this

I think this can be closed


♻ Strip empty whitespace from description extracted from docstrings

What I want to achieve is to receive a clearer description field in auto-generated OpenAPI docs. For example, for this endpoint:
@app.get("/example")
async def example():
    """Example endpoint to test auto-generated OpenAPI docs.

    Well, it's just a dumb endpoint without any logic inside.

    \f

    :return: empty dict
    """
    return {}

I would like to get not these docs:
  /example:
    get:
      description: 'Example endpoint to test auto-generated OpenAPI docs.

        Well, it''s just a dumb endpoint without any logic inside.

        '
      operationId: example_example_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      summary: Example

But these (without trailing spacing characters):
  /example:
    get:
      description: 'Example endpoint to test auto-generated OpenAPI docs.

        Well, it''s just a dumb endpoint without any logic inside.'
      operationId: example_example_get
      responses:
        '200':
          content:
            application/json:
              schema: {}
          description: Successful Response
      summary: Example

I know that it doesn't make any difference in Swagger UI but anyway, why storing redundant characters? 😅

Yep, this looks fine. Thanks for your contribution! :cake:


Document kubectl explain and new commands in kubectl overview

Even some long-time Kubernetes users didn't know kubectl explain existed, and we've had it for a year. It isn't in the overview:
https://github.com/kubernetes/kubernetes.github.io/blob/master/docs/user-guide/kubectl-overview.md
nor in the cheatsheet:
https://github.com/kubernetes/kubernetes.github.io/blob/master/docs/user-guide/kubectl-cheatsheet.md
It is in the autogenerated pages, but that requires expanding 2 collapsed lists to find.

@bgrant0607 going to be working on cheat sheet a bunch

PR https://github.com/kubernetes/kubernetes.github.io/pull/1486 updates the cheat sheet.
PR https://github.com/kubernetes/kubernetes.github.io/pull/1479 updates kubectl overview.

Looks like those PRs are merged and both of those pages cover 'explain'