Refactor to use js classes

Plain JavaScript with objects done according to spec from curriculum-javascript/books/m2_plain_js_classes.md
Preview:

"NOTE: To test the project, clone the project locally and open it in a live server, as some online source code hosting services like GitHack may result in some issues that the student wouldn’t even be aware of"

https://htmlpreview.github.io/?https://github.com/yghoor/awesome-books/blob/refactor-to-use-js-classes/index.html

Requested changes made


Caps lock indicator light does not work during stage 1 boot

During stage 1 of booting, caps lock itself is fine, but the indicator light on my USB keyboard stays off, always.
This appears to be a known issue in Debian; see Stack Exchange and the Debian bug. NixOS is using Debian's git repository for console-setup; see pkgs/tools/X11/ckbcomp/default.nix. So, I think we've inherited this bug, except that later boot stages fix it.
If you're wondering, this is an inconvenience when typing my LUKS password; I can't accurately type a 60-character mixed-case password without visual feedback using the shift key, so I've gotten in the habit of using caps lock. That's harder now, since I have to carefully track its state mentally instead of relying on the indicator.
This worked until a couple months ago, and I only just decided it was worth filing an issue.

pkgs/tools/X11/ckbcomp/default.nix isn't used in stage-1 in any way - this is probably either kernel or udev regression.

I would hope Debian people solve it, having much more resources than us, but the bug thread has been idle for about half a year...

(triage) still an issue?
Also, there is workaround proposed in the debian bug:

Samuel Thibault, le Thu 11 Jun 2015 16:28:03 +0200, a écrit :

Samuel Thibault, le Thu 11 Jun 2015 10:08:09 +0200, a écrit :

Putting
SUBSYSTEM=="leds", ENV{DEVPATH}=="*/input*::capslock", ATTR{trigger}="kbd-ctrlllock"
in /etc/udev/rules.d/50-leds.rules seems to be doing the work.

Except that it makes my system unbootable. For whatever reason, systemd
indefinitely waits for the network to become available...

ACTION=="add", SUBSYSTEM=="leds", ENV{DEVPATH}=="*/input*::capslock", ATTR{trigger}="kbd-ctrlllock"

works, however :)

Samuel

Has anyone tested it?

I'll try it again at some point within the next few weeks.

The issue still exists in unstable as of ... whenever I last updated it, which was no more than two or three weeks ago. (The reboot I tested it with wasn't a planned one or I'd have updated first. :))
I have now added the following to my config, and will report back after my next reboot as to whether it worked. This should be in a week or two.
  services.udev.extraRules = ''
    ACTION=="add", SUBSYSTEM=="leds", ENV{DEVPATH}=="*/input*::capslock", ATTR{trigger}="kbd-ctrlllock"
  '';

@IreneKnapp do you have any updates?

I have now tested the above config lines. They did not help.

I am not surprised that udev rules do not help in stage 1 boot with an encrypted root partition.
To made this work kbd-ctrlllock would have to be included in initramfs.

When I get the chance I'll try to figure out where the stage 1 keyboard config is actually coming from. :)

Update: This is resolved with boot.initrd.availableKernelModules = [ "input_leds" ];
In the event that anyone on the planet except me cared, you're welcome. :)

Actually, I'm going to reopen this so that I can have it as a reminder to send a patch. No reason not to have that module added when LUKS is used...


Add missing Distributions methods for KeyedMixtureModel

Distributions.ncomponents and Distributions.probs are missing.  This MR adds them.

I don't have merge rights, could someone give me a hand?


Support for StorageFile while downloading from S3 UWP

Hi, This is a continuation from this thread. I am working with the AWSSDK.S3 3.5.0 Preview and UWP.
What I am trying to do:
Download a file from S3 to the App LocalData folder using a UWP application.
Preface:
In UWP we don't have access to any directory via a File Path, moreover we have a StorageFile or StorageFolder Instance to work with for dealing with files and folders respectively. Now as soon as we do a storageFolder.Path we loose all access/permissions to the actual folder.

The problem is that you are throwing away the picked StorageFile's permission by converting it to a path. ~ MSDN Source

