Optimize the logic for inlining procedures

The way procedures are parsed and inlined causes extra noop operations to be added and can be optimized.
As noted in the specs, the rules for grouping operations inside of span blocks are:

the maximum number of operations per group is 9 (since a group is represented by a single 64-bit field element and each opcode is encoded with 7 bits)
the first group of a batch can start with any operation
for all other groups in a batch (groups 2-8), an operation carrying an immediate value (e.g. push.2) cannot be the first operation in the group. In this case, the VM must insert a noop in front of it.

Currently, it seems that noop insertion is done during procedure parsing and then again during procedure inlining, causing extra unnecessary noop instructions to be added.
Here are some (very contrived) examples to demonstrate:
Example - Procedure Without Locals
Assembly:
    proc.foo
        push.0 push.0 push.0 push.0
        drop drop drop drop
        push.3 push.7 mul
    end
    begin
        push.2 push.3 add
        exec.foo
    end

Compiled:
    begin
        span
            push(2) push(3) add
            pad pad pad pad
            drop drop drop drop
            push(3) noop push(7) mul
        end
    end

The noop is added during the parsing of the procedure where push(7) would be the 10th instruction and would therefore be the first instruction in a group. However, once the procedure is inlined, this noop is no longer necessary, because at this point the second group starts with drop. The batches in the compiled script seem to regroup the operations correctly such that the push(3) and push(7) from the procedure are no longer in different groups, as seen here:
Op Batches:
op_batches: [
        OpBatch {
          ops:
            [Push(BaseElement(2)), Push(BaseElement(3)), Add, Pad, Pad, Pad, Pad, Drop, Drop, Drop, Drop, Push(BaseElement(3)), Noop, Push(BaseElement(7)), Mul],
          groups:
            [BaseElement(1016745240677138690), BaseElement(2), BaseElement(3), BaseElement(241055074062), BaseElement(3), BaseElement(7), BaseElement(0), BaseElement(0)]
        }]

Example - Procedure With Locals
Assembly:
        proc.foo.3
            push.0 push.1
            storew.local.2
            add
            push.0
            loadw.local.2
            mul
            push.0 push.0 push.0 drop drop
        end
        begin
            push.4 push.3 push.2 push.1
            exec.foo
        end

Compiled:
        begin
            span
                push(4) push(3) push(2) pad incr
                push(3) fmpupdate
                pad pad incr
                push(2) neg fmpadd storew
                add
                pad
                noop push(2) neg fmpadd loadw
                mul
                pad pad pad drop drop
                noop push(3) neg fmpupdate
            end
        end

In this example, the first noop is added on line 9 during procedure parsing where the 1st operation of the second group of the procedure operations is push(2) (the first VM instruction for loadw.local.2). Once the procedure is inlined, the placement of this noop is no longer necessary. However, once all operations are combined, the second noop needs to be added, since, after the inlining, the push(2) on line 12 would be the first operation in a group. Notice that without the first unnecessary noop this second noop would not be required.

Another issue we need to consider during procedure inlining is procedures where the body of the procedure does not start/end with a Span block. For example, something like this:
    (root)
   /     \
(span) (group)

Here, the Span block (the left child) can be combined with the outer Span block (the one where exec.<proc> is defined) but the current logic will not do that.

This issue should be resolved by #212 , but it would be good to 1) confirm that it's resolved and 2) identify if any other similar suboptimal behaviour has been introduced or still exists.

@bobbinth @grjte: I can confirm this.

The issue I think has been resolved now. I don't see a NOOP when compiling a script in the assembly. For eg in the above cases I'm seeing the following outputs:
Procedure without Locals
Assembly
        proc.foo.3
            push.0 push.1
            storew.local.2
            add
            push.0
            loadw.local.2
            mul
            push.0 push.0 push.0 drop drop
        end
        begin
            push.4 push.3 push.2 push.1
            exec.foo
        end

Compiled
        begin
            span
                push(2) push(3) add
                pad pad pad pad
                drop drop drop drop
                push(3) push(7) mul
            end
        end

Op Batches:
   OpBatch
       ops:
           Push(BaseElement(2)), Push(BaseElement(3)), Add, Pad, Pad, Pad, Pad, Drop, Drop, Drop, Drop, Push(BaseElement(3)), Push(BaseElement(7)), Mul
       groups:
           BaseElement(944120264010105348), BaseElement(2), BaseElement(3), BaseElement(19872679565), BaseElement(3), BaseElement(7), BaseElement(0), BaseElement(0)
       op_counts: [9, 0, 0, 5, 0, 0, 0, 0],
       num_groups: 6

Procedure without Locals
Assembly
        proc.foo.3
            push.0 push.1
            storew.local.2
            add
            push.0
            loadw.local.2
            mul
            push.0 push.0 push.0 drop drop
        end
        begin
            push.4 push.3 push.2 push.1
            exec.foo
        end

Compiled
        begin
            span
                push(4) push(3) push(2) pad incr
                push(3) fmpupdate pad pad incr
                push(18446744069414584319) fmpadd storew
                add pad pad pad pad drop drop
                push(18446744069414584318) fmpupdate
            end
        end

Op Batches:
    OpBatch
       ops:
           Push(BaseElement(4)), Push(BaseElement(3)), Push(BaseElement(2)), Pad, Incr, Push(BaseElement(3)), FmpUpdate, Pad, Pad, Incr, Push(BaseElement(18446744069414584319)), FmpAdd, StoreW, Add, Pad, Push(BaseElement(18446744069414584319)), FmpAdd, LoadW
       groups:
           BaseElement(871459861915828740), BaseElement(4), BaseElement(3), BaseElement(2), BaseElement(3), BaseElement(3748138813820535305), BaseElement(18446744069414584319), BaseElement(18446744069414584319)
       op_counts: [9, 0, 0, 0, 0, 9, 0, 0],
       num_groups: 8

    OpBatch
       ops:
           Mul, Pad, Pad, Pad, Drop, Drop, Push(BaseElement(18446744069414584318)), FmpUpdate
       groups:
           BaseElement(1706892237932106), BaseElement(18446744069414584318), BaseElement(0), BaseElement(0), BaseElement(0), BaseElement(0), BaseElement(0), BaseElement(0)
       op_counts: [8, 0, 0, 0, 0, 0, 0, 0],
       num_groups: 2

@0xKanekiKen - great! Thanks for checking!


The leaderboard is missing in https://paperswithcode.com/sota/abstractive-text-summarization-on-samsum-1

Since it gets removed by the officials, we close this issue for now.


Duplicate plugin for node4

https://github.com/rtsao/babel-preset-es2015-node/blob/node4/index.js#L6
and
https://github.com/rtsao/babel-preset-es2015-node/blob/node4/index.js#L7

And I think it misses http://babeljs.io/docs/plugins/transform-es2015-spread/ according to https://nodejs.org/en/docs/es6/

I can confirm that this preset is broken for node 4. Adding the spread transform fixes it:
    require("babel-plugin-transform-es2015-spread"),

Wow, nice catch! This must have been due to some oversight when merging... Sorry for the delay fixing this, somehow I missed this issue on GitHub. I've published v4.0.1 which resolves the problem.


Most Basic Hardware Implementation

What is the simplest standalone hardware setup you would recommend for this?
What service would you run to be able to access the graphed results on another device's web browser?

simplest standalone hardware

A Raspberry Pi 3 with one of these : http://www.tp-link.com/us/download/TL-WN722N.html. Works to about $50.

What service would you run to be able to access the graphed results

This is my favorite web hosting server: https://caddyserver.com/. Download and just run caddy in the folder with the graphed results and you can access via http://YOUR_IP:2015.

Great. Thank you!
Do you know if the ASUS USB-AC51 AC600 is compatible? (It is the most compact.)
Also, what about the Raspberry Pi Zero W? Would that form factor work? With or without a USB network adapter?

Not sure if that ASUS is compatible.
Pi Zero W would work, I think just fine. It needs to also have a WiFi onboard (similar to the Pi 3) so that you can connect to it. The WiFi card that is used for howmanypeoplearearound won't allow connections during the scan.


how to share authentication across sub domains?

I have done some research about sharing the auth across sub domains of my apps. However,I didn't find much.
For example,I have applications like  login.myapp.com, admin.myapp.com, app1.myapp.com...
I want to authenticate with login.myapp.com and then redirect admin,app1,app2 vs. How to do this?

Hey @halildundar! This isn't specific to AngularFire so I'm closing it here to focus on lib specific issues. Try your question on StackOverflow or the Firebase discuss google group.


Add unit tests to BluePic-Server

More importantly- integration tests. Take a look at the test cases that use URLSession and spin up a Kitura server during testing time:
https://github.com/IBM-Swift/Blitter/blob/master/Tests/BlitterTests/BlitterTests.swift

Another option: https://docs.travis-ci.com/user/environment-variables/#Defining-encrypted-variables-in-.travis.yml

Yeah, that's the other option. I think checking in the cloud_config.json file will end up being less work since Swift-cfenv is set up to read in those json files and interpret the VCAP params. Otherwise, we'd have to do a lot of this stuff ourselves if the env vars are defined there.

Our populator script with run before each test now, reseting the database.

In regards to the last comment, I have commented out the reset call to speed up development.
Additionally, testing status is that the unprotected endpoints are mostly tested.

Refer to https://github.com/IBM-Swift/BluePic/blob/develop/BluePic-Server/Sources/BluePicApp/ServerController.swift#L113 to perform authenticated requests. Ensure MCA guid is correct.

BluePic-Server tests are done and working for Mac. Need to test on Linux more.

So far, the problem on Linux seems to be that intermittently, the authorization header in my request comes out as nil on the server side. Seems like it could be a Swift issue, but I'm unsure.

Linux tests are now working using Kitura-net, may need to file issue for why they aren't working with URLSession.


Getting error after reload page

Hi guys, how are you ?
so, I am doing some tests, but I get a 404 after reload the page.
my example is working normally, the route works.
the problem is when I try to reload the page.
my HTML:
<!doctype html>

  <meta charset="utf-8">
  <title>Router test!</title>

My index.js:
import { Router } from '@vaadin/router';

class MyTest1 extends HTMLElement {
  constructor() {
    super();

    this.attachShadow({mode: 'open'});
    this.shadowRoot.innerHTML = `<h1>Meu Teste 1!</h1>`;
  }
}

customElements.define('my-test-1', MyTest1);

class MyTest2 extends HTMLElement {
  constructor() {
    super();

    this.attachShadow({mode: 'open'});
    this.shadowRoot.innerHTML = `<h1>Meu Teste 2!</h1>`;
  }
}

customElements.define('my-test-2', MyTest2);

const outlet = document.getElementById('outlet');
const router = new Router(outlet);
router.setRoutes([
  {path: '/', redirect: '/page1'},
  {path: '/page1', component: 'my-test-1'},
  {path: '/page2/confirmation', component: 'my-test-2'},
]);

my webpack config:
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = ({ mode }) => {
  return {
    mode,
    plugins: [
      new HtmlWebpackPlugin({
        template: './src/index.html'
      })
    ],
    devtool: mode === 'development' ? 'source-map' : 'none'
  };
};

Am I doing something wrong ?

Hi, @heltonalves99! From your description is looks like you've get Router to work, but might have some issues with your webpack dev server setup. Please check out this StackOverflow question as it looks pretty relevant: https://stackoverflow.com/questions/31945763/how-to-tell-webpack-dev-server-to-serve-index-html-for-any-route
Specifically, please try adding this part:
historyApiFallback: {
  index: 'index.html'
}


Help!

How to use this please help me with it? I don't know anything about coding tbh💀 I've installed it but I don't know how to use it please help me.

How to use this please help me with it? I don't know anything about coding tbh💀 I've installed it but I don't know how to use it please help me.

Step 1: Install VS Code
Download VS Code:
VS Code Download
Install it:
Windows: Run the .exe file.
Mac: Open the .dmg file and drag VS Code to the Applications folder.
Step 2: Install Python
Download Python:
Python Download
Install Python:
Windows:
During installation, make sure to check "Add Python to PATH".
Mac: Python comes pre-installed, but update it if needed via the download.
Verify Installation: Open a terminal and run:
bash
Copy code
python --version
pip --version
Step 3: Install the Python Extension in VS Code
Open VS Code.
On the left sidebar, click on the Extensions icon (or press Ctrl + Shift + X / Cmd + Shift + X on Mac).
In the search bar, type Python and click Install on the official Python extension (by Microsoft).
Step 4: Configure Python in VS Code
Open the Command Palette (press Ctrl + Shift + P / Cmd + Shift + P on Mac).
Type Python: Select Interpreter and hit Enter.
Choose the installed Python version from the list.
If you don’t see it, click Enter Interpreter Path > Find and locate your Python installation.
Step 5: Install the facebook-pages-scraper Package
Open the terminal in VS Code:
Press Ctrl + ~ (or Cmd + ~ on Mac).
Install the package:
bash
Copy code
pip install facebook-pages-scraper
Optional: Install rich for better output:
bash
Copy code
pip install rich
Step 6: Create and Run Your Script
Create a new file in VS Code:
Click File > New File, save it as scraper.py.
Copy this code:
python
Copy code
from facebook_page_scraper import FacebookPageScraper
from rich import print
def main():
urls = [
"/instagram",
"https://www.facebook.com/facebook",
"https://www.facebook.com/MadKingXGaming/",
"https://www.facebook.com/LinkedIn",
]
for url in urls:
    print(f">= Scraping URL/Username: {url}\n")

    page_info = FacebookPageScraper.PageInfo(url)
    print("Page Information:")
    print(page_info)
    print("\n" + "=" * 80 + "\n")

if name == "main":
main()
Run it in the terminal:
bash
Copy code
python scraper.py
You’re Set!
Everything should work now. If you hit any errors, drop them here, and I’ll guide you through it. 💀

Sir thank you so much for the detailed help appreciate your kindness and efforts but I need help with the step 6.. Created a file copied the code but where do I paste it and where do I add the facebook user url? Please help almost there😅


How to test segmented_cache  with ProPER?

Hi @NelsonVides
I'd like to test segmented_cache_proper_commands.erl with ProPER.
Which command should I use?
Many thanks
my config: Erlang 25 on macOS Sonoma

Hey there :)
I'd usually do rebar3 ct, or even more precisely rebar3 ct --suite test/segmented_cache_SUITE.erl --group basic_api --case stateful_property, as here PropEr runs directly within common tests.
Let me know if it works!

@NelsonVides Thanks a lot. It worked as expected.


update Cilium base images

Update images to get some potential security updates.
Signed-off-by: André Martins<EMAIL_ADDRESS>

test-backport-1.9

test-1.17-5.4