And the only way of interacting via the FileSystem is using StorageFile / StorageFolder read more: Skip the paths and File Access Permissions
What problem I am facing:
The GetObjectResponse.WriteResponseStreamToFileAsync() accepts only String` as a filePath but lacks overrides for StorageFiles / StorageFolders.
Is there any way I can get this to work?
Code that I am using to access and store the file:
var request = new GetObjectRequest
{
	BucketName = Constants.S3BucketName,
	Key = Constants.BackboneFileName
};

using (var response = await _client.GetObjectAsync(request))
using (var responseStream = response.ResponseStream)
using (var reader = new StreamReader(responseStream))
{

	response.WriteObjectProgressEvent += Response_WriteObjectProgressEvent;
	Windows.Storage.StorageFolder localFolder = Windows.Storage.ApplicationData.Current.LocalFolder;
	await response.WriteResponseStreamToFileAsync(localFolder.Path, false, new CancellationToken());
}

Thanks for the follow-up clarification.  I'm labeling this as a feature request for now to have overrides for the StorageFiles, but I think it's unlikely that we will have plans in the near future to implement it given our move away from platform-specific code.  You can still write to the Windows StorageFiles if you write the streaming logic on your own.  The GetObjectResponse is a StreamingResponse, which means that you can access response.ResponseStream.  Using that property, you should be able to write to any file as you normally would.  If you want the additional functionality that our WriteResponseStreamToFileAsync methods provide, it probably wouldn't be too bad to copy the logic and write your own overrides for the StorageFiles.

@klaytaybai thanks for the insights. Yes I did kinda anticipate your response on the topic as I was writing the question but posted it because there isn't anything available online regarding this and at least others who look into a similar topic would come across this thread and save some time at the very least. That being said I did start implementing my own using the Stream from the S3 response. I'll see if I can get an example with download progress up and running so as to share it with others facing the same issue.

@klaytaybai can you please point me to the code in the SDK where the file downloading mechanism is written? I can't seem to find it

localFolder is not a file
await response.WriteResponseStreamToFileAsync(localFolder.Path

@Mogikan yes I did go online and try to use a filepath instead, it didn't work either. It throws AccessDeniedException


How to run !

Hello , I wonder how I can run this project for my own dataset  ?

I am also curious.

so do i


fix: add condition to check when both flags are applied

Summary
Add the logic to check if --apply and --ignore are provided via CLI at the same time and fix the failing test.
Description

Add helper method wasOptionPassed
Update tests

Related Issues
Parent #63
Fixes #193
Type of Change

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

Screenshots (if applicable)

Finally this is ready to be reviewed again @rrd108
I fix the validation to error out when any combination of apply/ignore is present (from CLI and/or config file)


Updates + addition of JWT

Add validator for SignedJWT, update existing HMAC filters for WebSocket handshake
Signed-off-by: Erin Schnabel<EMAIL_ADDRESS>

This change is

Reviewed 9 of 9 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Upgrade ibc to v5 (#1008)

Description
This upgrades IBCv2 -> IBCv5 following the currently published migration steps.
IBCv2 -> IBCv3: This includes ICS-27. I updated Provenance to use interchain accounts (ICA), and to initialize only the host portion of it. I do not add controller support because we have not implemented an IBC auth module to control an ICA on another chain.
IBCv3 -> IBCv4: We used IBCv2.3 and do not need to include the fix for slash denoms. This was already included in 2.3.
IBCv4 -> IBCv5: This is currently in beta, and migration steps may need to change in the future.
Note: An issue will need to be created to discuss the supported host messages. Another issue will need to be created for controller support.
closes: #1008

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against correct branch (see CONTRIBUTING.md)
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Wrote unit and integration tests
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
[ ] Added relevant godoc comments.
[ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Review Codecov Report in the comment section below once CI passes

Yes, this was ran with your test scripts. Here is the output of the migration
3:11PM INF applying upgrade "neoncarrot-rc1" at height: 500
3:11PM INF Initializing ICA
3:11PM INF created new capability module=ibc name=ports/icahost
3:11PM INF port binded module=x/ibc/port port=icahost
3:11PM INF claimed capability capability=2 module=icahost name=ports/icahost
3:11PM INF Finished initializing ICA

I also verified that I was able to interact with the ica module, and I checked to see if the host params were updated.

Looks like some of my changes from another branch got merged in here by mistake Sorting through the issues now.


CVE-2016-8610: SSL-Death-Alert vulnerability in TLS

What version of Go are you using (go version)?
1.9.1
Does this issue reproduce with the latest release?
I don't know how to reproduce this issue.
What operating system and processor architecture are you using (go env)?
set GOARCH=amd64
set GOBIN=
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\Users\jinzhao\go
set GORACE=
set GOROOT=C:\Go
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0 -fdebug-prefix-map=C:\Users\jinzhao\AppData\Local\Temp\go-build649610695=/tmp/go-build -gno-record-gcc-switches
set CXX=g++
set CGO_ENABLED=1
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
What did you do?
My clients scanned their server which running reverse proxy written in go by third party security organization. They got the SSL-Death-Alert vulnerability CVE-2016-8610. This is the detail: https://security.360.cn/cve/CVE-2016-8610 .
I hope this vulnerability can be fixed. Now I use other reverse proxy to replace my own implementation.

@agl @FiloSottile

Go's TLS implementation does not use OpenSSL and you linked to a CVE for OpenSSL. I assume the scanner has a false positive.

Technically, the Go stack exhibits the same behavior: warning alerts are dropped on the floor unlimitedly, so an attacker can keep sending them and keep the machine busy. So it's not a false-positive to be fair.
https://github.com/golang/go/blob/1cb86e2858d9cc76ebcb3f5abb7fcab3cbdb6ded/src/crypto/tls/conn.go#L674-L678
The OpenSSL team did not consider this a security vulnerability, and I am skeptical as well. There's a number of ways to just keep sending traffic to a server. I'm not even sure this is a more efficient attack than just sending a lot of ClientHello.
However, I guess this might bypass TCP or HTTP layer rate-limits. We can add a counter like OpenSSL did, if nothing else to make scanners happy.

Title suggestion: crypto/tls: limit number of consecutive warning alerts. I wouldn't tag this Security.

Hi, if it's ok for everyone, I would like to work on this issue.
I created a CL to address, implementing an warning alert counter limit in the same way that OpenSSL did.
For now, the tests are passing, but if there any problems, please let me know.


1.x check code coverage

Changes Unknown when pulling a85847d774a6a59535f03c9b3961c52a93d80357 on 1.x-check-code-coverage into ** on 1.x**.

that's cute, thanks coveralls


Remove xgboost image

We don't need Zeppelin images anymore.
I confirm that I have added:

[x] A comment to every Dockerfile with information about target repository and tag (version).
[x] Filled in readme on dockerhub and in this repo about how to build the image if some extra steps should be done.

🧹


How can I have the list of all issue ?

Hello,
How do I get a list of all the problems that can be generated by gometalinter?
I want this list because I wand developped a plugin for SonarQube and I must create all rules in SonarQube with a xml file.
Thanks for your help.

If you're talking about a list of unique messages, you'd have to extract them from each of the individual linters I'm afraid.


Add most of the block fetch code

This has already been through around 4--5 hours of design and code review with @karknu and @semanticphilosopher. Remaining issues are marked in the code, or features that are known as yet to do.
This PR does not yet include tests. The code still a number of TODOs and FIXMEs. It is not yet perfectly documented. It should however be in a reasonable state to merge and with a clear API that should be quite stable now.
There are some tests but those will come in follow-up PRs.

bors r+


Define ulimit and command in task definition.

add the ability to define ulimits and command in the task definition.
If not defined in the ecs module the above will be null.

Updated readme and added example for ecs only use.


Migration of Original Jupyter Notebook

A preview of the Jupyter notebook can be seen at https://github.com/FootyStats/footy/blob/feature/background/background.ipynb
Fixes #1.
TODO
Add to this list as points are raised so that a list of remainaing issues can be seen at a glance.  Please can the person who raised the initial issue both click the "Resolve conversation" for a point (if relevant) and tick off the box here if they are satisfied that the point has been resolved.

[x] Add get_team and get_teams methods (please review).
[x] Add instructions for the requirements of executing this project (please review).
[x] Clarify the UserWarning concerning the lzma module (please review).
[x] Clarify the parameters of the average_goals_scored method (please review).
[x] Clarify the case sensitivity of the team name parameter to various methods (please review).

LGTM


Resolved: Get data SEO page is back up in bcc6bef.


Remove workaround for not having SAP HANA trial database

[TW-1486]

Approved by team in Slack channel


Add "resources" field to the computeClass definition

Introducing the field resources to the ProjectComputeClassInstance and, as a consequence, to ClusterComputeClassInstance will enable cluster admins to add GPU and any custom hardware to the "offering" for the users.
Note from Darren: "One catch is that the resources can only be applied to the "main container" not any sidecars, as you really don't know which one to apply to."
Complete discussion ref on slack

Tested with acorn version - v0.10.0-rc2-9-g43dbcbf4+43dbcbf4

Able to create a computeclass with resources field containing requests and limits using following yaml :

kind: ClusterComputeClass
apiVersion: admin.acorn.io/v1
default: false
metadata:
  name: cc-res
description: Large compute for linux on arm64
cpuScaler: 0.75
supportedRegions:
 - local
memory:
  default: 20M
  min: 10M
  max: 100M
resources:
  limits:
    gpu-vendor.example/example-gpu: 2
  requests:
    gpu-vendor.example/example-gpu: 2

When deploying app using this compute class , I am able to see the pods having the resources set in the container spec as follows:

                        "resources": {
                            "limits": {
                                "gpu-vendor.example/example-gpu": "2",
                                "memory": "20M"
                            },
                            "requests": {
                                "cpu": "14m",
                                "gpu-vendor.example/example-gpu": "2",
                                "memory": "20M"
                            }
                        },

The app deployment itself fails in my case with following error since I dont have an environment that has nodes that support gpu which is as expected.
0/1 nodes are available: 1 Insufficient gpu-vendor.example/example-gpu. preemption: 0/1 nodes are available: 1 No preemption victims found for incoming pod


Build issues

help

It's a problem with how you setup your git with vs and building the current commit (437eb2ad2e5d9689c9003f00ecb4beba3d9e312a) is not going to work since I haven't updated the offsets in the source but the build only. Use the releases if you want the working version of Xeno

It's a problem with how you setup your git with vs and building the current commit (437eb2a) is not going to work since I haven't updated the offsets in the source but the build only.


Add the ability to get user by name/discrim

I feel like this will be useful in cases where you aren't able to get the ID of a member, for example a reason in audit logs that just says the username, for example in my bot it says when banning: Sylveon#0001 | reason here

This isn't possible if the user isn't in a guild.
If they are in a guild you can use SearchUsersAsync("user#1234").


installdeps: drop dnf config-manager

Because dnf5 broke it and keeping both working is annoying and we didn't really need it.

Of course it hit #664 :roll_eyes:

FTR I filed https://github.com/rpm-software-management/dnf-plugins-core/issues/565


[DRAFT] Contextual and Contexts

This is a proposal for a new type, Contextual, which allows Chisel users to define values differently for instances of the same definition, but access them only outside the instance (thus not affecting hardware generation).
This is useful for attaching different metadata to different identical instances. In the examples, we demonstrate setting absolute indexes for instances, and setting a 'who's your neighbor' value.
I am really happy with this general form of the implementation; this feature is incredibly powerful, conceptually consistent with D/I, and has pure abstractions.
Contributor Checklist

[ ] Did you add Scaladoc to every public function/method?
[ ] Did you add at least one test demonstrating the PR?
[ ] Did you delete any extraneous printlns/debugging code?
[ ] Did you specify the type of improvement?
[ ] Did you add appropriate documentation in docs/src?
[ ] Did you state the API impact?
[ ] Did you specify the code generation impact?
[ ] Did you request a desired merge strategy?
[ ] Did you add text to be included in the Release Notes for this change?

Type of Improvement

API Impact

Backend Code Generation Impact

Desired Merge Strategy

Release Notes

Reviewer Checklist (only modified by reviewer)

[ ] Did you add the appropriate labels?
[ ] Did you mark the proper milestone (Bug fix: 3.4.x, [small] API extension: 3.5.x, API modification or big change: 3.6.0)?
[ ] Did you review?
[ ] Did you check whether all relevant Contributor checkboxes have been checked?
[ ] Did you mark as Please Merge?

Another example to think about is how does this work for parameters that should be represented in-IR.  This is relatively straightforward to start with for external modules because they already are kind-of parametric definitions.  Two uses cases I envision:

Passing a generator-time parameter around
Passing an IR parameter around

Start with an external module that has an integer parameter. (The following does not compile and uses some weird syntax that kind of matches how blackboxes work now...)
@instantiable
class Bar extends ExtModule(Map("intParam" -> IntParam)) {
  @public
  val in = IO(Input(Bool()))
  @public
  val out = IO(Output(Bool()))
}

This can then either be instantiated with the parameter bound at generator time:
class Foo(generatorParam: Int) extends RawModule {
  val in = IO(Input(Bool()))
  val out = IO(Output(Bool()))

  val barDef = Definition(new Bar)
  val bar = Instance(barDef, Seq(generatorParam))
  bar.in := in
  out := bar.out
}

ChiselStage.emitChirrtl(new Foo(42))

Or, the parameter is threaded through from the top module:
@instantiable
class Foo2 extends RawModule {
  @public
  val in = IO(Input(Bool()))
  @public
  val out = IO(Output(Bool()))
  @public
  val p = Paramater[Int]

  val barDef = Definition(new Bar)
  val bar = Instance(barDef, Seq(p))
  bar.in := in
  out := bar.out
}

But @seldridge I think you are maybe missing a use case 3?
These are parameters that are specific to how a thing is used, not really a property of the thing itself. While this PR gives an abstraction to couple them, we could achieve the same thing by writing aspect-oriented code over the (sub)circuit and extracting whatever information that we need. Maybe that's what we should just do and abandon any sort of object-oriented, distribution-of-concerns into the units themselves?
To me this is really the concept to conserve, not so much anything about a parameter that the module ever needs to know...

These are parameters that are specific to how a thing is used, not really a property of the thing itself.

The "how a thing is used", in Chisel at least, is equivalent to capturing some context information (a parameter) from the parent.  E.g., you can use this to communicate clock domain information or (as the PR shows) the initial [x, y] coordinates for placement of some region.

While this PR gives an abstraction to couple them, we could achieve the same thing by writing aspect-oriented code over the (sub)circuit and extracting whatever information that we need. Maybe that's what we should just do and abandon any sort of object-oriented, distribution-of-concerns into the units themselves?

😅 Don't do that...

To me this is really the concept to conserve, not so much anything about a parameter that the module ever needs to know...

My main worry is that we are actually dealing with a parameterization problem and I am concerned that this is building yet-another way to kind-of do parameterization.  (We really screwed up here with FIRRTL.  I thought annotations were amazing only to realize years later that they are a retrofitted solution to give parametric qualities to an un-parametric IR.  Failure to recognize the need for parameterization and that we were building a solution to a parameterization problem was extremely costly.)
That said, I recognize the need for an immediate solution here (and a solution that works for diplomatic graphs) and it would be ideal if whatever is used for D/I also works for Diplomacy.  I will be less nervous if we treat this as a tactical solution to fix immediate problems and we are free to strategically redesign this in the future.


Beta: issues with types

The types were previously imported fine, but with the beta something has broken. Now I get:
.storybook/preview.ts(10,42): error TS2307: Cannot find module 'msw-storybook-addon' or its corresponding type declarations.
Happy to debug somehow if I can.

Adding on a bit more.
This error was not thrown in 2.0.0-beta.0, it started appearing in 2.0.0-beta.1.
Looking at the published package.json, a change that stands out
in beta.0 legacy main and types attributes were used.
  "version": "2.0.0-beta.0",
  "main": "dist/index.js",
  "typings": "dist/index.d.ts",

in beta.1 hybrid modern export and legacy main and types are present.
Specifically leveraging nested export conditions https://nodejs.org/api/packages.html#nested-conditions and https://www.typescriptlang.org/docs/handbook/modules/reference.html#example-subpaths-conditions-and-extension-substitution
  "version": "2.0.0-beta.1",
  "main": "./dist/index.browser.js",
  "types": "./dist/index.browser.d.ts",
  "exports": {
    "browser": {
      "types": "./dist/index.browser.d.ts",
      "default": "./dist/index.browser.js"
    },
    "react-native": {
      "types": "./dist/index.react-native.d.ts",
      "default": "./dist/index.react-native.js"
    },
    "node": {
      "types": "./dist/index.node.d.ts",
      "default": "./dist/index.node.js"
    }
  },

Those two systems may not be playing well together, it may be worth considering moving all the way over to the new export syntax.
While in the process it could also be an opportunity to offer an ESM build.

Thanks for reporting this!
I believe this is an oversight on my part. The "exports" field must include paths as the first-level keys. This should fix the problem:
"exports": {
  ".": {
    "browser": {
      "types": "./dist/index.browser.d.ts",
      "default": "./dist/index.browser.js"
    },
    "react-native": {
      "types": "./dist/index.react-native.d.ts",
      "default": "./dist/index.react-native.js"
    },
    "node": {
      "types": "./dist/index.node.d.ts",
      "default": "./dist/index.node.js"
    }
  },
   "./package.json": "./package.json"
},

Can you please replace the exports key in node_modules/msw-storybook-addon/package.json, rebuild, and let me know if this indeed fixes the issue? Thanks.

Thanks @kettanaito!
I updated

node_modules/msw-storybook-addon/package.json
{
  "name": "msw-storybook-addon",
  "description": "Mock API requests in Storybook with Mock Service Worker.",
  "version": "2.0.0-beta.1",
  "exports": {
    ".": {
      "browser": {
        "types": "./dist/index.browser.d.ts",
        "default": "./dist/index.browser.js"
      },
      "react-native": {
        "types": "./dist/index.react-native.d.ts",
        "default": "./dist/index.react-native.js"
      },
      "node": {
        "types": "./dist/index.node.d.ts",
        "default": "./dist/index.node.js"
      }
    },
    "./package.json": "./package.json"
  },
  "scripts": {
    "dev": "yarn build --watch",
    "clean": "rimraf ./dist",
    "build": "tsup",
    "prepublishOnly": "yarn clean && yarn build",
    "release": "auto shipit"
  },
  "files": [
    "dist/"
  ],
  "repository": {
    "type": "git",
    "url": "git+https://github.com/mswjs/msw-storybook-addon.git",
    "directory": "packages/msw-addon"
  },
  "keywords": [
    "storybook-addon",
    "msw",
    "mocking",
    "api",
    "graphql",
    "network",
    "data-state"
  ],
  "author": "Aditya Agarwal (@dev__adi)",
  "bugs": {
    "url": "https://github.com/mswjs/msw-storybook-addon/issues"
  },
  "homepage": "https://msw-sb.vercel.app/",
  "license": "MIT",
  "dependencies": {
    "is-node-process": "^1.0.1"
  },
  "devDependencies": {
    "@auto-it/released": "^10.32.2",
    "auto": "^10.32.2",
    "msw": "^2.0.9",
    "rimraf": "^5.0.5",
    "tsup": "^8.0.1",
    "typescript": "^5.2.2"
  },
  "peerDependencies": {
    "msw": "^2.0.0"
  },
  "storybook": {
    "displayName": "Mock Service Worker",
    "icon": "https://user-images.githubusercontent.com/1671563/144888802-84346d8f-77c9-4377-98c7-4b0364797978.png"
  },
  "auto": {
    "prereleaseBranches": [
      "next",
      "prerelease"
    ],
    "plugins": [
      "npm",
      "released"
    ]
  }
}

Then ran tsc again in my project folder.
I get the error:
$ npx tsc
.storybook/preview.ts:2:53 - error TS2307: Cannot find module 'msw-storybook-addon' or its corresponding type declarations.

2 import { initialize, mswLoader, mswDecorator } from "msw-storybook-addon";
                                                      ~~~~~~~~~~~~~~~~~~~~~

Is there an additional step needed to rebuild?

Thanks @kettanaito! I updated
node_modules/msw-storybook-addon/package.json
Then ran tsc again in my project folder. I get the error:
$ npx tsc
.storybook/preview.ts:2:53 - error TS2307: Cannot find module 'msw-storybook-addon' or its corresponding type declarations.

2 import { initialize, mswLoader, mswDecorator } from "msw-storybook-addon";
                                                      ~~~~~~~~~~~~~~~~~~~~~

Is there an additional step needed to rebuild?

Can you try to rerun your TypeScript server? On VSCode for instance is "cmd shift P" then

@yannbf I'm not using VSCode, the error is coming from the tsc CLI.

@yannbf I tried in VSCode as well, before and after restarting the VSCode language server.
I still see the same error.

.storybook/preview.ts:2:53 - error TS2307: Cannot find module 'msw-storybook-addon' or its corresponding type declarations.

Here is a minimal reproducible example of the original issue (without the patches mentioned above).
https://stackblitz.com/edit/stackblitz-starters-bteupl

I've opened https://github.com/mswjs/msw-storybook-addon/pull/138 with updated build configuration and exports.
I've tested with typescript 5.2 in bundler mode, storybook 7.6, using vite 5.0 as the build tool and it is working nicely.
Interested in hearing thoughts from others.

Thanks for reporting this!
I believe this is an oversight on my part. The "exports" field must include paths as the first-level keys. This should fix the problem:
"exports": {
  ".": {
    "browser": {
      "types": "./dist/index.browser.d.ts",
      "default": "./dist/index.browser.js"
    },
    "react-native": {
      "types": "./dist/index.react-native.d.ts",
      "default": "./dist/index.react-native.js"
    },
    "node": {
      "types": "./dist/index.node.d.ts",
      "default": "./dist/index.node.js"
    }
  },
   "./package.json": "./package.json"
},

Can you please replace the exports key in node_modules/msw-storybook-addon/package.json, rebuild, and let me know if this indeed fixes the issue? Thanks.

Not necessarily:

Im getting this issue with latest
"storybook-msw-addon": "^2.1.4",

this fixed it


UserPath Format Error

when  running cstar.yongfeng.collect.Laucher, I found that the output **[userZip]**s are in wrong format, such as, maybe the function UserDivition.getUserByKeyWrods(userZip, keywords) needs some fixing work.
[userZip]: C:/MSR18Dataset/Events-170301-2/Events-170301-2/2016-05-09\1.zip
[userZip]: C:/MSR18Dataset/Events-170301-2/Events-170301-2/2016-05-09\10.zip
...

Fixed! The root cause is in the function cstar.yongfeng.collect.UserDivition#extractPath(), just add a replace statements as follows,
expPath = expPath.replace("\\", "/");


Update service-fabric-get-started-mac.md

Updated the link to Linux article to the exact section talking about Yeoman generator
Added additional step to guide the user to run Yo generator to generate a sample app first

@hkamel : Thanks for your contribution! The author, @suhuruli, has been notified to review your proposed change.

#sign-off
Thanks for the contribution @hkamel


New Transpiler

TODO

[x] core
[x] swc-plugin
[ ] babel-plugin
[ ] webpack-plugin
[ ] vite-plugin

Abolition of __pre***
Merge __pre*** into style & globalStyle
before
// style
export const style = <K extends string>(styles: KazeStyle<K>): Classes<K> => {
  const [cssRules, classes] = resolveStyle(styles);
  if (typeof document !== 'undefined') setCssRules(cssRules);
  return classes;
};
// __preStyle
export const __preStyle = <K extends string>(
  styles: KazeStyle<K>,
  forBuild: ForBuild<K>,
  filename: string,
  index: number,
): Classes<K> => {
  const [cssRules, classes, staticClasses] = resolveStyle(styles);
  if (forBuild[0] === filename) {
    forBuild[1].push(...cssRules);
    forBuild[2].push([staticClasses, index]);
  }

  return classes;
};

after
// style
export function style<K extends string>(styles: KazeStyle<K>): Classes<K>;
export function style<K extends string>(
  styles: KazeStyle<K>,
  buildInjector: BuildArgument,
  index: number,
): Classes<K>;
export function style<K extends string>(
  styles: KazeStyle<K>,
  buildInjector?: BuildArgument,
  index?: number,
): Classes<K> {
  const [cssRules, classes, staticClasses] = resolveStyle(styles);
  if (isBuildTime(buildInjector)) {
    const classesNode = classesSerialize(staticClasses);
    buildInjector.injector.cssRules.push(...cssRules);
    buildInjector.injector.injectArguments.push({
      value: [classesNode],
      index,
    });
  } else if (typeof document !== 'undefined') setCssRules(cssRules);
  return classes;
}

#121

TreeShake does not work at Webpack Child Compiler for NodeTarget, cause unknown.

I frustration to Single file support....

github actions crash swc-plugin
(https://github.com/swc-project/swc/issues/6807)

I will try to take a look this weekend 👍 Great work so far!

As for the Limited AST, it is almost complete.
However, I am struggling a lot with Single file styles.
I would like to support multiple UI libraries, but single file syles are very dependent on the behavior of the UI library.

This PR does not seem to be able to support single file styles.


(FACT-1313) Acceptance - sleep after hostname

On Solaris 11, the hostname command returns before the system
has set the new hostname. This commit adds a sleep statement
to allow the hostname value to be updated on the system before
validating that facter can retrieve the expected fqdn.
[skip ci]

:frowning: but I don't have any strong objections.


Add "Lona" airbnb project

Add "Lona" airbnb project w/link to GitHub

Align spacing across rows on columns 101, 114, 129, 145, and 216

Thanks for making this PR @arswright!
Keen to keep this list to examples of actual design systems though, rather than links/tools related to the wider ecosystem.


Added trajectory port and prefixed gpios

Hi everyone. This adds the trajectory_port field to the ros2control part of the xacro and adds the prefix also to the gpio elements. This is needed in order to get support for multiple arms up and running.
This is the first part of hopefully a full set of PRs that will enable support for multiple arms

this looks good to me. But I have a question about trajectory port. How are you using it?

That answer might go out of scope here a little, hence this will be a bit brief:
In the ROS1 driver we used this for our trajectory forwarding controllers. Those were basically forwarding a trajectory setpoint by setpoint and interpolation is being done on the robot. We've used direct servoj commands with a (unfortunately hardcoded) blending radius to then execute the trajectory on the robot. With https://github.com/UniversalRobots/Universal_Robots_Client_Library/pull/103 we could do a spline interpolation similar to the one done by the JTC on the robot. The main benefit of this would be reduced real-time requirements on the ROS side at the cost of (IMHO) flexibility. @destogl we could discuss this further, but that's probably better done in some control scope. In the context of this PR this is relevant, since the client library is opening a trajectory interface on that port, which will clash with multiple instances.

@fmauch  Just realized I forgot the trajectory port in the ur_macro.xacro

Note: I'll merge this once I tested https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver/pull/567 with this.

Rebased the changes into one commit with a usefull commiit message


Add logging

got new socket connection: 9 with num bytes 82 is true but pretty useless, we should at least record

Date
User-Agent
URL

Done in e28027ece083e7b9f4bfbd3fa60e966ac566823a


Add Hussainweb to the list of repos

What type of PR is this? (check all applicable)

[x] 🚀 Added Name
[ ] ✨ Feature
[ ] 🐛 Grammatical Error
[ ] 📝 Documentation Update
[ ] 🚩 Other

Description
I added a new category because I couldn't think of where else to put it. If you think it fits in one of the existing categories, please suggest and I'll move it there. I'm hoping this looks good enough. :)
Add Link of GitHub Profile
@hussainweb

I'm merging now.
P.S - Don't forget to leave a ⭐ if you found this useful.
Thanks


[DO NOT MERGE] feat(api): new CommonAudit api to support dual deployment model

https://github.ibm.com/IBMPrivateCloud/roadmap/issues/38738
Prereqs:

ibm-common-services namespace
ibm-cert-manager-operator installed on your cluster
Secret for artifactory scratch repo named docker-scratch: oc create secret -n ibm-common-services docker-registry docker-scratch  --docker-server=hyc-cloud-private-scratch-docker-local.artifactory.swg-devops.com --docker-username=<REPLACE_ME>  --docker-password=<<REPLACE_ME> --docker-email=<REPLACE_ME>

Testing:

Replace operator container image in 3.7.0 csv with hyc-cloud-private-scratch-docker-local.artifactory.swg-devops.com/audit-operator:test
Update AuditLogging CR and CommonAudit CR to use fluentd.imageRegistry: hyc-cloud-private-scratch-docker-local.artifactory.swg-devops.com/ibmcom
Configure rest of AuditLogging CR and CommonAudit CR
make install

Note: If fluentd cannot pull scratch images, add docker-scratch as an ImagePullSecret to the deploy/dameonset

@hbradfield What's this field for https://github.com/IBM/ibm-auditlogging-operator/blob/1624751d055d55fb5ec19ce74875b41f4c71c87e/pkg/apis/operator/v1/commonaudit_types.go#L30

Size is a placeholder for the new bedrock sizing. I can take it out of this PR since it seems like they still haven't fully arched how we want to approach sizing

@lauriet-ibm pushed the latest operator image to scratch and updated steps to test above

need to fix a test

@lauriet-ibm i went through the files and fixed a reference to a scratch image. if you could just take one more pass through the files and see if i missed anything id appreciate it. we can merge if it's all good


spirv-val: Remove unused includes and code

Running code analysis I found a lot of unused includes and removed them

How does the code analyzer work? Does it use transitive dependencies to minimize includes? Our style guide prefers include what you use to avoid problems when refactoring code.

Bravo @spencer-lunarg !


Unexpected markdown preview effect

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.65.1
OS Version: windows11

Steps to Reproduce:

Bold the text

**test**test

**test** test

**.** test

**.**test

https://spec.commonmark.org/0.30/#emphasis-and-strong-emphasis
This exactly reflects how CommonMark defines "delimiter run".

A right-flanking delimiter run is a delimiter run that is
(1) not preceded by Unicode whitespace,
and
(2b) preceded by a Unicode punctuation character and followed by Unicode whitespace or a Unicode punctuation character.

Thus, this is indeed expected behavior.

A right-flanking delimiter run is a delimiter run that is
(1) not preceded by Unicode whitespace,
and
(2b) preceded by a Unicode punctuation character and followed by Unicode whitespace or a Unicode punctuation character.

Thus, this is indeed expected behavior.

Thank you


BedrockServer doesn't support asynchronous call

I am trying to build a website where it have minecraft server status using python.
And I found out that bedrock server doesn't support asynchronous operation at all.
Is there any that I can achieve like JavaServer does?

P.S. This question already in my docs To-Do.

P.S. This question is already in my docs To-Do.

What do you mean? I don't see anything that needs fixing here, I don't think we should provide an async_lookup from bedrock servers, because it's simply not needed, bedrock servers don't need any lookup logic that would require async. At most, this can be mentioned in FAQ.

P.S. This question is already in my docs To-Do.
@PerchunPak

What do you mean? I don't see anything that needs fixing here, I don't think we should provide an async_lookup from bedrock servers, because it's simply not needed, bedrock servers don't need any lookup logic that would require async. At most, this can be mentioned in FAQ.

Yes, I meant exactly this (added).


[Snyk] Security upgrade com.amazonaws:aws-java-sdk from 1.12.318 to 1.12.336

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `maven` dependencies of this project.
:sparkles: Snyk has automatically assigned this pull request, set who gets assigned.
As this is a private repository, Snyk-bot does not have access. Therefore, this PR has been created automatically, but appears to have been created by a real user.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

uasdm-server/pom.xml

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Upgrade
Breaking Change
Exploit Maturity

616/1000  Why? Proof of Concept exploit, Has a fix available, CVSS 5.9
Denial of Service (DoS) SNYK-JAVA-COMFASTERXMLJACKSONCORE-3038426
com.amazonaws:aws-java-sdk:  1.12.318 -> 1.12.336
No
Proof of Concept

(*) Note that the real score may have changed since the PR was raised.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
👩💻 Set who automatically gets assigned
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Denial of Service (DoS)

Out of date


Different detection of same device

Hi, I am using your library in ASP.NET Core MVC application. When app is open on Galaxy Tab A 2016 in firefox, device is recognized like tablet and that is OK. But when app is open in chrome or in built in browser it's recognized like desktop. Do you have some advice for that situation? Here is code example:
public class AccountController : BaseController
{
    private readonly IDevice deviceResolver;

    public AccountController(IDeviceResolver deviceResolver)
    {
        this.deviceResolver = deviceResolver.Device;
    }

     public ActionResult Login()
     {
         if (deviceResolver.Type == DeviceType.Desktop)
         {
              //some logic
         }
         else
         {
             //some logic
         }
     }
}

Can provide me the UserAgent of both the browser in question. I will add to the test unit.
Also does browser have desktop mode?

UserAgent from chrome browser from two different tablets.
Mozilla/5.0 (Linux; Android 5.0.1; 8079 Build/LRX21M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.98 Safari/537.36
Mozilla/5.0 (Linux; Android 4.4.4; SM-T561 Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.98 Safari/537.36

Due the above user agent was not in the tablet keyword check list, so it went to the down to desktop as default.
private readonly string[] _tabletKeywords = {
            "tablet",
            "ipad",
            "playbook",
            "hp-tablet",
            "kindle"
        };

And your library for detecting platform still is not in function? Recognizing platform can finish job for my needs. Maybe I can make hack and expand _tabletKeywords  with word Android.

@djordjedjukic if you add the word Android to this tablet keyword that would a make all android device detected as tablet, which including mobile phone. The word “sm-t” would do a better job.

Alcatel Pixi 10 has only model build number as device identification, which is not suitable for resolver. So Alcatel tablet shall be drop for desktop resolver results.

Great, I didn't have time to make pull request. Thank you @wangkanai


Update README.md

For me it only worked with socket://

thanks. but both is working. so please change the PR to "tcp" or "socket".


Griefly failed to build on GCC 7.3 (Arch Linux distro)

I can't build your project on latest GCC release 7.3.0
Commit hash: https://github.com/griefly/griefly/commit/89d7190597f58ea7d8d04508b3da215076460728
Log:
-- Clang format has been found: /usr/bin/clang-format
-- No clang-tidy found
-- Git has been found, 2.16.1
-- Qt5 has been found: 5.10.0
-- Core path: /usr/lib/libQt5Core.so.5.10.0
-- Python has been found, version: 3.6.4
-- Source dir is active git repo
-- v0.4.0-533-g89d7
-- System: Linux-4.14.15-1-ARCH, Compiler: GNU-7.3.0, Bits version: 64
Generating 'Version.cpp'...
-- Qt5 has been found: 5.10.0
-- Core path: /usr/lib/libQt5Core.so.5.10.0
-- Network path: /usr/lib/libQt5Network.so.5.10.0
-- Widgets path: /usr/lib/libQt5Widgets.so.5.10.0
-- OpenGL path: /usr/lib/libQt5OpenGL.so.5.10.0
-- Multimedia path: /usr/lib/libQt5Multimedia.so.5.10.0
-- Running qzip_unpacker CMakeLists.txt...
-- Finished qzip_unpacker CMakeLists.txt
-- Running server CMakeLists.txt...
-- Found Go: /usr/bin/go (found suitable version "1.9.4", minimum required is "1.5")
-- Go has been found, version: 1.9.4
-- Running server CMakeLists.txt...
-- Configuring done
CMake Warning (dev) in sources/core/CMakeLists.txt:
  Policy CMP0071 is not set: Let AUTOMOC and AUTOUIC process GENERATED files.
  Run "cmake --help-policy CMP0071" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  For compatibility, CMake is excluding the GENERATED source file(s):

    "/home/mikado/Work/Builds/griefly/build/sources/core/AutogenMetadata.cpp"
    "/home/mikado/Work/Builds/griefly/build/sources/core/AutogenSerialization.cpp"

  from processing by AUTOMOC and AUTOUIC.  If any of the files should be
  processed, set CMP0071 to NEW.  If any of the files should not be
  processed, explicitly exclude them by setting the source file property
  SKIP_AUTOGEN:

    set_property(SOURCE file.h PROPERTY SKIP_AUTOGEN ON)

This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) in sources/client/CMakeLists.txt:
  Policy CMP0071 is not set: Let AUTOMOC and AUTOUIC process GENERATED files.
  Run "cmake --help-policy CMP0071" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  For compatibility, CMake is excluding the GENERATED source file(s):

    "/home/mikado/Work/Builds/griefly/build/sources/client/ui_mainform.h"
    "/home/mikado/Work/Builds/griefly/build/sources/client/ui_mapeditorform.h"

  from processing by AUTOMOC and AUTOUIC.  If any of the files should be
  processed, set CMP0071 to NEW.  If any of the files should not be
  processed, explicitly exclude them by setting the source file property
  SKIP_AUTOGEN:

    set_property(SOURCE file.h PROPERTY SKIP_AUTOGEN ON)

This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) in utils/launcher/CMakeLists.txt:
  Policy CMP0071 is not set: Let AUTOMOC and AUTOUIC process GENERATED files.
  Run "cmake --help-policy CMP0071" for policy details.  Use the cmake_policy
  command to set the policy and suppress this warning.

  For compatibility, CMake is excluding the GENERATED source file(s):

    "/home/mikado/Work/Builds/griefly/build/utils/launcher/ui_launcherform.h"

  from processing by AUTOMOC and AUTOUIC.  If any of the files should be
  processed, set CMP0071 to NEW.  If any of the files should not be
  processed, explicitly exclude them by setting the source file property
  SKIP_AUTOGEN:

    set_property(SOURCE file.h PROPERTY SKIP_AUTOGEN ON)

This warning is for project developers.  Use -Wno-dev to suppress it.

Can you try to run cmake with -DBUILD_TESTS=On command line param and show output?

Now build passed. Thank for your answer. Thought it was a regression in the compiler after the Spectre.


Update .gitignore

What does this PR do?
Adds:

/datasets/ used by pytest for dataset caching and
mlruns/ created by MLflow.

Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure your PR does only one thing, instead of bundling different changes together? Otherwise, we ask you to create a separate PR for every change.
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review

[ ] Is this pull request ready for review? (if not, please submit in draft mode)

Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

@akihironitta can you add *.vs and *.vscode too


Create container for Orchestrator

Docker container might be useful for audience which is not interested in installing .NET on their machines to run tool. Docker container should make easy execution of the tool in any environment.

Fixed


remove unnecessary import alias CLightningWallet

not used anywhere

This is intentional to keep backwards compatibility for old configs that called it CLightningWallet.

Reworked to add comment why this alias is needed.


Regular expression problem

I have the following regular expression to capture $, ,, . and digits after period.
^(\$)\d*(,)\d*(.)(\d*)

It is for the following character variable. I am giving one value here:
$34,000.00

I want to get rid of all the captured groups. What do i substitute it with in the following statement.
dplyr::mutate(
    income = as.numeric(sub(regex, "", annual_income))
  )

@wibeasley ... I am not able to tag anyone else.
Thanks!

how's this?
> source <- "$34,000.00"

> gsub("[$,\\.]", "", source)
[1] "3400000"

What if i want to match the two 0' after the period as well?
@wibeasley

Okay this worked:
> source <- "$34,000.00"
> gsub("[$]|[,]|[\.][0-9]{2}", "", source)


Integrate AssemblyLine "play" button

Go ahead and register the VoiceRSS API key and use Denis' email as the one.

Done, waiting for Denis to activate account and @Oluminides to put the API key into the Docassemble config.


Changed url() function from re_path() for Django 2

I have changed url() function to re_path() for Django 2.2 updates and also changed the imported module from django.conf.urls to django.urls

Summary
Fixes #
Links to related discussion
Proposed changes in this pull request
General checklist

[ ] I have updated the CHANGELOG.txt
[ ] I have created backports if necessary
[ ] I have updated the documentation and/or amended the upgrade section
if necessary

Coverage remained the same at 78.215% when pulling 038efe1f5d96299139f78f19fc8df1d7a1a813ad on neo-0224:patch-1 into 3b5df95696d262d338dfd7b6428a3df2c9c6d400 on divio:develop.

@FinalAngel is this change now redundant with the Dj 3.1 changes coming through?

@Aiky30 yes that will now be implemented in 3.8.x. Thank you @thewolfcommander for your contribution!


Invalid Command error

When trying to launch a container I get an error that says invalid command. This should be a specific error that tells me how to fix it. I don't know what is causing the error.  I was trying to create a container with this image: itzg/minecraft-server
I passed in the port information, and an environnment variable EULA = TRUE
Image attached.

Yeah the UI needs validation/cleanup on all the fields.. What's happening is you clicked/focused on the command field, which internally changed the value I send from null to empty string, and the API doesn't accept empty string.

Created rancherio/ui#60 to address this

Thanks.
From: Vincent Fiduccia<EMAIL_ADDRESS>Sent: Friday, February 13, 2015 11:26 AM
To: rancherio/rancher
Cc: Shannon Williams
Subject: Re: [rancher] Invalid Command error (#96)
Created rancherio/ui#60https://github.com/rancherio/ui/issues/60 to address this
—
Reply to this email directly or view it on GitHubhttps://github.com/rancherio/rancher/issues/96#issuecomment-74311238.

Moved RancherIO/UI issue into RancherIO/Rancher: https://github.com/rancherio/rancher/issues/239

This should no longer happen.  What was happening is when you focus the field the value internally stored changed from null to an empty string (input fields can't really be null).  The API was then sent empty string, which it doesn't accept.
With the new validation against schema, fields are: trimmed, converted to numbers if they're supposed to be numeric, then converted to null if the value is empty string and the field is nullable.  (like command, user, and a bunch of other fields in a container are).

v0.16.0
Clicked in every field to shift focus and then created container.
Verified Fixed


Requesting complete URL over https proxy results in "Invalid request scheme: https"

Steps to reproduce the problem:

Set up an HTTPS mitmproxy
Run the following (minimized) code against it:

import httplib
conn = httplib.HTTPSConnection('<your proxy IP>',<your proxy port>)
conn.set_tunnel('www.google.com',443)
conn.request('GET','https://www.google.com:443/')
resp = conn.getresponse()
print resp.read()

What is the expected behavior?
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE>

301 Moved

The document has moved
here.

What went wrong?

                <title>400 Bad Request</title>

            HttpException('Invalid request scheme: https',)

Any other comments?
I believe it's caused by a combination of https://github.com/mitmproxy/mitmproxy/blob/master/libmproxy/protocol/http.py#L544-L545 and https://github.com/mitmproxy/mitmproxy/blob/master/libmproxy/protocol/http.py#L502-L503. Indeed, if you modify my GET request above to ask for just / instead of https://www.google.com:443/, everything works fine.
I'm not sure if it's sensible to support absolute-form requests over https tunnels, but I'm getting this behavior in real code (boto for python AWS) so I don't think it's very a contrived situation.

mitmproxy version: 0.14.0

I attempted a naive patch to remove the check for http and the check right below it for expected form but that just led to a 400 error elsewhere.

Oh, never mind. Adjusting the two checks to allow for my situation makes the whole thing work beautifully. Not sure if it messes with other mitmproxy internal invariants though.

It actually seems to mess with the way the request goes through to the final destination though, and breaks AWS's request signing after it makes its way through the proxy.

Thanks for investigating this!

I'm not sure if it's sensible to support absolute-form requests over https tunnels

Unfortunately, it's part of the spec that every HTTP1 request can be in absolute-form. I haven't seen it in practice before this though.
For us, it's a nontrivial UI/UX problem. Cosider an initial CONNECT request
CONNECT <IP_ADDRESS> HTTP/1.1

followed by this HTTP request:
GET http://example.com/ HTTP/1.1
Content-Length: 42
[...]

We now have two different destinations - which one should we show to the user? There's no guarantee that the host in the second request isn't fake. However, we shouldn't omit the destination from the URL either.
Our current workaround is to require relative-form requests if we already have a known destination. We also catch a lot of user errors this way (e.g. people who run mitmproxy in transparent mode while configuring it on the client as well). Also, we provide a "smart" request.host attribute for scripting which has the similar issue
TL;DR: Yes, we should support this as it's perfectly valid HTTP. On the other hand, we'd need to make quite a few tradeoffs for a feature that is rarely used :confused:

It actually seems to mess with the way the request goes through to the final destination though, and breaks AWS's request signing after it makes its way through the proxy.

I think this is caused by libmproxy/protocol/http.py#L497-L503, which implicitly assumes relative-form requests.
One way to approach this problem would be to make the HTTP protocol support absolute-form transparent requests and add a --relax-http switch to mitmproxy which disables the validation part. Any better ideas?

We now have two different destinations - which one should we show to the user?

Isn't that already a problem with standard HTTP? I can already connect to one of the IPs backing google.com and send it a request for a page on microsoft.com. The Host header also adds a third potential axis of variability there. Does the proxy layer really add much more?

Any better ideas?

That seems fine, although I still don't quite see what part of the code is breaking my request signature, even if we removed the sanity checks.

Oh, I see from your link:
# Setting request.host also updates the host header, which we want to preserve

Isn't that already a problem with standard HTTP?

It is - it also affects mitmproxy's transparent mode the same way. Our issue is that we can't distinguish if the client is now talking to a proxy (which looks the same way) or just sends an absolute-form request for no reason. Even worse, an attacker may use this to actively misguide an analyst.
For a mitmproxy user, it should always be clear where requests are going to, so we decided to just fail in these ambigious situations.
For the host header, it's a bit different in the sense as the presence of the Host header cannot be mistaken for a proxy request. Thus, you can pass --host to mitmproxy and we will use that as display source in transparent mode.

That seems fine, although I still don't quite see what part of the code is breaking my request signature, even if we removed the sanity checks.

We fill in (in the absolute-form case: overwrite) attributes of the request from the connection metadata in transparent mode: libmproxy/protocol/http.py#L497-L503

We fill in (in the absolute-form case: overwrite) attributes of the request from the connection metadata in transparent mode: libmproxy/protocol/http.py#L497-L503

Yeah, sorry, I meant I couldn't tell within that what specifically was breaking boto's AWS signature. I think it's not actually any of the headers, but the path in my request that might be slightly different.

In the code I linked, host, port and scheme get modified - these three are attributes of the request line. In particular, scheme should very likely be just http not https in your case.

Changing the scheme here to http now just results in 502 Bad Gateway responses to all my client requests.

For debugging, I'd recommend adding breakpoints / print(http1.assemble_request(request)) statements in Http1Layer.read_request/Http1Layer.send_request. I can't look into this myself right now, sorry.

No problem, I don't have much time right now either but I'll try to take a look a  bit later. Thanks for all your help!

@copumpkin Is this still an issue with mitmproxy 0.16?

I seem to be hitting the same issue trying to use mitmproxy with Google Drive Sync Client:
This is the error messages in the Google Drive Sync Client logs:
2016-07-05 11:34:46,880 +1000 WARNING pid=62177<PHONE_NUMBER>23872:MainThread      proxy_manager.pyo:420 using env setting for proxy: 'https://XXX.XXX.XXX.XXX:8080'
2016-07-05 11:34:46,881 +1000 INFO pid=62177<PHONE_NUMBER>23872:MainThread      service.pyo:132 Creating singleton service instance of '<class 'common.net.dapper.DapperService'>'
2016-07-05 11:34:46,881 +1000 INFO pid=62177<PHONE_NUMBER>23872:MainThread      sync_http_client.pyo:235 Tunneling connection to accounts.google.com:443 through <IP_ADDRESS>:8080.
2016-07-05 11:34:48,660 +1000 ERROR pid=62177<PHONE_NUMBER>23872:MainThread      oauth.pyo:138 OAuth failure. Error on request. Response 400.

                <title>400 Bad Request</title>

            HttpException('Invalid request scheme: https',)

2016-07-05 11:34:48,661 +1000 ERROR pid=62177<PHONE_NUMBER>23872:MainThread      fatal_exceptions.pyo:55 Ignoring non-fatal error: Unauthorized: OAuth failure. Error on request. Response 400.

                <title>400 Bad Request</title>

            HttpException('Invalid request scheme: https',)
        , Traceback:
  File "common/auth/oauth.pyo", line 136, in GetAuthToken
  File "common/auth/oauth.pyo", line 196, in _AuthorizeOAuth2Token
  File "common/auth/oauth2_token.pyo", line 143, in AcquireAccessToken
  File "common/auth/oauth2_token.pyo", line 199, in _SendRequest

2016-07-05 11:37:19,349 +1000 INFO pid=62177<PHONE_NUMBER>23872:MainThread      service.pyo:132 Creating singleton service instance of '<class 'controls.selective_sync_stats.SelectiveSyncStatsTracker'>'
2016-07-05 11:37:19,395 +1000 INFO pid=62177<PHONE_NUMBER>32960:_LaunchSyncApp  pause_manager.pyo:106 Adding pause reason USER
2016-07-05 11:37:19,419 +1000 INFO pid=62177<PHONE_NUMBER>39552:RunAsync-_PerformAsyncSignOutTasks-7 service.pyo:132 Creating singleton service instance of '<class 'common.telemetry.impression_logger_manager.ImpressionLoggerManager'>'
2016-07-05 11:37:19,428 +1000 INFO pid=62177<PHONE_NUMBER>32960:_LaunchSyncApp  sync_app.pyo:2057 Sign out remove token success: True
2016-07-05 11:37:19,432 +1000 ERROR pid=62177<PHONE_NUMBER>39552:RunAsync-_PerformAsyncSignOutTasks-7 fatal_exceptions.pyo:55 Ignoring non-fatal error: ImpressionLoggerManagerStateError: Uploader not configured., Traceback:
  File "common/exception_utils.pyo", line 72, in SuppressExceptions
  File "common/threads/run_async.pyo", line 55, in ErrorHandler
  File "common/sync_app.pyo", line 1978, in _PerformAsyncSignOutTasks
  File "common/telemetry/impression_logger_manager.pyo", line 284, in UploadLogsIfEnabled

2016-07-05 11:37:19,434 +1000 INFO pid=62177<PHONE_NUMBER>32960:_LaunchSyncApp  sync_app.pyo:1992 Stopping threads
2016-07-05 11:37:19,434 +1000 INFO pid=62177<PHONE_NUMBER>32960:_LaunchSyncApp  thread_manager.pyo:116 Stop was called
2016-07-05 11:37:19,434 +1000 INFO pid=62177<PHONE_NUMBER>32960:_LaunchSyncApp  thread_manager.pyo:253 Asking <RunFunctionThread(_LaunchSyncApp, started<PHONE_NUMBER>32960)> with tid<PHONE_NUMBER>32960 to stop.
2016-07-05 11:37:19,435 +1000 INFO pid=62177<PHONE_NUMBER>32960:_LaunchSyncApp  thread_manager.pyo:264 Stop completed successfully.
2016-07-05 11:37:19,437 +1000 INFO pid=62177<PHONE_NUMBER>32960:_LaunchSyncApp  utils.pyo:226 set called on <common.utils.LoggingEvent object at 0x10fb9cd10> from:
  File "threading.pyo", line 783, in __bootstrap
   File "threading.pyo", line 810, in __bootstrap_inner
   File "common/threads/threads.pyo", line 93, in run
   File "threading.pyo", line 763, in run
   File "common/threads/threads.pyo", line 83, in AutoreleasePoolWrappedTarget
   File "common/sync_client_thread.pyo", line 50, in RunSyncClientThread
   File "common/sync_client_thread.pyo", line 326, in Run
   File "osx/mac_sync_app_controller.pyo", line 178, in _LaunchSyncApp
   File "common/sync_app.pyo", line 664, in LaunchThreads
   File "common/persistence/sqlite.pyo", line 127, in Wrapper
   File "common/sync_app.pyo", line 689, in _LaunchThreads
   File "common/sync_app.pyo", line 846, in _RunSetupAndSignIn
   File "common/sync_app.pyo", line 2061, in SignOut
   File "common/sync_app.pyo", line 1993, in _SignOutThreadManagerAndDropDatabases
   File "common/thread_manager.pyo", line 136, in StopThreadsAndWait
   File "common/thread_manager.pyo", line 124, in Stop
   File "common/thread_manager.pyo", line 391, in Stop
   File "common/utils.pyo", line 226, in set

@Kriechi Also, to clarify - yes, I believe this is still an issue in mitmproxy 0.16 - I tested against HEAD, and I hit this issue =(.
(The latest version on Pypi is mitmproxy 0.17, right?)

Just bumping - is this something you guys are working on =).
Any idea of timeframe? (Cool if there's not, just trying to set my expectations).

There have been some major changes regarding first-line format in mitmproxy.
Is this still an issue, or has v1.0 solved it?
To be honest, going through the thread here again:
It seems we are dealing with a very uncommon use case. Only very recently did e.g. curl start to support HTTPS proxies. Or am I missing some context from the original problem here?

This is still an issue I believe, and it's not related to HTTPS proxies. :-)
If a client CONNECTs to a remote server and then sends an absolute-form request (e.g. CONNECT http://example.com:80/, then GET http://example.com/foo), we currently fail deliberately. This is because the host in the CONNECT request and the GET request do not necessarily have to be the same and we just have one .host attribute. Generally speaking, an unexpected first-line-format is most of the times a sign of misconfiguration (the RFC permits absolute form for all requests though).

There are two things I'd love to see:

First, always accept requests in absolute-form going to the same host. For example, after CONNECT example.com, we should accept GET http://example.com/foo, but not GET http://example.org/foo. This would for example fix this issue.
Second, as you suggested, add a --relax-http-form-validation switch that disables the form enforcement.

any update on this issue?

Same issue when requesting in emacs here, using mitmproxy 4.0.1.

I would love to see a fix for this issue as well. The nodeJS axios library is fairly well known, and it allows requesting complete URLs. There are calls for axios buried under other utilities that implement sigV4 for AWS that it would be very nice to be able to consume and use through mitmproxy.

Just hit this with Emacs 26.1 (url.el), mitmproxy 4.0.4, trying to debug magit/forge#55 with mitmproxy.

If someone needs a quick/hacky fix,
change ./net/http/http1/read.py
    try:
        import logging
        logging.error(line)
        method, path, http_version = line.split()

        import urllib.parse
        logging.error(urllib.parse.urlparse(path))

        if path == b"*" or path.startswith(b"/"):
            form = "relative"
            scheme, host, port = None, None, None
        elif method == b"CONNECT":
            form = "authority"
            host, port = _parse_authority_form(path)
            scheme, path = None, None
        else:
            form = "absolute" . # <<<<< Change this to `relative`
            scheme, host, port, path = url.parse(path)

        _check_http_version(http_version)

We use mitmproxy in Regular mode.
This mode requires absolute or authority request form.  But when we use an absolute https request, it fails with the Invalid request scheme: https error.
How can we use https request with regular mitmproxy mode?
Thanks
Phil

Just to confirm, the feature has not made it to the pre-built binaries yet (6.0.2), correct? It also seems impractical for me to attempt to build from source, the instructions currently link in a circle and it sounds complex. I considered monkey patching but I decided against that.
I found a work around for my use case, capturing requests made by axios / node.js. The npm package global-agent works great and I didn't even have to modify the JS source.
Hopefully this can help anyone else struggling with mitmproxy and axios.

Just to confirm, the feature has not made it to the pre-built binaries yet (6.0.2), correct? It also seems impractical for me to attempt to build from source, the instructions currently link in a circle and it sounds complex. I considered monkey patching but I decided against that.
I found a work around for my use case, capturing requests made by axios / node.js. The npm package global-agent works great and I didn't even have to modify the JS source.
Hopefully this can help anyone else struggling with mitmproxy and axios.

@jeremy21212121: Corrent, and thanks for pointing out the circular link, I've just fixed it.
If you can't wait and don't want to build from source, we also have prebuilt development snapshots at https://mitmproxy.org/downloads/#branches/master/.

@jeremy21212121: Corrent, and thanks for pointing out the circular link, I've just fixed it.
If you can't wait and don't want to build from source, we also have prebuilt development snapshots at https://mitmproxy.org/downloads/#branches/master/.


Feature request: Allow sqe flags like IOSQE_IO_LINK for IORING_OP_TIMEOUT with off == 0

Currently we forbid flags for IORING_OP_TIMEOUT.
https://github.com/torvalds/linux/blob/63de37476ebd1e9bab6a9e17186dc5aa1da9ea99/fs/io_uring.c#L2456
I think it's reasonable for io_uring_wait_cqe_timeout. But for pure timeout ( ie REQ_F_TIMEOUT_NOSEQ ), this operation should behave like other operations and should allow for common sqe flags.
This is a valid usage:

readv
timeout(1s)
writev

And this should be valid too:

timeout(1s)
timeout(1s)
timeout(1s)

Agree, I sent out a patch to remove this restriction.

Should we read timespec earlier like what we did for read/write?
For example timeout is delayed by IOSQE_IO_LINK

Yeah we should, I'm going to add support for that.

https://git.kernel.dk/cgit/linux-block/commit/?h=for-linus&id=2d28390aff879238f00e209e38c2a0b78717360e

Thanks. I'll try it after it's merged into mainline.


Kitty leaks packages into system environment

Describe the bug
When installing Kitty (the terminal emulator), several paths are leaked into the system environment, as opposed to staying within the wrapped program.
In particular, the nix store path to kitty, imagemagick, xsel, and ncurses.dev are added to PATH
Steps To Reproduce
Steps to reproduce the behavior:

Install kitty (not reproducible in nix-shell, I'm using environment.systemPackages)
printenv PATH (or tr ':' '\n' <<< "$PATH" since it is easier to read)
Observe the packages specified in kitty's wrapProgram (here) included in PATH as Nix store paths

Expected behavior
The nix store paths should not be present in PATH, since the wrapper should use them internally.
Screenshots

Additional context
A similar problem happens with Qtile, where a number of its dependencies are leaked into PATH as opposed to just being wrapped, including Python, which prevents me from setting up my own Python-with-packages in my system environment because it comes before the systemPackages in PATH. However, I know that this is caused by the Qtile derivation using python3.withPackages as opposed to a wrapper, and will be investigating that next.
Notify maintainers
@tex @rvolosatovs @Luflosi
Metadata
 - system: `"x86_64-linux"`
 - host os: `Linux 5.17.5, NixOS, 22.05 (Quokka), 22.05.20220503.cbe587c`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.9.0pre20220428_4bb111c`
 - channels(root): `"nixos"`
 - nixpkgs: `/nix/store/a7vqg16mrzq49vb6j7i3ry0i49i24rvf-source`