This PR is necessary for an upcoming security update and the only gke-stable failure is due to a known issue where the image pull can fail on this branch which leads to several tests failing (because the cluster can't deploy the version that needs to be tested). The rest of the tests are green, indicating that it's unlikely there is a consistent issue elsewhere.
Good to merge.


It support Listview better than RecyclerView

But I want to use RecyclerView

It does support RecyclerView, thanks!


refine logging in Chaos Mesh

Signed-off-by: STRRL<EMAIL_ADDRESS>rendered markdown: https://github.com/STRRL/rfcs/blob/logging/text/2021-12-09-logging.md

PTAL
@chaos-mesh/maintainers @chaos-mesh/committers

/cc @chaos-mesh/maintainers @chaos-mesh/committers

Have you considered embedding the log into the context (through context.Context or something)? As it would be better to wrap some context information into the log. For example:
log = log.WithValue("item", chaos.Namespace + “/” + chaos.Name)

I really hope every log inside a reconciler can print the id of the current resource. Maybe this problem is more about tracing, and opentelemetry-go also needs to pass context.Context to everywhere. A wired thing is that the log and tracing cannot be combined organically (the logging feature of telemetry-go is not implemented yet)

I prefer to add a new section: ### Logging in development and production.
Zap has two common ways to build a logger, zap.NewDevelopment() and zap.NewProduction(). Until now, we have only used Zap.NewDevelopment in our code, but we can't Ignore the difference that the production log makes.
Honestly, it's difficult to filter the production log with console encoder, to achieve the structured logging, a simple way is to use zap.NewProduction(). We can do this by configuring.
Also, with the customization provided through zap, we can build our flexible logging.

Have you considered embedding the log into the context (through context.Context or something)?

Yes, but it's not very good as I first imagined. For context.Context, that's actually a kind of abuse for it: the most usage of context.Context is working as the "cancellation signal" between goroutines or carrying "request-values/session" between goroutines. As the second usage, there are several problems:

For a public/exported function with a context.Context as the first parameter, it's impossible to assume that there would always be a logger inside the Context, if there is no logger in it, there is nowhere to grab a new one: The global logger is tried to not use. And it's also hard to build a new logger based on other values in context.Context(include by call stack or reflect, and these are kind of "magic").
There are many functions that do not contains context.Context as their parameter.

So, I do not think using context.Context is NOT a good idea.
And there are some references when I researching on it:

Passing Loggers in Go: Golang Logging Best Practices
The package level logger anti pattern
Context is for cancelation

A wired thing is that the log and tracing cannot be combined organically (the logging feature of telemetry-go is not implemented yet)

Yes, I am also confused about that. And I think all the gophers are bothering on that. For Java (and other JVM Language), tracing and logging have been combined by the logging feature called Mapped Diagnostic Context(MDC)( MDC based on thread-local, provided by slf4j or other logging framworks). And before the population of most tracing infrastructure and its an abstraction(concepts like Span, whatever), the usage for MDC have been widely used.
There is no implicity thread-local in go, so I think the tracing infrastructure stuck in here: must acquire an explicitly context.Context.
For that, before we have the common design for open-telemetry, I guess the most probably way is implementing a library that with "best-effort" pattern with context.Context, tracing and logging, like:
fun attachOnSpan(ctx context.Context, originLogger logr.Logger) logr.Logger {
  var result logr.Logger = originLogger
  spanID, traceID, err := parseSpanFromContext(ctx)
  if err != nil {
    return result
  }
  result = result.WithValue("spanID", spanID, "traceID", traceID)
  otherKVs, err := parseOtherValues(ctx)
  if err != nil {
    return result
  }
  // iterate otherKVs
  result = result.append(..., ...)
  return result
}

I prefer to add a new section: ### Logging in development and production.
Zap has two common ways to build a logger, zap.NewDevelopment() and zap.NewProduction(). Until now, we have only used Zap.NewDevelopment in our code, but we can't Ignore the difference that the production log makes.
Honestly, it's difficult to filter the production log with console encoder, to achieve the structured logging, a simple way is to use zap.NewProduction(). We can do this by configuring.
Also, with the customization provided through zap, we can build our flexible logging.

Ah, I have not decided about which logger backend(zap, or others?) should we use and how to configure that logger. And this PR focus on the guideline for codes style and library dependency. And about the configuration of the logger is more about maintenance and operating on Chaos Mesh, it would not be complex as this RFC, and it also needs more talks in the next PRs.
At least, I think we would most probably build the logger with custom config, because it is required by some wanted feature:

runtime log level change, needs AtomicLevel
simplify output for Kubernetes runtime.Object, needs https://github.com/kubernetes-sigs/controller-runtime/blob/master/pkg/log/zap/kube_helpers.go
write into stdout, not stderr(not sure)

@STRRL Then how could we solve the need for log = log.WithValue("item", chaos.Namespace + “/” + chaos.Name). Should we add a log parameter for so many functions? It is really disappointing, and will discourage us to print a log.
Another possible solution, apart from inserting the log into the context.Context (which is dangerous, as the log could be nil, which means we will use the global one unintentionally), we could also build a logger from context: This Article described a draft implementation. For short:
// Logger returns a zap logger with as much context as possible
func Logger(ctx context.Context) zap.Logger {
    newLogger := logger
    if ctx != nil {
        if ctxRqId, ok := ctx.Value(requestIdKey).(string); ok {
            newLogger = newLogger.With(zap.String("rqId", ctxRqId))
        }
        if ctxSessionId, ok := ctx.Value(sessionIdKey).(string); ok {
           newLogger = newLogger.With(zap.String("sessionId", ctxSessionId))
        }
    }
    return newLogger
}

Then how could we solve the need for log = log.WithValue("item", chaos.Namespace + “/” + chaos.Name).

I think the most efficient and cleanest way make a "factory pattern": reanme the current abstraction "ChaosImpl" to "ChaosImplFactory", after receiving reconcile request, build each "ChaosImpl" instance with the logger which contains the context.

Another possible solution, apart from inserting the log into the context.Context

I still do not prefer to use context.Context to carry any information until we are going to build tracing infrastructure. 🙈

I think the most efficient and cleanest way make a "factory pattern": reanme the current abstraction "ChaosImpl" to "ChaosImplFactory", after receiving reconcile request, build each "ChaosImpl" instance with the logger which contains the context.

Good. I agree with you.

/merge


Uncaught TypeError: onClickOutside is not a function

"react-onclickoutside": "^5.9.0",
const onClickOutside = require('react-onclickoutside');
console.log(onClickOutside);

Seems like it's an object and I get a TypeError when I try to use it.
I have tried installing, uninstalling, and reinstalling with NPM and Yarn with the same results.
Does anyone know how to require the HOC? The documentation does not seem to be correct in that regard.

Can you try the following in a new temp dir:
npm init -y
npm install react react-dom react-onclickoutside

Which should say something like:
<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>`--<EMAIL_ADDRESS>
And then start up node and require the hoc:
node
require('react-onclickoutside')

This should say [Function: onClickOutsideHOC]. If it doesn't, something really weird is going on for you that I cannot reproduce.

I can confirm that it does work in a temp directory with your instructions.
I am on 15.4.1 for both react and react-dom.
Do you think this could be the issue?

It sounds far more like a preprocessor (webpack, require hook, etc) is doing something it shouldn't be doing, but the scientific method requires more debugging: what happens when you just fire up node on its own inside your normal project dir, and say require('react-onclickoutside')?

I get the HOC inside the normal project dir. This must be some kind of bundler issue.

In that case I will be closing this issue, but wish you much coffee for the process of running through all the webpack extensions and plugins that are in effect to figure out which is ruining the party... hopefully it's the first one, and then filing an issue on their issue tracker is only a few minutes work =)

I was getting the same issue using 4.9.0. It seems that webpack was using the AMD module definition which was not working correctly.
(function (root, factory) {
  if (true) {
    // AMD. Register as an anonymous module.
    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(35)], __WEBPACK_AMD_DEFINE_RESULT__ = function(reactDom) {
      return factory(root, reactDom);
    }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
  } else if (typeof exports === 'object') {
    // Node. Note that this does not work with strict
    // CommonJS, but only CommonJS-like environments
    // that support module.exports
    module.exports = factory(root, require('react-dom'));
  } else {
    // Browser globals (root is window)
    root.OnClickOutside = factory(root, ReactDOM);
  }
}(this, function (root, ReactDOM) {

I will try upgrading to ^5.

@vjpr even if it turns out it still applies, please file a new issue instead, so the work can be track independently.


Enabled baked collision checking by default

This should be merged after #102 and:

https://github.com/personalrobotics/prpy/pull/343.
https://github.com/personalrobotics/or_trajopt/pull/27

:+1:


Drop down menu not working

Drop down menu at nav bar not working.
I'm placed js link before the end of body tag and placed jquery.js at upper and bootstrap js at under. Pls help me solve this issue.

my code is like following..
.........
..........

be sure to include Popper.js too or you can use bootstrap.bundle.min.js

working fine with cdn. But not working with offline file.


The variable '$resultLength' without the use

hello
On line 73 php password file.
The variable $resultLength is no use remaining.

It is used on line 157, or what do you mean?

ooooh
yes
The problem in the phpstorm app.


Added the ability to sign and verify messages from the API.

Great... @bokobza @MithrilMan

Would like to see a couple tests:

A message can be signed then verified as coming from that address.
A message signed  with a different key cannot be verified as coming from that address.

Onus shouldn't be on @DennisAMenace for this necessarily, maybe we can have someone take a look @dangershony
I can get to it later on if we need

I'll add the test cases, and make adjustments based on your reviews. Thanks!

Well, not sure what Git did there during the merge.. I can re-create this PR if you want.

Added changes based on the review and added test cases, please let me know if you would like any additional changes.
Thanks!

Brilliant @codingupastorm @bokobza  please review as well.

@DennisAMenace the CI is having issues building the solution. Could you just merge master back into your branch and check that everything builds all good? Cheers

Thanks @codingupastorm - I resolved the merge. It was failing because of the removal of the coin type in a separate PR.
Thanks again!

Thanks @bokobza for the excellent review. I've made the changes you suggested. :)

Excellent work, thank you @DennisAMenace !


refactor(registry): change forwardRef type of CardTitle

@otabek quick note: we'll probably remove the heading here so that you're not locked into using h3 everywhere you use cards.
See https://github.com/shadcn-ui/ui/pull/1108 and https://github.com/shadcn-ui/ui/issues/351


handbrake: 1.4.2 -> 1.5.1

Motivation for this change
Next release.
1.5.0 was published initially, and 1.5.1 is fixup release: https://github.com/HandBrake/HandBrake/releases
Things done

Built on platform(s)

[x] x86_64-linux

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

@GrahamcOfBorg test handbrake


Black borders when resizing an image

Hi !
We have an issue with image resizing in our new application's version : often, there are black borders appearing around resized images.
The developers I'm working with have created a sample application (using resize code from the actual app), that I have added on Github: https://github.com/cosmo0/ImageProcessor.Problems
If you run the app, click on the button, and check out the bin folder, you'll see a ProcessedImage.jpg file with black borders around it (that shouldn't be there).
Is it some bug in the library, or are we using the library wrong ?
Thanks for your help

Bonjour!
The problem is actually in your implementation. Yay!
Resize() defaults to ResizeMode.Pad which will pad the image if both the dimensions are set and if they do not match the aspect ratio of the initial image.
http://imageprocessor.org/imageprocessor/imagefactory/resize.html
Since jpegs do not have an alpha channel the background of the image will default to black when saved in that format - This is the default behaviour of the encoder so I didn't mess with it.
So you have three choices...

Set the ResizeMode to another variable like Crop if you want to use those exact dimensions, Max if you want to set a maximum value for each dimension.
Use the BackgroundColor() method after the resize to set the colour to white or something else.
Use only one dimension so that the other one is automatically determined and the aspect ratio is preserved.

Note. In the code sample you provided you are creating a duplicate Bitmap to save the image. That's probably not wise for memory management. You can use the overload to save to the file directly.
// Initialize the ImageFactory using the overload to preserve EXIF metadata.
using (ImageFactory imageFactory = new ImageFactory(preserveExifData: false))
{
    // Load, resize, set the format and quality and save an image.
    imageFactory.Load(inStream)
                .Resize(resizeValue)
                .Format(format)
                .Save(outFileName);
}

If you need to use a stream you should probably use a FileStream to save the image.
using (FileStream fileStream = File.Create(outFileName))
{
    outStream.Seek(0, SeekOrigin.Begin);
    outStream.CopyTo(fileStream);
}

Hope that helps. :smile:

Awesome! I'll transmit your informations to the developers. Thank you very much for your time! :smile:

No worries. Happy to help :smile:


"Search" button doesn't work if searching for a user

What are you experiencing, describe the bug

I clicked "Search for a user"
I put in my username where I have a plugin connected & enabled
Pressed a search button
Nothing happens
How are you expecting it would work?
Search button loads something that list my collection log

What is your username?
dmxt

Close this.
I just noticed the checkbox "Allow collectionlog.net connection" tickbox. It still doesn't work but I think it might list my username in a short time.


screenshot position offset

The intercepted area is inconsistent with the returned result;
The bottom will move up and the right area will move right!

Never had this problem, but feel free to create a PR

I have also encountered similar problems before, and ultimately found out that it was due to the use of AutoSize. You need to confirm if it is the same problem or if you are using other UI adapted third-party libraries.


Updated the language selection system

Updated the text of the language selection button according to the user's choice.
Managed the opening and closing of the dropdown with a click event on the button.

hey @2MJ-DEV please fetch the latest code from the main branch and add your changes. I will accept the pull request now I cannot see some latest changes made yesterday.

All right, I'll do it.


quantum - cspell found spelling errors

Spell check scanning of quantum detected spelling errors. This service directory is opted out of PR spell checking in PR #17142 to keep merges unblocked.
What to do

Ensure Node.js is installed (https://nodejs.org/en/download/). This will include npx
Delete the service's entry in .vscode/cspell.json's ignorePaths field. It will look like: sdk/quantum/**/*. You need to do this to enable checking the files.
From the root of the repo run spell check using npx cspell lint --config '.vscode/cspell.json' --no-must-find-files "sdk/quantum/**"
Fix detections according to http://aka.ms/azsdk/engsys/spellcheck use the "False positives" section to fix false positives
Check in changes (including the change to .vscode/cspell.json where the ignorePaths is updated to remove the entry for this service.). You may need to run git add -f .vscode/cspell.json to force adding the changes to the file in git.

Spell checking output
/home/djurek/azure-sdk-for-js/sdk/quantum/quantum-jobs/generate.ps1:2:1 - Unknown word (rushx)
/home/djurek/azure-sdk-for-js/sdk/quantum/quantum-jobs/karma.conf.js:77:18 - Unknown word (lcovonly)
/home/djurek/azure-sdk-for-js/sdk/quantum/quantum-jobs/karma.conf.js:77:49 - Unknown word (lcov)
/home/djurek/azure-sdk-for-js/sdk/quantum/quantum-jobs/package.json:25:33 - Unknown word (lcov)
/home/djurek/azure-sdk-for-js/sdk/quantum/quantum-jobs/README.md:72:35 - Unknown word (mycontainer)
/home/djurek/azure-sdk-for-js/sdk/quantum/quantum-jobs/README.md:73:23 - Unknown word (westus)
/home/djurek/azure-sdk-for-js/sdk/quantum/quantum-jobs/README.md:112:23 - Unknown word (myjobinput)
/home/djurek/azure-sdk-for-js/sdk/quantum/quantum-jobs/rollup.base.config.js:57:13 - Unknown word (devdeps)
/home/djurek/azure-sdk-for-js/sdk/quantum/quantum-jobs/rollup.base.config.js:77:14 - Unknown word (azquantumjobs)
/home/djurek/azure-sdk-for-js/sdk/quantum/quantum-jobs/rollup.base.config.js:125:16 - Unknown word (onwarn)
/home/djurek/azure-sdk-for-js/sdk/quantum/quantum-jobs/samples/problem.json:4:18 - Unknown word (ising)
/home/djurek/azure-sdk-for-js/sdk/quantum/quantum-jobs/samples/quantumJobs.js:39:35 - Unknown word (mycontainer)
/home/djurek/azure-sdk-for-js/sdk/quantum/quantum-jobs/samples/quantumJobs.js:40:23 - Unknown word (westus)
/home/djurek/azure-sdk-for-js/sdk/quantum/quantum-jobs/samples/quantumJobs.js:83:23 - Unknown word (myjobinput)
/home/djurek/azure-sdk-for-js/sdk/quantum/quantum-jobs/test/problem.json:4:18 - Unknown word (ising)

Closing this as we will re-open issues per-package and according to feedback in https://github.com/Azure/azure-sdk-for-js/pull/17142


Issue with Extract point features

flatten = torch.sparse_coo_tensor(indices_non_zeros, weight_per_point, matrix_shape)
RuntimeError: size is inconsistent with indices: for dim 0, size is 2 but found index<PHONE_NUMBER>

I perform this command:
cd PaSCo/WaffleIron_mod
python extract_point_features.py
--path_dataset /gpfsdswork/dataset/SemanticKITTI
--ckpt pretrained_models/WaffleIron-48-256__kitti/ckpt_last.pth
--config configs/WaffleIron-48-256__kitti.yaml
--result_folder /lustre/fsn1/projects/rech/kvd/uyl37fq/pasco_preprocess/kitti/waffleiron_v2
--phase val
--num_workers 3
--num_votes 10
--batch_size 2

Do you use pytorch 1.11.0? And can you check if this self.im_idx is not empty?

I am not sure why, I am asking the author of WaffleIron

OK！This error occurs when you run a little bit：
0%|                                                  | 2/23245 [00:03<12:14:45,  1.90s/it]
flatten = torch.sparse_coo_tensor(indices_non_zeros, weight_per_point, matrix_shape)
RuntimeError: size is inconsistent with indices: for dim 0, size is 2 but found index<PHONE_NUMBER>59904

Or can you provide the generated data waffleiron_v2?

Sorry, I didn't keep the files as our cluster has the policy of deleting data after 30 days unused. Still, you need this for later experiments with Robo3D

Thank you for your reply. I'll look for the error first

Another solution is to use the official code of WaffleIron and modify the file eval_kitti.py  following extract_point_features.py.
Also, modify the kitti loader following here to keep only every fifth scan and here to also extract feature for training set..
Then you can use the same command
python extract_point_features.py
--path_dataset /gpfsdswork/dataset/SemanticKITTI
--ckpt pretrained_models/WaffleIron-48-256__kitti/ckpt_last.pth
--config configs/WaffleIron-48-256__kitti.yaml
--result_folder /lustre/fsn1/projects/rech/kvd/uyl37fq/pasco_preprocess/kitti/waffleiron_v2
--phase val
--num_workers 3
--num_votes 10
--batch_size 2

Hi！ How much storage does waffleiron_v2 require？

Sorry, I never measure it.

Is 1T enough？
fq/pasco_preprocess/kitti/waffleiron_v2/sequences/00/seg_feats_tta/003615.pkl
16%|███████▊                                          | 3624/23245 [28:14<2:32:52,  2.14it/s]
It need about 500G。

You should only save ~4000 files. Did you add this filter? We only need to extract features for scan 0, 5, 10, 15, ....
Additionally, you can optimize the dataset type used here. For example, vote -> uint8, embedding-> torch.float16

I mean doesn't he want to save 23245/5=4649 file? But I already need about 500GB running to 3624/5, so does he need about 4TB?

I didn't know it is that heavy. I suggest to optimize the data type here.
Also, I am saving embedding of 10 runs thus it has size of (10, N, 256).  During training, I randomly take 1 of the them. Thus, maybe you can keep only 5.

Btw, could you tell me how did you solve the issue?

Sorry，I could not solve. I optimize the dataset type that vote -> uint8, embedding-> torch.float16, but it still need 600MB for only one pkl, i.e., 000000.pkl

Does this affect the accuracy of the results？

If you retrain the model, I would say no. As for a pretrained model, I'm not certain -- you would need to evaluate it. In my view, this would primarily impact the variance of the predictions, which could influence uncertainty estimation. However, since I am using test-time augmentation, I don't expect the effect to be significant.

Do you know how to solve OSError: /home/yhq/.cache/keops2.2.3/Linux_yhq-acloud_5.4.0-150-generic_p3.9.19/nvrtc_jit.so: cannot open shared object file: No such file or directory

Hi, boys!

Maybe you should reinstall keops?

Thank you. It was solved by reinstalling the system yesterday

I would like to know why I am training on four A100 cards, why there are 3 more processes on GPU 0, and how to evenly distribute them？


delete ModuleDistributedCoins grpc query

Closes: #2766
What is the purpose of the change
This will delete the grpc query for ModuleDistributedCoins
Brief Changelog

change x/incentives query.proto file
remove related cli commands

Testing and Verifying
This PR only removes code, so it likely doesn't require additional verification.
Documentation and Release Note

Does this pull request introduce a new feature or user-facing behavior changes? yes, it will remove the cli queries that use moduledistributedcoins
Is a relevant changelog entry added to the Unreleased section in CHANGELOG.md? yes
How is the feature or change documented? N/A since it is a feature removal

seems it shouldn't be?
There was a file blocking CI, I thought it didn't work, but seems it does :D


Fix display callback for usage with morph maps

We have an issue that the field isn't shown on the index table. After some debugging we noticed that the $value in the displayCallback was the class, but the otherside of the comparison was the name from the morphmap.
This ensures we compare apples with apples 😄

Thanks for the fix @mbardelmeijer!


BEB 3+ player not working

I am having problem as I cannot deliver messages to all the participants.
I believe the error must lay with the fact that I do not distinguish to whom the messages need to be sent.
Message_queue will need to have a different construction.

This is the current idea. For now, I will use a vector, but in the future I would like to have a dynamically sized array. This might require me to create some external source.

Actually, the above is going to have to change a bit. Currently I need to have a system of maintaining a map:
id : Host


Ability to specify AVPlayer UserAgent

Hi,
Is there currently a way to set a custom UserAgent to the AVPlayer?
Thanks!

Sorry I think this should be in the Discussion section. I'll move it there.

Sorry I think this should be in the Discussion section. I'll move it there.


Feature request: Indicate position in code

For my use case, it would be very helpful to trace every import back to the place in a file where it was defined. This could be achieved by adding a field like Import.moduleSpecifier.position: {row, column} and storing these data during parsing.

I wouldn't be opposed to implementing something like that, but would want to understand your use case a bit first.
What would you be using it for? Wondering if having the start and end positions of every part (i.e. the import clause, the module specifier, etc.) rather than just the module specifier could be useful. Also wondering if having the string indices (in addition to the row and column) would be useful

I actually thought about it a bit more, and I think only string indices, rather than row-column, would make sense for parse-imports to support.
Thing is, strings are more complicated than we give them credit for. A "character" doesn't always display as one column wide on a screen. Sometimes it's multiple Unicode code points (like in the case of Chinese characters, letters with accents, emojis, etc.). Sounds complicated enough that this library probably shouldn't be responsible for it.
I would have expected for there to be mature libraries supporting this, but I tested 3 popular libraries and 1 less popular library and not a single a one is correct!
import linesAndColumns from 'lines-and-columns'
import lineColumn from 'line-column'
import findLineColumn from 'find-line-column'
import { lineCol } from 'line-column-mini'

const LinesAndColumns = linesAndColumns.default;

// 🦅 takes up two characters
const string = '🦅🦅!'
let indexOfExclamationPoint = 4

console.log(new LinesAndColumns(string).locationForIndex(indexOfExclamationPoint))
//=> { line: 0, column: 4 } (wrong)

console.log(lineColumn(string).fromIndex(4))
//=> { line: 1, col: 5 } (wrong)

console.log(findLineColumn(string, indexOfExclamationPoint))
//=> { line: 1, col: 4 } (wrong)

console.log(lineCol(string, indexOfExclamationPoint))
//=> { col: 5, line: 1 } (wrong)

In 1-based indexing the correct answer is { line: 1, column: 3 }. Maybe we should send a PR to one (or all) of them... :sweat_smile:

Gotcha! I can try to implement including the string indices soonish and then you'd be able to use one of these packages (or your own implementation) to convert the string index to line-column (the Unicode issue with these packages is unfortunate, but they'll still work for the majority of cases)

Woah, this would be great - even though I won't be able to use it before #3 is resolved.

Would you expect start/end index for module specifier to include the quotes? Meaning, for the following code:
import x from 'wow'

Should code.substring(startIndex, endIndex) give us 'wow' or wow. Not really sure which is better (it's also easy to convert between the two)

Ah, personally I would have expected code.substring(startIndex, endIndex) == "import x from 'wow'". But I don't have a strong opinion on that. :-)

Oh sorry, I wasn't clear. My plan is to add index ranges to multiple parts of the returned object. So the new type will look something like this:
type ModuleSpecifierType =
  | 'invalid'
  | 'absolute'
  | 'relative'
  | 'builtin'
  | 'package'
  | 'unknown'

type Identifier = {
  startIndex: number
  endIndex: number
  identifier: string
}

type Import = {
  startIndex: number
  endIndex: number
  isDynamicImport: boolean
  moduleSpecifier: {
    startIndex: number
    endIndex: number
    type: ModuleSpecifierType
    isConstant: boolean
    code: string
    value?: string
    resolved?: string
  }
  // Would be a breaking change for this object, but maybe it's worth it
  importClause?: {
    default?: Identifier
    named: Identifier[]
    namespace?: Identifier
  }
}

So the top-level startIndex and endIndex would return what you wrote, but I was trying to think of what would make sense for moduleSpecifier

Wanted to add a +1 for this – my use case should (similarly) be solved by having start/end indices of the entire import statement. I'm writing a REPL (think something like JSFiddle) allowing users to write a script that imports from a set of pre-defined "packages". To execute the script in the browser I need to replace the imports with other code. For example:
// Before
import A, {B, C as D} from 'my-package';

// After
const A = dependencies['my-package'];
const {B, C: D} = dependencies['my-package'];

Thanks for the +1 and for including your use-case!
I ended up just including the start and end indices of the full statement/expression. If anyone else needs more granular indices, then I'll add them at that point

The version the start and end indices are available in is 1.1.0

Great work, thanks for the new feature! 🎉


Refactoring/facebook

Facebook refactoring

Executed 64 tests, with 0 failures (0 unexpected) in 0.955 (1.000) seconds


MeasurementPlot, zoom and enhancements

Add properties allowing to zoom, scroll, pan

zoom: 'horizontal' (useAxisZoom), 'vertical' (useAxisZoom), 'rectangular' (useRectangularZoom), default: 'horizontal', could be empty for no zoom
wheelZoom: 'vertical', useAxisWheelZoom, default 'vertical'
crossHair: true / false, should we display crosshair (useCrossHair), default: true

Some default behaviour without properties:

usePan, the component will always allow pan with 'ALT' modifier key
double click for zoom out (always enabled)

Some other properties:

showHorizontalAxis (default: true)
showVerticalAxis (default: true)
showHorizontalGrid (default: true)
showVerticalGrid (default: true)
flipHorizontalAxis (default: false)

Using react hooks conditionally is forbidden
i couldn't find a solution to implement these functionalities,
i only suggest adding a new param in react-plot hooks so the user will be able to use them conditionally
would you please suggest any other possible solutions?

I think that the hooks can always be 'active'. However we could think about properties at the level of the hook that disabled it.
For example:
https://github.com/zakodium-oss/react-plot/blob/2c74502a14007959b717d1837372281916dc1a86/src/hooks/useAxisZoom.tsx#L17-L18
Could have direction:'none' to disable the hook.
Same for the wheel and crosshair hooks.
@targos Does this make sense ?

Yes, but I would create a general option.
What about usePlotEvents({ disabled: true }) which would not pass the callbacks and can be inherited by all higher-level hooks?

I think that using a general option is better

Please also add small default spaces between the axis values and axis labels (4px ?)

As well as between the title and the chart

Please check also that you deal correctly with the fact that the data may be missing a scale label of the chart title.


Support v2 of @remix-run/server-runtime peer deps

Closes #29
Updated peer deps version for @remix-run/server-runtime to "^1.0.0 || ^2.0.0"

When will this change be released?

Hi @sergiodxa, could you release a new version?
I use remix-auth-github in Remix V1 and try to upgrade to V2. will be nice to have the new release to get rid of
└─┬ remix-auth-github 1.6.0
  └── ✕ unmet peer<EMAIL_ADDRESS>found 2.5.1

thx


feat: homepage rework

Codecov Report
Attention: 3 lines in your changes are missing coverage. Please review.

Comparison is base (235c3bb) 83.71% compared to head (8dd5a93) 87.86%.

Files
Patch %
Lines

...ome/latest-arrivals-list/quick-shop-disclosure.tsx
90.32%
3 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           master      #23      +/-   ##
==========================================
+ Coverage   83.71%   87.86%   +4.14%
==========================================
  Files          34       38       +4
  Lines        1357     1409      +52
  Branches       81       89       +8
==========================================
+ Hits         1136     1238     +102
+ Misses        221      171      -50

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


downgrade patchef version to <IP_ADDRESS>

What happened?
vehicle-app-python-sdk/tree/main/examples/seat-adjuster)/Dockerfile
Please downgrade patchelf in  SDK examples code.
Operating System
macOS (Default)
What release version or branch did you use?
main
Relevant log output
core dump when run staticx.

Code of Conduct

[X] I agree to follow this project's rules for contributions

Hey @aricwang88,
could you please elaborate what you did exactly. We need to be able to reproduce the error.
Thanks!

Hey @aricwang88,
could you please elaborate what you did exactly. We need to be able to reproduce the error.
Thanks!

From reading through the issue, I expect this is the same thing we have already fixed in the template.
patchelf got a new release which is incompatible with staticx in the Dockerfile of seat-adjuster. We need to pin the version of patchelf to 0.17.0. Furthermore we also need to pin the version of the Python base image we are using for the Dockerfile since there are also some incompatible upgrades of the installed tools.

@MP91  @doosuu ,  exactly correct!  Thanks! I found only in sampleapp example updated, but when import-example into template, it still have problem.  I known the work around, just keep this information for other users. Anyway thx!


Cardinality of container

Description
I'd like to reformulate an older feature request from #164.
feature
It would be cool to specify a container as being one of many of that kind, influencing how the container gets displayed. Semantically this would mean that the container is expected to be run with multiple instances (like multiple clients vs single server). This could be achieved with an optional argument or wrapper element.
justification
I understand that:

this is ambigous with modern deployments
this is domain of deployment diagrams probably

but nevertheless I think that a visual cue about which components are expected to be run independently in multiples and which are expected to be by themselves goes a long way in understanding a diagram without a written narrative.
This introduces further considerations and complication when we consider the display of relations, but I don't think this is needed and I don't advocate for that. I think the above semantics of "there's likely gonna be more of those" is sufficiently understandable and viewer can infer correctly that the relations with all the other "copies" are analogous, but independent.
visuals - proposition
Tagged container would display as a stack of 3 boxes, where the top box is mostly visible and contains all the labels and descriptions, possibly with some ... between the boxes somewhere. You know - in the  standard way to depict plurality.
feature request
Is this achievable currently with some tagging/styling mechanism? Is this a feature possible to be implemented as a library (plugin? I am new to structurizr).
How does the idea sound?
Priority
Low
Resolution
I have no budget, please add this feature for free
More information
No response

this is domain of deployment diagrams probably

Yes, I see this as a deployment concern. If you'd like to show this on a static structure diagram, I'd recommend using a specific element style instead (e.g. border, colour, icon, etc).


Desktop - Workspace icon does not change when the name changes

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Create a workspace
Change the name of the workspace

Expected Result:
Workspace icon changes immediately
Actual Result:
Workspace icon does not change when the name changes
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/223248607-c3c333ff-f7b0-4f5c-91e1-62e7a7698c71.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

Triggered auto assignment to @adelekennedy (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

Is the expected behavior that it would update in realtime? I guess we can do it, but the user needs to press the "Save" button in order for it to stick. I think we should just close this one, but feel free to reopen if you disagree @adelekennedy.


Add scripts to package.json that now come with firebase init, incl linting

This pull request is intentionally stacked so that robo-changes come before manual changes. I used git ls-files to find all package.json files and node to modify their JSON.
To test all files, I ran:
for i in $(git ls-files | grep 'functions/package.json'); do npm run lint --prefix $(dirname $i); done

The functions/ prefix was to detect cases where package.json was also used for firebase hosting.
Any NPM error meant that a package.json was missing the linter script (e.g. the code sample was added since I first robo-modified package.jsons). Those were manually fixed. Any linter errors were also manually fixed.

Is this CL a good place to also cleanup the .eslintrc.json files:

remove the duplicate rule "promise/always-return": 2, appears twice
Extend the Google lint rule instead of  "extends": "eslint:recommended",  (we'd also need to import it in the devdependencies of all samples)

That sounds like a good robochange. Let's do separate pull requests with robochanges and have each request document how the change was created.

FWIW, we should also have a robochange that ensures firebase.json wires up the linter in predeploy rules.

cool LGTM then!


IDK

how to write a good thing there is no issue but can u send me a photo on dc about how to make the colours go fast like the video

my dc is Venomz#8884


pull request for e2e test at 01/10/2017 23:15:08

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


Updates with minor changes to support the spel execution context

Created centos7 and rhel7 AMIs for testing, confirmation is in slack.

Thanks for the update. Most of the rest doesn't raise immediate concerns - just want to check the overall impact of these on naked-AMIgen's functionality.


Using SW in non-PWA apps

Greetings,
I understand what vite-pwa is made to support full fledged PWAs, however I don't want PWA support(caching), but only to install SW for fetch interception, in order to make transparent refresh for auth token.
Can you add such simple support to vite-pwa, or guide how to do it manually.
My project structure is:
src/
src/service-worker.js

I do in my main.tsx:
// Register the Service Worker
if ("serviceWorker" in navigator) {
  navigator.serviceWorker.register("/service-worker.js")
}

However service-worker is not copied to dist/ and can't be loaded in development.
Thank you and best,
Dragomir

@Dragomir-Ivanov you can try with this configuration, register your sw with your code in main.tsx (IIRC there is a pending PR here to be included about configuring no injection point):
srcDir: 'src',
filename: 'service-worker.js`,
strategies: 'injectManifest',
injectRegister: false,
manifest: false,
injectManifest: {
 injectionPoint: null,
}

@userquin Thank you for your fast response.
Unfortunately it didn't work. Details:
vite.config.ts
  plugins: [
    react(),
    tsconfigPaths(),
    VitePWA({
      srcDir: "src",
      filename: "service-worker.js",
      strategies: "injectManifest",
      injectRegister: false,
      manifest: false,
      injectManifest: {
        // eslint-disable-next-line no-null/no-null
        injectionPoint: null,
      },
      devOptions: {
        enabled: true,
      },
    }),
  ],

My registering code stays the same.
For yarn dev it gives:
Uncaught (in promise) TypeError: ServiceWorker script at http://localhost:3000/service-worker.js for scope http://localhost:3000/ encountered an error during installation.

For yarn build it gives:
error during build:
Error: Error running plugin hook closeBundle for vite-plugin-pwa:build, expected a function hook.
    at error (/home/drago/Work/AgcoLeasing/monorepo3/ui/node_modules/vite/node_modules/rollup/dist/shared/rollup.js:198:30)
    at throwInvalidHookError (/home/drago/Work/AgcoLeasing/monorepo3/ui/node_modules/vite/node_modules/rollup/dist/shared/rollup.js:22682:12)
    at /home/drago/Work/AgcoLeasing/monorepo3/ui/node_modules/vite/node_modules/rollup/dist/shared/rollup.js:22823:24
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async Promise.all (index 0)
    at async Object.close (/home/drago/Work/AgcoLeasing/monorepo3/ui/node_modules/vite/node_modules/rollup/dist/shared/rollup.js:23700:13)
    at async Promise.all (index 0)
    at async build (/home/drago/Work/AgcoLeasing/monorepo3/ui/node_modules/vite/dist/node/chunks/dep-9c153816.js:38964:13)
    at async CAC.<anonymous> (/home/drago/Work/AgcoLeasing/monorepo3/ui/node_modules/vite/dist/node/cli.js:738:9)
error Command failed with exit code 1.

@Dragomir-Ivanov update vite to 3 or 3.1, check readme docs

@userquin Ah, I am sorry. Didn't saw the version 3.1 requirement.
After the update:
yarn build adds service-worker.js to dist/. OK!
yarn dev doesn't allow the browser to register the SW:
Uncaught (in promise) TypeError: ServiceWorker script at http://localhost:5173/service-worker.js for scope http://localhost:5173/ encountered an error during installation.

I do have
 devOptions: {
        enabled: true,
      },

@Dragomir-Ivanov check https://vite-pwa-org.netlify.app/guide/development.html#injectmanifest-strategy, you need to use custom sw registration via:
if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register(
    import.meta.env.MODE === 'production' ? '/service-worker.js' : '/dev-sw.js?dev-sw'
  )
}

If you're using import statements inside your sw (will work only on chromium based browsers):
if ('serviceWorker' in navigator) {
  navigator.serviceWorker.register(
    import.meta.env.MODE === 'production' ? '/sw.js' : '/dev-sw.js?dev-sw',
    { type: import.meta.env.MODE === 'production' ? 'classic' : 'module' }
  )
}

@userquin
Thanks a ton! It worked!
Not using imports, nor Chromium based browser. This setup seems to work with FF.
I guess, a short section in the documentation for custom SW is justified, to collect all the knowledge in a single place.
Again Thank You Joaquín,
Best

I guess, a short section in the documentation for custom SW is justified, to collect all the knowledge in a single place.

PR welcome

Will do!

@userquin just curious, would it be feasible to extract the SW logic into a separate plugin (which this would depend on)? Or is it all too intertwined?


add 1.29 prowjobs

Issue #, if available:
https://github.com/aws/eks-distro/issues/2555
Description of changes:
Add prowjobs for upcoming 1.29 release
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve

/lgtm


(feat) added relaygroup to dsa-activate

We need to set a relay group in our environment. It'd be helpful if we can include it.

Ping!

Any update here?

Thank you @MFiederlein for the PR, I will update the readme.md accordingly soon.


already exists error

I don’t know what’s going on. When I select data, I get an error: DB::Exception: DB::Exception: Table ai_data_analysis.k1max_device_event_450140781639368706 already exists. SQLSTATE: 42P07.: While executing Remote SQLSTATE: 42P07. Stack trace:
This is not necessary. This problem occurs occasionally. What is the reason?
Byconity version: 0.4.0