Since I'm running a Flakes setup, my nixpkgs revision is cbe587c735b734405f56803e267820ee1559e6c1

You know... I think I may know the problem for Kitty specifically. Since I'm accessing the internal inside kitty, it may inherit its own path. Still seems like weird behavior, though.

That is expected, environment variables are inherited by child processes by default (see exec(3p)). Kitty would have to clean the variables passed to it in the wrapper from the environment the child processes are run – but it has no way to distinguish those from variables from ambient environment. (Or it would have to run the child processes from a different, unwrapped process using some kind of systemd magic like GNOME Terminal does.)
It is one of the main downside of wrappers and I would argue that we might want to choose alternative methods like hardcoding the paths in source code to avoid this behaviour.
Similar issue exists for window managers and other shells, unless they also do the systemd trickery.

Hmm, yeah I should have probably remembered that.

(Or it would have to run the child processes from a different, unwrapped process using some kind of systemd magic like GNOME Terminal does.)
I may look into how the GNOME Terminal does this, since this seems like an overall cleaner option.

... like hardcoding the paths in source code to avoid this behaviour.
Also may look into this, though I'll need to check how Kitty uses it.

Similar issue exists for window managers and other shells...
Definitely explains why I was seeing stuff from Qtile as well, since combined those are my terminal and WM.