Could you give these information first?

table definition
select query
exception stack trace

3. exception stack trace
OK, thank you. How can I check the exception stack trace?

@yuanzhubi you can add a setting enable_optimizer_fallback=0 for query or in user.xml profile section

after enable_optimizer_fallback=0, the root cause was found. It's because the FDB storage size exceeds the limit. It's already resolved


After dot drag end, game does not check if level is completed.

Current code has level completion detector, however no user feedback is provided (except of debug output to console). Handling of level sets is needed, so the game can move to the next level, after some visual congratulations to the player.

Fixed in version 0.1. Maybe some fancy visual/audio effects may be added afrer level completion. Now it blinks the screen, waits a second, then moves to the next level.


Add Semantic Versioning and Changelog Generation

We should use the same Semantic Versioning and Changelog Generation as in kuksa-android-sdk. This allows us to easily create new releases.

Duplicate with #23


tensorflow.experimental.numpy operations return tf.Tensor instead of ndarray<tf.Tensor>

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): debian 10.9
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 2.5.0rc0
Python version: Python 3.7.5

Describe the current behavior
In tensorflow 2.5.0rc0 these operations
import tensorflow as tf
import tensorflow.experimental.numpy as tnp

print(tnp.real(tf.constant(1)))
print(tnp.real(tf.constant(1+1j)))
print(tnp.imag(tf.constant(1+1j)))
print(tnp.array(tf.constant(1)))

return the following results
tf.Tensor(1, shape=(), dtype=int32)
tf.Tensor(1.0, shape=(), dtype=float64)
tf.Tensor(1.0, shape=(), dtype=float64)
tf.Tensor(1, shape=(), dtype=int32)

Describe the expected behavior
In tensorflow 2.4.1 they used to return ndarrays
ndarray<tf.Tensor(1, shape=(), dtype=int32)>
ndarray<tf.Tensor(1.0, shape=(), dtype=float64)>
ndarray<tf.Tensor(1.0, shape=(), dtype=float64)>
ndarray<tf.Tensor(1, shape=(), dtype=int32)>

Other info / logs
I didn't test any other methods.
Edit
I don't know if this actually is a bug or if it was one in tensorflow 2.4.1. But I couldn't find out which one is the intended behaviour. I for my part would expect these functions to return an ndarray but the introduction article seems to have a different opinion.

@SebastianJL
I was able to reproduce the issue. Please find the gist of it here. Thanks!

ndarray wrapper is removed intentionally with TF 2.5.0-rc1
See commit 0b9ff2e


AWS cluster fails to deploy

What kind of request is this (question/bug/enhancement/feature request): bug
Steps to reproduce (least amount of steps as possible):

Create an AWS node template
In the Instance page ( of the node template) select Encrypt EBS Volume True. The KMS Key ARN field will be available and a dropdown of available KMS keys will be seen.
select Encrypt EBS Volume False.
Save the node template
Deploy a cluster using this node template
Error seen: Error creating machine: Error in driver during machine creation: Error launching instance: InvalidParameterDependency: The parameter KmsKeyId requires the parameter Encrypted to be set. on the node page
View in API of the node template shows kmsKey set

encryptEbsVolume": false,
kmsKey - <kms key id>

Expected Result:
When Encrypt EBS Volume is False, the KMSkeys should NOT be set/used
Other details that may be helpful:
Not able to test this on 2.4-head because of issue - https://github.com/rancher/rancher/issues/28141
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): master-head commit id: 6d6199121
Installation option (single install/HA): HA

Verified on master-head commit id: c53a66e22 ui tag: latest2 and 2.4-head commit id: 0a219c19e ui tag: latest-2.4

Create an AWS node template
In the Instance page ( of the node template) select Encrypt EBS Volume True. The KMS Key ARN field will be available and a dropdown of available KMS keys will be seen.
select Encrypt EBS Volume False.
Save the node template
Deploy a cluster using this node template
Cluster comes up successfully.
Node template has no KMS key tagged when seen from View in API


imagemagick: 7.1.0-53 -> 7.1.0-54

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/ImageMagick/ImageMagick/releases.
meta.description for imagemagick is: "A software suite to create, edit, compose, or convert bitmap images"
meta.homepage for imagemagick is: "http://www.imagemagick.org/"
meta.changelog for imagemagick is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 7.1.0-54 with grep in /nix/store/ya46nlk4g59q0b3s2fbdi4zp09qdabdn-imagemagick-7.1.0-54
found 7.1.0-54 in filename of file in /nix/store/ya46nlk4g59q0b3s2fbdi4zp09qdabdn-imagemagick-7.1.0-54

Rebuild report (if merged into master) (click to expand)

319 total rebuild path(s)

319 package rebuild(s)

First fifty rebuilds by attrpath
abiword
adapta-gtk-theme
aether
almanah
arc-theme
arx-libertatis
asc-key-to-qr-code-gif
asciidoc-full
asciidoc-full-with-plugins
asymptote
authenticator
auto-multiple-choice
autotrace
awesome
ayu-theme-gtk
ballerburg
beets
beets-unstable
beetsPackages.beets
beetsPackages.beets-stable
beetsPackages.beets-unstable
betterlockscreen
bisq-desktop
blockhash
bombono
bottles
bottles-unwrapped
brasero
brasero-original
calibre
calibre-web
calligra
capitaine-cursors
catppuccin-cursors
cd-hit
chafa
ciano
cinnamon.cinnamon-gsettings-overrides
cinnamon.cinnamon-screensaver
cinnamon.iso-flags-png-320x420
cinnamon.iso-flags-svg
clevis
cobang
coreboot-configurator
crypto-org-wallet
cuneiform
cyan
dblatexFull
deliantra-arch
deliantra-maps

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/ya46nlk4g59q0b3s2fbdi4zp09qdabdn-imagemagick-7.1.0-54 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A imagemagick https://github.com/r-ryantm/nixpkgs/archive/980cc45e15cfff107634524735735d960947eed1.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/ya46nlk4g59q0b3s2fbdi4zp09qdabdn-imagemagick-7.1.0-54
ls -la /nix/store/ya46nlk4g59q0b3s2fbdi4zp09qdabdn-imagemagick-7.1.0-54/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review took longer than 45m and timed out

Maintainer pings
cc @erictapen @dotlambda for testing.

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

6 packages built:

imagemagick
imagemagickBig
imagemagick_light
perlPackages.ImageMagick
python310.pkgs.wand
python39.pkgs.wand


Fix Bug in Kconfig file of icm42688 driver

The config option of driver icm42688 appeared unexpectedly in menuconfig when the app use other sensors.The bug is fixed by slightly modifing the Kconfig file of icm42688

Could you squash these two commits and force-push so that we only merge one commit for this fix?

Welcome and thanks for contributing to the Zephyr project! Looks like the CI caught a formatting issue --if you could correct that we should be able to get this landed pretty quickly.

Thanks, the formatting issue was correted.

Could you squash these two commits and force-push so that we only merge one commit for this fix?

Sure


Ensure start time is earlier than end time for events

Fixes #166

Coverage increased (+0.02%) to 83.306% when pulling cfb53b6ed9b71acca5bafd3d34ba29abee66cb9e on V0.4-Fix_Time into 183b888aa677747853207f10ec87d0d5b411213f on V0.4-MainBranch.


Contributing guide - add link to CONTRIBUTING.md

It took me a while to realise the CONTRIBUTING.md had useful info not in the Contributing docs, so I've added a link between them. I imagine this doesn't need a separate issue or changelog callout but please correct me if wrong.
The checklist

[ ] Associated issue
[ ] A news fragment in the news/ directory to describe this fix with the extension .bugfix, .feature, .behavior, .doc. .vendor. or .trivial (this will appear in the release changelog). Use semantic line breaks and name the file after the issue number or the PR #.

Actually I wonder if it is a good idea to move (or at least copy) the development setup section into documentation, instead of linking to it… (I didn’t even know it exists)

It's not entirely clear to me what the difference between the two documents should be. So I could make the .md file just say "see " and merge the content into the docs page?

CONTRIBUTING.md is essentially just a customary file to put these kind of information in. It also shows up (as a link) on the right hand side when you submit an issue or PR on GitHub. It would make more sense (IMO) to do this the other way around: add “see ” in CONTRIBUTING.md to point to the documentation.

Hmm, pretty sure I mangled this by attempting to rebase. Let me make a clean attempt.


SingleDB mode not accepting placeholder-values

Describe the bug
Hi. I'm trying to pass JSON to snowddl-singledb, but I'm getting what to me seems like an odd error (see log).
Expected behavior
I would expect that this works. I've tried copy-paste of the developer's example usage, but still the same error.
Attach log
hatch run snowddl-singledb -r $ROLE --log-level DEBUG --show-sql --config-db $DB --passphrase $(cat $PASSPHRASE_PATH) --placeholder-values='{"schema_is_sandbox": false}' -c snowddl plan
Unknown context field `"schema_is_sandbox"`

(no further output is given)
Attach YAML config (if applicable)
param.yaml in the schema dir
is_sandbox: ${{ schema_is_sandbox }}

The issue happens with all placeholder values I've tried though, and it isn't specific to this schema_is_sandbox use case. I think it could be user error, but I must have a blind spot.
Thanks,
Joshua