(Or it would have to run the child processes from a different, unwrapped process using some kind of systemd magic like GNOME Terminal does.)

I may look into how the GNOME Terminal does this, since this seems like an overall cleaner option.

I might have misremembered how it worked. There was some environment weirdness in the past but it does not seem to use systemd-run I was thinking of.

Hmm, systemd-run seems interesting and could work, however trying to recreate a proper user environment inside that seems... painful.

It's unfortunate that building a form of transient path isn't really possible with a var like TRANSIENT_PATH, otherwise that would be highly convenient.
Though, I've had a thought: When using a wrapper, would it be possible to format the additions to PATH in such a way that it is easily removed through something in a shell's init script (or if you want to clean it before running a process through some helper script), like with an ignored keyword that is included in that part of the PATH.
I'm not sure how practical it would be, if at all, but something like /nix/store/XXX-thing/bin -> /nix/store/wrapped-XXX-thing/bin, and since the wrapped- prefix is special, it would be filtered out. Then a script could remove the wrapped paths.

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/overlay-with-new-version/20076/8

If hardcoding paths to avoid the need to wrap isn't feasible, another option would be to patch the location where kitty starts the shell or other program it's supposed to run inside the terminal, and run it with an "unwrapper" script. Since the "unwrapper" script would be part of the kitty package, it would know, character for character, what was done by the wrapper, so undoing it cleanly shouldn't be hard.
See also: #186243