I suspect it comes from hatch trying to interpret values after { as variables.
You may need some extra escaping. Alternatively, you may use placeholders.yaml.

okay cool, Thank you.


Missing package : BeautifulSoup4

Hello,
I’m not able to install and use the package beautifulsoup4.
Ref: https://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-beautiful-soup
Is it possible to make the module available?
Thank’s

Please type pip install beautifulsoup4 in the terminal. It should install.

Oh,
Sorry it’s working. I don’t understand why I received an error message the first time.
Thank’s


Updating map fields is non additive and overwrites previous values

When passing a struct which contains a map field through the Update() method, the values in the map completely replace previous values in the cassandra map collection, rather than being merged. I would expect this behaviour on Set() as the entire struct is passed into gocassa, but I am unsure on the behaviour of Update() - I was expecting this to be additive.
It is of course entirely possible that I have missed how to do this, especially as I've literally just seen the Modifer type. If so, we need more docs on how to do this :wink:
Contrived example:
type Basket struct {
    Id          string
    CustomerId  string
    Items    map[string]string
    //...
}

// Create new & save
basketTable.Set(Basket{
    Id: "2dcb132a",
    CustomerId: "bcfefb43",
    Items map[string]string{
        "db6998c3": "Red Bull",
        "cf30b742": "Cornetto",
    },
})

// Reading from C* would return {"db6998c3": "Red Bull", "cf30b742": "Cornetto"}

// Update just the map field with additional values
basketTable.Update("2dcb132a", map[string]interface{}{
    "Items": {
        "88d57b18": "Creme Egg",
    },
})

// C* now returns {"88d57b18": "Creme Egg"}

I've also tried this with the MapSetFields modifier - this also replaces the map, whereas MapSetField which upserts the key:value into the map.
MapSetFields replaces the map with the contents of the provided map:
UPDATE basket_map_id SET Items = ?  WHERE id = ? [map[88d57b18:Creme Egg] 2dcb132a]

MapSetField upserts a single field:
UPDATE basket_map_id SET Items['88d57b18'] = 'Creme Egg'  WHERE id = ? [2dcb132a]

If this is the intended behaviour do we also need something like a MapUpsertFields modifier which would emulate the MapSetField behaviour for each element in the map?

MapSetFields is the right thing to do here, however it seems like it is buggy - it is supposed to atomically update a map.

supposed to atomically update a map

Do you mean atomically upsert new values into the map, or atomically replace the map with the provided map? The current behaviour is the latter, whereas I am trying to do the former!

I mean atomically upsert new values into the map, as seen in the test:
// Having this initially
c := CustomerWithMap{
		Id: "1",
		Map: map[string]string{
			"3": "Is Odd",
			"6": "Is Even",
		},
}

// Doing a MapSetFields
tbl.Update("1", map[string]interface{}{
		"Map": MapSetFields(map[string]interface{}{
			"2": "Two",
			"4": "Four",
		}),
})

// Will result in this map
CustomerWithMap{
		Id: "1",
		Map: map[string]string{
			"2": "Two",
			"3": "Is Odd",
			"4": "Four",
			"6": "Is Even",
		},
}

I checked the query built in the test linked and it is:
UPDATE tbl SET Map = {'2' : 'Two', '4' : 'Four'}  WHERE id = ? [1]

I've just dug into this, and although the test passes, it unfortunately is a bug :wink:
In the test we create a struct:
c := CustomerWithMap{
	Id: "1",
	Map: map[string]string{
		"3": "Is Odd",
		"6": "Is Even",
	},
}

This is then Set it into cassandra, which creates the following CQL, and as this uses the CQL Map = ? this replaces any data in the map, with the new map. This is setting, so in my opinion expected behaviour.
UPDATE test_ihopeudonthaveakeyspacenamedlikedthis.customer34213_map_Id SET Map = ? WHERE id = ? [map[3:Is Odd 6:Is Even] 1]

We then Update this, adding the keys 2 and 4 to this using MapSetFields which creates this CQL below. Again, due to the CQL created this replaces the map with the new map, so the keys 3 and 6 no longer exist in cassandra.
UPDATE test_ihopeudonthaveakeyspacenamedlikedthis.customer34213_map_Id SET Map = {'2' : 'Two', '4' : 'Four'}  WHERE id = ? [1]

We also update key 5 using MapSetField("5", "Five!") which creates this CQL below. As this is using the syntax SET Map['5'] = 'Five!' this key:value is merged with the current map contents in cassandra.
UPDATE test_ihopeudonthaveakeyspacenamedlikedthis.customer34213_map_Id SET Map['5'] = 'Five!'  WHERE id = ? [1]

So, at this point the values in cassandra are (from cqlsh):
 id | map
----+-----------------------------------------
  1 | {'2': 'Two', '4': 'Four', '5': 'Five!'}

We then read back the values to assert correctness, and unfortunately this is the point our bug arises. We read back into the original variable c:
if err := tbl.Read("1", &c).Run(); err != nil {
	t.Fatal(err)
}

And as we use use json.Marshal to read the columns back into our *CustomerWithMap (in singleOp.readone here: https://github.com/hailocab/gocassa/blob/5954f4a0ef0e27f2a71490f748c07b50c387fa09/op.go#L61-L65) the json marshaler merges the previous values with the values read from cassandra.
So we pass in a pre-existing CustomerWithMap that already has the keys:
&gocassa.CustomerWithMap{Id:"1", Map:map[string]string{"3":"Is Odd", "6":"Is Even"}}

We then read our map from cassandra which returns:
{"id":"1","map":{"2":"Two","4":"Four","5":"Five!"}}

And json.Unmarshal then merges these keys into the struct, resulting in the expected behaviour!
&gocassa.CustomerWithMap{Id:"1", Map:map[string]string{"4":"Four", "5":"Five!", "3":"Is Odd", "6":"Is Even", "2":"Two"}}

I'm assuming from this that the expected behaviour for MapSetFields is to merge new values with existing values, in which case we need to change the generated CQL to something like the below, which works in Cassandra 2.1.1 or later
UPDATE test_ihopeudonthaveakeyspacenamedlikedthis.customer34213_map_Id SET Map = Map + {'2' : 'Two', '4' : 'Four'}  WHERE id = ? [1]

@mattheath Nice catch!
It seems like all we have to change is a., fix test b., change this line https://github.com/hailocab/gocassa/blob/master/modifiers.go#L113 from
buf.WriteString(fmt.Sprintf("%v = ", name))

to
buf.WriteString(fmt.Sprintf("%v = %v + ", name, name))

So the correct CQL statement will be generated.

Yeah, i've tested this and it works fine. Will PR the change and a fixed test :smile:

Cheers ;)


Add FAQ entry about client-side init functions

Demonstrate how to guarantee that a client-side initialization function will be called only once per client.
After writing this comment explaining how to call a library's init function only once on the client, I thought that that might be a generally-useful technique that should be documented. The FAQ section on integrations seems like the right place to put it.
No tests or changesets because this is a documentation-only PR. If a changeset should be added even to doc-only PRs, let me know and I'll be happy to add one.
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[ ] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[X] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[ ] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[ ] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpx changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

The unit test failure is likely a flaky test that needs fixing, as it failed due to a timeout rather than an actual error. Plus, since this PR made no code changes, it's almost certainly not caused by the PR. I don't seem to have sufficient repo permissions to request a re-run of all jobs on the failing workflow, though. Someone with write access to the repo will probably have to do that.

If no unsubscription is required, isn't this equivalent?
// clientConnection.ts
import { initalizeConnection } from 'some-library';
export const connection = initializeConnection('params');

import { connection } from '$lib/clientConnection.ts';
function getResult(query) {
	return connection.get(query);
}

Added a similar comment to #1538

Going to close this as I don't think there's any advantage to the store-based approach — thanks


Make TextInputClient a mixin

This PR makes TextInputClient a mixin instead of an abstract class.  It does the same for DeltaTextInputClient.
The reason for this is to discourage users from using implements on these abstract classes, which causes a breaking change when changes are made to the abstract class.  This is a common occurrence on these classes related to platform APIs.
Migration guide
Users of TextInputClient and DeltaTextInputClient should mix them into their own classes via the with keyword, similar to how this PR changes EditableTextState to use TextInputClient via with.
:heavy_check_mark:
class MyEditorState extends State<MyEditor> with TextInputClient {
  // ...
}

If users were using TextInputClient or DeltaTextInputClient via the implements keyword, they will not be broken by this change, but the above approach with with is still recommended.  The advantage of with is that implements requires implementations of all methods, even if the mixin has one, so future additions to the mixin will be a breaking change.
:warning:
class MyEditorState extends State<MyEditor> implements TextInputClient {
  // ...
}

If any user were using TextInputClient or DeltaTextInputClient via the extends keyword, they would be broken, and should use the with keyword instead as above.
:x:
class MyEditor extends TextInputClient {
  // ...
}

See also

Similar PR making the scribble feature a mixin: https://github.com/flutter/flutter/pull/104128
Design doc Minimizing Breaking Changes from Platform APIs

I think Google testing is stuck, I'll push a merge commit.  Otherwise this is ready to go, thanks for the reminder.


MachineID cannot be used with Conflicts

Since the fleet 0.8.2 upgrade, my manual fail-over strategy doesn't work because of
Error creating units: MachineID cannot be used with Conflicts

Why was this use case desupported?

@bcwaldon - what is the best way to tie a nginx container (reverse proxy) to a particular node? i.e. I want this container to always load up on this machine (which has an IP that I know - DNS purposes) ...


Oust ACS

See title. I sure do say "'Nuff Said" a lot, don't I? Friggin' Doom.

Just did this for Eriguns2. Won't close this just yet until Eriguns1's Split Missile functionality is ZScriptified and E1's ACS gets the boot, too.


Make Blink No Delay possible

As discussed in #54 blink no delay basic example should be possible with ardublockly.
This requires:

[ ] assign pin to variables for easy change in the code
[ ] digital write with the variable
[ ] computation with unsigned long

With additional blocks as present in my branch https://github.com/bmcage/ardublockly it can be done.
Following xml works in Blockly4Arduino (load it up to see in: http://ingegno.be/Manuals/Blockly4Arduino/blockly4Arduino/index_en.html )
<xml xmlns="http://www.w3.org/1999/xhtml">
<block type="declare_var_digout" id="6%q8b#n3^N!7c`#)y}`U" x="87" y="38"><field name="NAME">ledPin</field><field name="PIN">13</field><next>
<block type="declare_var_bool" id="|3^6V_K~`#fd?Pkk)cL."><field name="NAME">ledState</field><value name="NUM">
<block type="io_highlow" id="B/oHeJd_fJ(h~~*^=~7V"><field name="STATE">LOW</field></block></value><next>
<block type="declare_var_ulong" id="yU7(UhcFbv6Z3}sn7}vL"><field name="NAME">previousMillis</field><value name="NUM">
<block type="math_number" id="wrp(0:4b{y%lERx/cL~h"><field name="NUM">0</field></block></value><next>
<block type="declare_var_ulong" id="=TvMLKGby{7H|[u[o_6;"><field name="NAME">currentMillis</field><value name="NUM">
<block type="math_number" id="6O*P-9Dn6szKHmKMjQ~3"><field name="NUM">0</field></block></value><next>
<block type="declare_var_ulong" id="%aJ(Vdy~h[Wx`UjBl0BZ"><field name="NAME">interval</field><value name="NUM">
<block type="math_number" id="-v/8VP`FahSD}6BVu6yr"><field name="NUM">1000</field></block></value><next>
<block type="variables_set" id="y1G(O}!ZE;UTc6_}d[/O"><field name="VAR">currentMillis</field><value name="VALUE">
<block type="time_millis" id="V0,v^)PicQdrj]tisWwR"></block></value><next>
<block type="controls_if" id="+Sw.3:D6t2%rz3.m5UIr"><value name="IF0">
<block type="logic_compare" id="56~(M96ko)78n]4*M.pc"><field name="OP">GT</field><value name="A">
<block type="math_arithmetic" id="@n*a0sF`o5R_M^F+|^gY"><field name="OP">MINUS</field><value name="A">
<block type="variables_get" id="m)hW;TfOqir@[5vmDD%S"><field name="VAR">currentMillis</field></block></value><value name="B">
<block type="variables_get" id=":H7J@)N|Wv#CDAG5S,Ie"><field name="VAR">previousMillis</field></block></value></block></value><value name="B">
<block type="variables_get" id="9#g:nhV+8i);wY#a_Ir*"><field name="VAR">interval</field></block></value></block></value><statement name="DO0">
<block type="variables_set" id="=f^o,g=}JP3d_ssRnGe%"><field name="VAR">previousMillis</field><value name="VALUE">
<block type="variables_get" id="{:|daM[[6rFq)%3=HSQk"><field name="VAR">currentMillis</field></block></value><next>
<block type="controls_if" id="X_)_6mR,oodqcNS9|FvK"><mutation else="1"></mutation><value name="IF0">
<block type="logic_compare" id="rqrnlV|M0lk%1*_F2L.%"><field name="OP">EQ</field><value name="A">
<block type="variables_get" id="amfcM9ujj/oyVBhj,*D."><field name="VAR">ledState</field></block></value><value name="B">
<block type="io_highlow" id="@I{N*FxG~{24;Z(Wl:F0"><field name="STATE">LOW</field></block></value></block></value><statement name="DO0">
<block type="variables_set" id="G,pNC9F/#Rt2yIp}Cgvb"><field name="VAR">ledState</field><value name="VALUE">
<block type="io_highlow" id="Zk[?dxVh7F1M~j_.szK5"><field name="STATE">HIGH</field></block></value></block></statement><statement name="ELSE">
<block type="variables_set" id="k_6[XpWhZaH2.pi2t3%["><field name="VAR">ledState</field><value name="VALUE">
<block type="io_highlow" id="3CM!gm6jsoX.~3KM@#?F"><field name="STATE">LOW</field></block></value></block></statement><next>
<block type="io_digitalwrite_var" id="q-!7Oa;Xtvhz|/[rUlnJ"><field name="PIN">ledPin</field><value name="STATE">
<block type="variables_get" id="L)p=4jGTsPZPU4f_%Ydc"><field name="VAR">ledState</field></block></value></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></xml>

A likewise alternative solution needs to be added to ardublockly in some manner.
carlos edit: list updated with checkboxes for github tracking

Save following as BlinkNoDelay.xml to upload to Blockly4Arduino branch of ardublockly.
BlinkNoDelay.txt

This is a great example to test and showcase the changes discussed in https://github.com/carlosperate/ardublockly/pull/54, thanks for opening the issue for easy tracking.

In this case I have only added long type instead of unsigned. There will be implicit type conversion, but 32 bit signed accuracy should be sufficient for most cases. Adding unsigned support will probably add very little benefit at this point.

I'm having a problem using the compressed js, addCompatibleTypes throws an error. Does not happen using uncompressed.
Seems to be with the circular references, but I don't see the error ...

It seems in type.js
compatibleTypeArray[i].constructor.name !== 'BlocklyType'
and
 ||  compatibleType.constructor.name !== 'BlocklyType'
do not work compressed because the name has been compressed and is no longer BlocklyType

Thanks for the picking that up @bmcage , should be fixed by https://github.com/carlosperate/ardublockly/commit/04279f9a5d9a03ce5cf090b0d0e519216bcfd46c.
Sorry it's taking me a few days to responde to pending issues, I'm having some issues with my computer at home.

Ok, I have been testing changing my define blocks into setting variable with the cast block as you want to use as paradigm.
To assign pins in digitalwrite, I use my custom block which has a variable instead of a dropdown of pin numbers. As said in other threads, ideally in the future we have such variables as part of the dropdown. For now, I just try to see if I can do away with the defines blocks already.
There is still the issue that in the setup, lines like
 pinMode(ledPin, OUTPUT);
come first, so before the assignment of variable ledPin with it's value in the setup block.
In other words, if variables are used for the pin numbers, there must be a way to assign the variables their value before pinMode is called.
To test, rename file in attach to .xml and load it in http://ingegno.be/Manuals/Blockly4Arduino/blockly4Arduino/index_en.html
BlinkNoDelay_xml.txt
Suggestion: the arduino function for assigning values in the setup part, those blocks should be output before the pinMode blocks? Is that easy to change? I don't think that can give issues elsewhere.

A possible 'clean' solution:
1/ a new block like the arduino block 'Arduino run first ... Arduino loop forever', but now with a define part also: block 'Arduino define up front ... Arduino run first ... Arduino loop forever'
2/In the define up front part, the same logic can then be used with Set variable to blocks, using cast for the special types.

I see, that is definitely a case that I did not foresaw.
I'm not quite sure I fully understood your second proposed solution, could you elaborate a bit further?
Ideally I would prefer the solution to be completely invisible to the user, so that maintaining the current "block implementation" we could somehow work a way to intelligently place the code in the right order. I'll have to spend some time thinking about it, and as always, suggestions are more than welcome :)

The automatic way would be to write a pinMode where a variable is used after variable assignment. However, doing that, I assume you can have things like in setup already doing a digitalwrite, and the pinMode setting needs to have come before that then. So just saying: 'pinMode at the end', is not a solution.
My clean solution is one solution which has 2 parts, not 2 different solutions :-) So a block like the setup/loop block, but now 3 parts defineUpFrong/setup/loop, in all those the same casting method is used to assign variables a value.

Any movement on this? I have to call my pins multiple times and having to look up which pin is which is a pain. Rather than just calling the name of the pin.


Use pull request ID to number RFCs

Signed-off-by: MyonKeminta<EMAIL_ADDRESS>Try to number RFCs with their pull request ID, so we can use a simple numeric ID to identify RFCs.
Discussion is needed for this, I think.
Fixes #22

I suggest we number them by the order accepted. This way we have a strictly monotonically increasing number.

@Hoverbear It seems that we need to number it after merging the PR? Is that ok?

FWIW, Rust moved from a simple count to using the PR number. We found it much more convenient to use the PR number since "RFC 42" is always "RFC 42" before and after it is merged, plus there is less scope for mistakes and a simpler procedure for accepting an RFC.

@nrc Ok, let's copy Rust then. Keep things consistent.

I took over this task at #66 , please take a look :-)


[DR-37] BackEnd action buttons interactions

DR-37 BackEnd action buttons interactions

[x] Various visual fixes
[x] Text to QuoteBubble is passed via prop
[x] Brag / Confess buttons point to proper urls
[x] Generic Hitbox component
[x] Update markup structure to be slightly more semantic
[x] Refactor Role & Role Actions components (up to debate could revert changes)
[x] Get rid paths constants since they are rather redundant with roles

I think it's all good now :)


{{#eq}} has empty context starting with v0.9.0

In the included template file the {{#eq}} blocks lose all context data. I tried doing a {{jsonStringify this}} before and inside the {{eq}} block and it goes from being the expected data to an empty object.
This was working in 0.8.4 but not working in 0.9.0+
<div class="pure-u-1 ">
    {{#if field.legend}}
        {{>form/field-legend}}
    {{else if field.nested}}
        {{#if field.array}}
            {{>form/field-nested-array}}
        {{/if}}
    {{else}}
        {{#eq field.inputType 'text'}}
            {{>form/field-text}}
        {{/eq}}
        {{#eq field.inputType 'textarea'}}
            {{>form/field-textarea}}
        {{/eq}}
        {{#eq field.inputType 'password'}}
            {{>form/field-password}}
        {{/eq}}
        {{#eq field.inputType 'checkbox'}}
            {{>form/field-checkbox}}
        {{/eq}}
        {{#eq field.inputType 'select'}}
            {{>form/field-select}}
        {{/eq}}
        {{#eq field.inputType 'hidden'}}
            {{>form/field-hidden}}
        {{/eq}}
        {{#eq field.inputType 'color'}}
            {{>form/field-color}}
        {{/eq}}
    {{/if}}
</div>

Thanks for the issue, I think I see what the problem is.

@warncke this should be fixed in 0.9.3. Feel free to reopen if you're still running into this issue.

Yep, looks good. Thanks!


Many small files

spark-streamning batch is 60s，There are many small files in each batch.
I can set which parameter to merge these parquet files。
Official website said ：： Compaction is also pluggable, which can be extended to stitch older, less frequently updated data files to further reduce the total number of files.
please help me

Sure happy to help.. Can you describe the setup more? What hudi version/storage are you using?
Also please join our mailing list for faster responses.. https://hudi.apache.org/community.html

0.4.5version;I refer to HoodieClientExample class，
code is
newCommitTime = client.startCommit();
logger.info("Starting commit " + newCommitTime);
records.addAll(dataGen.generateUpdates(newCommitTime, 100));
writeRecords = jsc.parallelize(records, 1);
client.upsert(writeRecords, newCommitTime);
60s upsert once
Many small parquet files  in per upsert
How to merge many small parquet files in per upsert ?

@zk19930911
Can you please share your HoodieWriteConfig ?

@n3nash  Hello
Path path = new Path(url);
FileSystem fs = FSUtils.getFs(url, sc.hadoopConfiguration());
if (!fs.exists(path)) {
HoodieTableMetaClient.initTableType(sc.hadoopConfiguration(), url, HoodieTableType.COPY_ON_WRITE, HivetableName, HoodieAvroPayload.class.getName());
}
HoodieWriteConfig cfg = HoodieWriteConfig.newBuilder().withPath(url)
.withSchema(TRIP_EXAMPLE_SCHEMA).withParallelism(2, 2)
.forTable(HivetableName).withIndexConfig(HoodieIndexConfig.newBuilder()
.withIndexType(HoodieIndex.IndexType.BLOOM).build()).withCompactionConfig(HoodieCompactionConfig.newBuilder().archiveCommitsWith(2, 3).build()).build();
HoodieWriteClient client = new HoodieWriteClient(sc, cfg);
this is my HoodieWeiteConfig;

are you programming agains the RDD api? https://hudi.apache.org/configurations.html#limitFileSize controls the size of the parquet file produced and setting this https://hudi.apache.org/configurations.html#compactionSmallFileSize to a value close the limitFileSize (say 100MB) should ensure small file handling kicks in

any updates?

@vinothchandar  many updates

434051 2019-05-06 11:52 /user/～/3491f3dab4cc_0_20190506115250.parquet
434073 2019-05-06 11:58 /user/～/449d3edde4d6_0_20190506115810.parquet
434051 2019-05-06 11:53 /user/～/d4dd99e1bcac_0_20190506115340.parquet
434117 2019-05-06 11:51 /user/～/d2307c35cd17_0_20190506115141.parquet
all small files

can you give us more information, so we can drill down?
https://github.com/apache/incubator-hudi/issues/654#issuecomment-487696347

@zk19930911 How much data do you ingest per batch ? Try reducing the following parallelisms :
hoodie.bulkinsert.shuffle.parallelism & hoodie.insert.shuffle.parallelism from 1500 to a lower value like say 300 if every batch that you're ingesting is not a lot. Say you want to write 512MB files, you have 1 GB worth of data, parallelism set to between 3 - 5 might suffice. Obviously it will increase the runtime since you are writing larger parquet files..

@zk19930911 Please reopen if the issue still persists.


Closes #423 total_irrad docstring

pvlib python pull request guidelines
Thank you for your contribution to pvlib python!
You may submit a pull request with your code at any stage of completion, however, before the code can be merged the following items must be addressed:

[x] Closes #423
[x] Fully tested. Added and/or modified tests to ensure correct behavior for all reasonable inputs. Tests must pass on the TravisCI and Appveyor testing services.
[x] Code quality and style is sufficient. Passes git diff upstream/master -u -- "*.py" | flake8 --diff and/or landscape.io linting service.
[x] New code is fully documented. Includes sphinx/numpydoc compliant docstrings and comments in the code where necessary.
[x] Updates entries to docs/sphinx/source/api.rst for API changes.
[x] Adds description and name entries in the appropriate docs/sphinx/source/whatsnew file for all changes.

Please don't hesitate to ask for help if you're unsure of how to accomplish any of the above. You may delete all of these instructions except for the list above.
Brief description of the problem and proposed solution (if not already fully described in the issue linked to above):

Done I think.

I knew that :)

Yes, of course, I'm sure it was intended to test the reviewers -- thanks!


Add BANEScarparking R package

Copy of original package at https://github.com/owenjonesuob/BANEScarparking.
Please bear with me, I have very little experience of git so (as usual!) I'm working things out as I go along.

This looks pretty good. I noticed there are a few .rda and .Rd files. I don't remember much from my R days, but this is generated when you run your scripts right? In general only the source would be part of a repository, and these kinds of files would be.gitignored.
It's going to

make the repository smaller
make the repository easier to maintain: If these binary files change, then we cannot view the diff in Git(Hub) to track the changes, as it's not a plain text file.

(See latest pull request - I think I've done a rather better job with git this time...)