I am surprised that this GitHub issue has seen activity again, but yeah the problem really is everywhere.
I honestly didn't think about the possibility of an 'unwrapper', that sounds like a surprisingly good solution, even if admittedly weird-feeling.
As much as it feels like there should be some fundamentally better solution, an unwrapper would at least work.

I am from #186243.
After a day of trial and error, I got a method that works for me and I share it with you.
It is simple though, just append
PATH=$(echo "$PATH" | sed 's/\/nix\/store\/[a-zA-Z._0-9-]\+\/bin:\?//g' | sed 's/:$//')
export PATH="$PATH"

to your .zshrc or .bashrc.
This is in response to the fact that the only PATH included in the wrapper is /nix/store,
It is only valid within a shell session, so side effects may be minimal.

Hmm, that will interfere with nix shell and nix-shell functionality, but if that's not an issue for you, it's a decent solution.

Ah, indeed.
I had only checked nix-direnv.
I modified it a bit so that nix shell and nix-shell are not affected.
(Split by shell depth, need to set environment variable if startx is used)
 if [ -n "$DESKTOP_SESSION" ] && [ "$SHLVL" -eq 2 ] || [ "$SHLVL" -eq 1 ]; then
    PATH=$(echo "$PATH" | sed 's/\/nix\/store\/[a-zA-Z._0-9-]\+\/bin:\?//g' | sed 's/:$//')
    export PATH="$PATH"
fi

Repeating this here from the terminator issue, since most of the discussion of workarounds has been here:
if [ "$(basename "$(readlink "/proc/$PPID/exe")")" -eq ".kitty-wrapped" ]; then
    PATH=$(echo "$PATH" | sed 's/\/nix\/store\/[a-zA-Z._0-9-]\+\/bin:\?//g' | sed 's/:$//')
fi

Should be a more accurate condition than @misumisumi's above. It's still not perfect, though. If you start a kitty instance from inside a nix-shell, for example, it will remove things it shouldn't. A more nuanced sed command might be able to help with that, based on the predictability of what kitty's wrapper adds to the PATH.

I think, the imagemagick one can be solved by doing (not tested):
postPatch = ''
  substituteInPlace tools/utils/images/loading.go \
    --replace \
      'return utils.FindExe("magick")' \
      'return "${lib.getExe imagemagick}"' \
'';

But I'm not sure where the ncurses binaries comes into the picture. Anyone have any ideas?

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/how-can-i-find-out-why-imagemagick-is-in-my-path/36646/2

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/how-is-xdg-data-dirs-set-for-some-apps/38432/4


error-reporting: fix up sample

The whole divide by zero thing is weird. Just use panic or remove the panic/defer code completely.

At @broady you mean this https://github.com/GoogleCloudPlatform/golang-samples/blob/be19f2b968157194852798eedd410de164a617c1/docs/error-reporting/fluent/main.go#L55-L69
IMHO it suffices and doesn't need removing to use panic, because it shows the user how to capture the stacktrace for their bug report. What do you think?

Yep, that one.
I guess it's fine, but I don't fully understand the usage of error reporting for Go. Do we really want people to only use it for panics?
/cc @rakyll

There's a package that may simplify the code a little; github.com/pkg/errors
Thus
// Handler for the incoming requests.
func demoHandler(w http.ResponseWriter, r *http.Request) {
err := errors.Error("Runtime Issue with demoHandler")
if err != nil {
report(err, r)
}
}
The report func will now accept an Error rather than a string and using the errors.Errorf("%+v", err) the stack trace can be viewed.
I'm not sure, though, how helpful stack traces are as Rob Pike has written that errors should be given context before before bubbled up the stack or dealt with.  Using the errors pkg we could now wrap one context within another potentially creating a much nicer and helpful error message rather than a stack trace (remembers screens full of java stack traces....!)  Just my two pennies.

@broady @odeke-em I haven't seen any feedback about this. Do you still have ideas about how to improve it, or should we close this?
@brotherhod Thanks for the link and example. I'd prefer to avoid using any additional external dependencies.

Declaring issue bankruptcy on this. Feel free to reopen if you want to fix it.


Issues with package-lock.json when stable version is 7.1.7

When I try to build extension env with version 7.1.7 npm install errors (integrity checksum) occurs.

probably it's issue with espo base

try upgrading npm to v8.0 or greater.


I would like to use the ntfs3 driver on Oracle 9.3 uek

The performance of the ntfs3 is about 2-3x over the driver provided by the package ntfs-3g for our application.  The kernel sources for 5.15.0-201.135.6.el9uek.x86_64 contain the Makefile and Kconfig for this driver but not the sources so the driver cannot be built.
The ntfs3 driver is provided by other distros like Ubuntu that are using the 5.15 kernel.

I just saw this from the Linux community.  https://www.phoronix.com/news/Linux-6.9-Dropping-Old-NTFS.  I know that this is not a priority for your team, however, since the performance of the kernel driver is far superior and the support for the fuse driver is likely to lag now that it is being deprecated it make sense to port the driver sooner rather than later.


Meta.json supports source field now

Copyright field should reference the codebase and commit and if possible / known, the author.
Source is used for linking the codebase GitHub and file if you’re feeling nice.

The source field is present in RGAs, not RSIs


Type checking preservation at runtime

Currently I don't use TypeScript (hereinafter – TS) , but I see it as a tooling in my future list if it could preserve things within boundaries of JavaScript specification at runtime . Let me show you simple example what do I mean .
Consider the following .ts code:
function f(id: string) {
    return id;
}

Above would be transpiled to the following .js code:
"use strict";
function f(id) {
    return id; // where the heck typecheking gone ? Oh I see it's only at "virtualized" compile stage
}

Rather than someone's expected of so called "idiomatical emmetization":
"use strict";
function f(id) {
    return typeof id === 'string' ? id : false ; // preserve that is comprehended by specification, syntax
}

We can write boilerplaty type checking within JavaScript (more precisely ECMAScript) specification preserving it for runtime
Cornerstone question: why couldn't we suggest this as a future , at least optionally .ts source code be preserved for typechecking in final .js file rather than pretending be a (trans)compiler only at compiling , not runtime stage . Thank you .

Duplicate of #1573.
You forgot to fill out the issue template. It links to the language design goals, where this feature is explicitly excluded.

Sorry for duplication & thanks for answering . Good luck !


Summaries missing when logging from Flux training loop

After updating to ProtoBuf 1.0.0 #124 I found that summaries are not logged correctly to Tensorboard.
Some of them do get logged but some don't. I suspect that's because some summaries are fine but after trying to log incorrectly with some of them, the file or tensorboard stops registring the ones following that.
I prepared a minimal reproducing code by revising the Flux example to the new Flux API (the existing example uses a deprecated API)
https://github.com/nomadbl/TensorBoardLogger.jl/commit/fc9ba3e0ee6c88eb96d7317fa46ce24f2e94d11d
During logging I observe an error message
[2023-07-01T23:12:43Z WARN  rustboard_core::run] Read error in ./content/log/events.out.tfevents.1.68825314069885e9.lior-HP-Pavilion-Laptop-15-cs3xxx: ReadRecordError(BadLengthCrc(ChecksumError { got: MaskedCrc(0x85987b32), want: MaskedCrc(0x00000000) }))

Which after some googling I can only speculate it indicates it has something to do with multiprocessing and the file trying to get written by multiple instances of the logger in different threads.
So far I tried (without success) to fix it under that assumption by specifying the logger should lock the file:
src/TBLogger.jl, 119:
file = open(fpath, "w"; lock=true)
Any other ideas or insights are welcome. I'll try to isolate the issue using the above mentioned reproducing code.

I succeeded in altering the flux example such that the bug does not occur:
https://github.com/nomadbl/TensorBoardLogger.jl/commit/e0f2245c8b2bcf319cc987653d39f6e6444a2a39
The trick was to change lines like
@info "train" loss=loss_fn(pred, y) acc=accuracy(pred, y)
into
@info "train/vals" loss=loss_fn(pred, y) acc=accuracy(pred, y)
That is, the bug is somehow caused by tag names.


[E2E] Set pullsecret content when prompted from tray

This fixes #2374
Now instead of pullsecret file location the content is added when prompted during CRC start from tray on MacOS.

Can one of the admins verify this patch?

add to whitelist


Deploy on Github using Github Actions.

Hey!  Thanks for this!  Unfortunately I cannot merge this PR because this would affect the container build.  This is a good reference if you wanted to fork and build this and deploy it to your own github page, however we already have a github page and again, this would no longer make the container available for people to pull.


Inaccurate Instructions for Removal of Redux

In the README, the section which lays out how to remove redux is inaccurate/incomplete. See: https://github.com/coryhouse/react-slingshot#do-i-have-to-use-redux

main.js isn't a file, should be index.js
doesn't make it clear whether you should remove or keep react-redux and Provider
doesn't make it clear whether you should remove or keep store, configureStore
"reference your top level component (instead of Redux's root container at ./containers/root)" is not followable. There is nothing left after following the removal steps which actually imports or requires /containers/root

Great point. I threw these steps in quickly as some general guidance but clearly didn't actually step through this to confirm. I don't have time to do so right now, but I just updated the steps so it's at least much closer.

No prob, redux is just still very immature right now. I think this boilerplate is very well put together and steps to remove redux should make it more easy to gain wider adoption. The most recent changes already look a lot better! Cheers

I've updated the Redux removal instructions to provide the exact details and tested the steps myself. Thanks for the heads up!


Catch up with latest Reactor snapshot

BTW "Big List in DATA-DRIVEN mode" doesn't work for me. Is it supposed to?

@rstoyanchev it should now. It worked before with the old snapshot of Reactor, but once updated it simply stopped after a couple of requests to the flow.
I changed the Flux.create(...) call I was using there to a Flux.generate(...) in a similar way to what you did for the buffered flow creation and now it works again.

By the way... not sure of the difference between create(...) and generate(...) there. Obviously one works for me now and the other doesn't :) but... generally speaking... why is this?

I'm not too certain of the difference myself. These methods were recently refactored as well. I must have stumbled onto the right answer TBH. I believe generate calls your consumer once per requested item while create calls you whenever there is a request and you can check the actual request count via emitter.requestedFromDownstream(). The Javadoc seems unhelpful and possibly outdated on create in particular. @smaldini does that description sound right?

Before M4 there will be another pass on javadoc to fix these. Don't hesitate, also EmitterProcessor and the Processor space is a specific focus of the M4.
I'll review more closely later, I have a workshop today and I need to produce some decision matrix soon for operators to help. If @akarnokd you have also spare time it would be nicesome. I think having a real reactive templating solution is full of promises so we will help as much as we can spare @danielfernandez !

Regarding create vs generate, in M4 generate simply allows you to use a callback per demand decrement and to pass a context (much like scan/reduce) from the function result.

Awesome @smaldini, thanks.
Just wanted to note though that Thymeleaf is not a real reactive templating solution as it is not developed in a reactive way, nor its architecture is reactive. Some parts are actually synchronous and blocking, mainly resource resolution --which uses blocking I/O-- and cache access --which uses ConcurrentHashMap--. However, in most scenarios the template cache is used so this latter is the only blocking part of a template execution process.
So in order to be 100% fair this integration does not turn Thymeleaf into a reactive template engine --I don't even know if such thing exists :)--, but simply makes Thymeleaf very reactive-friendly and able to work as a step of a reactive data flow (or Flux, Publisher, Observable or whatever the name :))

Reactive Streams is not totally orthogonal to blocking, and Rx or Reactor are providing proper execution strategies developers can pick vs imposing an execution model.
What it could bring in terms of predictable capacity is however huge, the QoS introduced by the flow control tells how much your application can do at a given time T.
Non Blocking means that it doesn't negatively impact the caller, reading from memory doesn't, reading from IO does. But again that's a totally acceptable behavior in Rx/Reactor to have a blocking block if you isolate it later (or hint the user to do so if they want) with thread boundaries : publishOn/subscribeOn

Alright, thanks a lot for the explanation :)

Thanks a lot for your effort ! We'll get back to you later on and we can iterate also on the implications of reactive. I think it's a total new territory and we will come up with interesting observations anyway, especially if the template play nicely with Publisher based variable ! That already needs a heck of deferring to manage 👍


Package by feature

Change project structure to package by feature

@macieg-b UrlView is not closely connected with any other resource. For now it's the only place where it's in use, but it will be useful for other resources with upload file feature.


Fix issue with isValidElementType invariant check crashing on valid t…

…ype with circular structure
Repro - https://codesandbox.io/s/jnmoxr5mk3
Emotion is attaching created component to the returned styled component (creating a circular structure) to easily "flatten" subsequent calls wrapping that component, as in:
const Div = styled.div`color: white;`
const Div2 = styled(Div)`background-color: pink;`

Can you run this through Prettier? And can you add a test?

Can you run this through Prettier? And can you add a test?

Done & done.

Thanks for this and the other updates!


Ceph NVMe Support

1.The previous PR is https://github.com/blueboxgroup/ursula/pull/2472
2. Apply previous code to master.

Can one of the admins verify this patch?

"ok to test" to accept this pull request for testing
"test this please" for a one time test run
"add to whitelist" to add the author to the whitelist

@knandya , this is a cherry-pick from pr #2472 , could help review

LGTM

ok to test

Can one of the admins verify this patch?

"ok to test" to accept this pull request for testing
"test this please" for a one time test run
"add to whitelist" to add the author to the whitelist


Trouble evaluating javascript within iFrame to locate an element within it

Capybara Poltergeist
I am trying to process a jQuery script within an iFrame to locate an element, or count it. However, the script results 0. When I pause the rspec test, it results in 1, as well as in development.
capybara 2.7.1
poltergeist (1.10.0)
phantomjs: stable 2.1.1
it "should be able to initialize album" do
    visit "/t/socks"

    execute_script('scrollTo(0, $("#pixlee_container").position().top-100)')

    @iframe = all('iframe[title="Pixlee media widget"]').last

    within_frame(@iframe) do
      find(:xpath, '//li[@class="photo_block"]', :match => :first).click
      expect(evaluate_script('$("div.mfp-container.mfp-image-holder").length')).to eq(1)
    end
  end

Where are you pausing the test that changes the result?  If it's right after the find line - then it's probably because the action click triggers hasn't completed yet.   You either need to check for some visible change that occurs on the page or better yet, just use the RSpec matchers rather than evaluate_script
expect(page).to have_css('div.mfp-container.mfp-image-holder', count: 1)


Print and Filament profile options are nameless (CuraEngine configuration)

There is no label "select Profile" on the left side of the profile "drop down menu" Also, the print and filament profiles should merge so it become one profile for both instead of two

Where are you? Can you post a pic showing what you are doing. I have the feeling you are at wrong position. Each CuraEngine starts with a default profile by default and you can add more by hitting "save as"

Yes I know, and the "default" drop down menu has no name or description that you talking about. Everything else has


Add support for positive, negative and warning buttons

Converting to draft whilst discussions are happening

closing in favor of #4067


[bug]: Control Layer opacity resets back to 100%, and Denoising Strength to 0.75 via Send to Image to Image

Is there an existing issue for this problem?

[X] I have searched the existing issues

Version number
4.2.1
Browser
Edge latest
What happened
Send to Image to Image should not reset the layer opacity back to 100% or denoising strength to 0.75, making user to constantly set it back to preference. It should keep the user-set values. Drag-and-drop doesn't reset it, works correctly.

merged into #6399


add World 3 Beach

Closes Gamify-IT/issues#42
in folder Worlds the scene World 3 needs to be loaded
you can walk over the light water, and the black shadows on the sand are meant to be paths

minigame spots:

dungeon spots:


Abnormal behaviour of text input field on chrome for windows with onScreen keyboard, touchscreen.

Steps to reproduce
Note: Should be a touchscreen PC/Samsung second screen. onScreen Keyboard should be in docked mode.

Inside a [Scaffold] create [SingleChildScrollView] then a [Column].
Inside [Column] place a [TextField] at a place where it is sure to be covered by on screen keyboard.
Tap on [TextField].

Expected results
[TextField] should have been visible on screen after onScreen keyboard appears.
No Clipping of contents.
Everything works fine if [TextField] is visible when on screen keyboard appears, but fails in cases when even after on screen keyboard appears [TextField] is still behind it.
Actual results
Whole UI is translated up as a result a white box is displayed instead of actual UI and thus a visible clipping is observed.
Code sample
Code sample
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(title),
      ),
      body: Center(
        child: SingleChildScrollView(
          child: Column(
            children: <Widget>[
              Container(
                color: Colors.red,
                height: 700,
              ),
              TextField(
                decoration: InputDecoration(
                  border: OutlineInputBorder(),
                  labelText: 'Enter your username',
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
Expected Results
https://github.com/user-attachments/assets/b8c20640-5c95-4994-8651-c65155efaa04
Running on Chrome for Windows on a touchscreen Samsung tablet through Second screen.
Actual Results
https://github.com/user-attachments/assets/cf133be2-3bf4-4b9c-ad80-4dd247411f05
Running on Chrome for Windows on a touchscreen Samsung tablet through Second screen.

Logs
Logs
PS A:\FlutterP\test> flutter logs
Connected devices:
Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.26100.2605]
Chrome (web)      • chrome  • web-javascript • Google Chrome 131.0.6778.205
Edge (web)        • edge    • web-javascript • Microsoft Edge 131.0.2903.112
[1]: Windows (windows)
[2]: Chrome (chrome)
[3]: Edge (edge)
Please choose one (or "q" to quit): 2
Showing Instance of 'NoOpDeviceLogReader' logs:

Flutter Doctor output
Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 3.27.1, on Microsoft Windows [Version 10.0.26100.2605], locale en-US)
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
[√] Chrome - develop for the web
[√] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.12.3)
[√] Android Studio (version 2024.1)
[√] VS Code (version 1.96.2)
[√] Connected device (3 available)
[√] Network resources

• No issues found!

Dartpad also shows similar issue I.E the editor itself is unusable with docked on screen keyboard with most latest chrome version on windows.

Issue i due the fact that flutter is modifying screen height instead of viewInsets bottom.


[scan] Properly handle report generation failures

[x] Run bundle exec rspec from the subdirectory of each tool you modified. Alternatively, run rake test_all from the root directory.
[x] Run bundle exec rubocop -a to ensure the code style is valid
[x] Read the Contribution Guidelines
[x] We currently don't accept new actions, please publish a plugin instead, more information in Plugins.md

A failing report generation (e.g. when given a non-writable path) was erroneously reported as successful.
Now, an error is properly reported and the scan process exits with a non 0 status code.

This is a great change, thanks 👍


Adding custom path for command line pool configs and Improved command line UI

PR for issue #48

Created a test config file in crates/cli/config-test to make sure it was working
Changed the struct Cli to `struct Args to be consistent with the clap documentation
Changed the config field for enum Commands from a bool to a String with a default value ""
Added logic to handle the case where a path is given as part of the config command such that the proper config file is used (that follows the path given in the command line)
Reformatted the terminal output to look nicer and give users more, useful info that gives them confidence their commands were parsed correctly

need to get lint passing too

Made the changes and ready for re-review @ts0yu


Disable lint CI signal

Lint style has diverged since fb-internal lint engine has been changed.
Backport of #2466.

lg for now, is there a plan for a longer term fix for this?

The long term fix is to match the OSS lint tool with fbcode, but I have not succeeded. It's unexpectedly tricky...