K8SApiServerLatency always triggering but can't find why

I'm running an on premise k8s 1.8.1 cluster installed with kubespray.
There are 2 API servers.
The alert
histogram_quantile(0.99, sum(apiserver_request_latencies_bucket{subresource!="log",verb!~"^(?:CONNECT|WATCHLIST|WATCH|PROXY)$"}) WITHOUT (instance, resource)) / 1e+06 > 1

is always triggering.
{endpoint="https",job="apiserver",namespace="default",scope="cluster",service="kubernetes",subresource="",verb="POST"} | 8

I can't see anything wrong on the cluster. I also checked the logs of apiservers for POSTS, and the response time is never above 1 second.
Could help me find out what's wrong?

This definitely means, that your apiserver is responding slowly, to some request. You should query the Prometheus UI to see which ones those are. Just run
histogram_quantile(0.99, sum(apiserver_request_latencies_bucket{subresource!="log",verb!~"^(?:CONNECT|WATCHLIST|WATCH|PROXY)$"}) WITHOUT (instance, resource)) / 1e+06

in the Prometheus expression browser, and you should be able to find the values that are too high. You might need to graph it to see it historically (this query might take some time as it's a lot of data and calculations).

Thanks for reply, if i do that i get
{endpoint="https",job="apiserver",namespace="default",scope="cluster",service="kubernetes",subresource="",verb="POST"}   8
But still can't pinpoint what request is that.
If i theck api servers logs i get lines like
I1113 14:27:22.545325       1 wrap.go:42] POST /api/v1/namespaces/monitoring/events: (6.05608ms) 201 [[kubelet/v1.8.1+coreos.0 (linux/amd64) kubernetes/59359d9] <IP_ADDRESS>:57328]
but the time (6.05608ms) is never more than 1 second.

What's odd is that the resource label is empty. Can you check when you do a raw query without the histogram_quantile function, whether there is the resource label?

using "WITHOUT (instance, resource)" does not remove the resource?
if i do
histogram_quantile(0.99, sum(apiserver_request_latencies_bucket{subresource!="log",verb!~"^(?:CONNECT|WATCHLIST|WATCH|PROXY)$"}) WITHOUT (instance)) / 1e+06 > 1

i get
{endpoint="https",job="apiserver",namespace="default",resource="namespaces",scope="cluster",service="kubernetes",subresource="",verb="POST"}   8

Hmm, these are the actual metrics from apiserver /metrics (for verb=POST and resource=namespaces)
apiserver_request_latencies_bucket{resource="namespaces",scope="cluster",subresource="",verb="POST",le="125000"} 0
apiserver_request_latencies_bucket{resource="namespaces",scope="cluster",subresource="",verb="POST",le="250000"} 0
apiserver_request_latencies_bucket{resource="namespaces",scope="cluster",subresource="",verb="POST",le="500000"} 0
apiserver_request_latencies_bucket{resource="namespaces",scope="cluster",subresource="",verb="POST",le="1e+06"} 0
apiserver_request_latencies_bucket{resource="namespaces",scope="cluster",subresource="",verb="POST",le="2e+06"} 0
apiserver_request_latencies_bucket{resource="namespaces",scope="cluster",subresource="",verb="POST",le="4e+06"} 0
apiserver_request_latencies_bucket{resource="namespaces",scope="cluster",subresource="",verb="POST",le="8e+06"} 0
apiserver_request_latencies_bucket{resource="namespaces",scope="cluster",subresource="",verb="POST",le="+Inf"} 1

The buckets are cumulative, meaning this request happened at some point in time, so the logs don't help unless we find the actual request. It seems that there was a single request, that took longer than 8 seconds. Does the alert still fire? I would expect it not to, as it should only fire if there was an increase of this value.

I tried to restart the apiserver pods, and that bucket still has 1. I can't find any request that take that long in the logs... so weird.
And it alerts yes, even if that number stays the same.

I see, yes actually that is expected, we would need to add a rate in addition to the sum in the histogram_quantile function in order to do this based on let's say the past 10 minutes. Right now it's just saying the 99th percentile of all requests ever is >8s, which is not as useful.
Two things to do:

improve the alerting rule to be based on recent data points
figure out where that "create namespace" request is coming from and why it's taking so long and more importantly why it occurs everytime, even when you restart the apiserver

Would you like to take a shot at improving the alerting rule? :slightly_smiling_face:

I'll give it a try:)

how about
histogram_quantile(0.99, sum(rate(apiserver_request_latencies_bucket{subresource!="log",verb!~"^(?:CONNECT|WATCHLIST|WATCH|PROXY)$"}[10m])) by (le)) / 1e+06 > 1


Error in set_layoutSizingHorizontal on version 25

Hi,
Starting from version 25 we started having this issue while creating a table starting from a cell component:

With a previous forked version everything works fine on the same component.
I had a similar issue in the past on my forked version and it was due to the fact I was using layoutSizingHorizontal too soon, before the appendChild on that node.. I don't know if that can help
The issue appears only if wrap in auto layout is enabled
Please, let me know if you need any further info

Nevermind, we found the issue and it was in our component!
As you added a few new lines that were setting the layoutSizingHorizontal on the textNode object, the text layer in figma must be a direct child of an auto-layout for this to work, and in our case there was an inner container which wasn't.. once we modified this container, it started working again!

Hope this can help someone in the future in case they have any issue and maybe as an enhancement it could be nice to display an error message since at the moment it is only visible through the development console
I let you close it in case you want to handle this as a separate issue

Thanks for being so invested! I included a bugfix for this in our latest update. Can you check if it works for you now?


APT whitelist request for libfuzzy-dev

Hmmm. Wrong number. The correct number is travis-ci/apt-package-whitelist#3120.


Can't use custom plugin cordova-sqlite-storage

I try to install a custom plugin
$ cordova plugin add cordova-sqlite-storage --save

After that I run
$ npm run phonegap -- run android

I the following output I can see
...
Fetching plugin<EMAIL_ADDRESS>via npm
Fetching plugin<EMAIL_ADDRESS>via npm
Fetching plugin<EMAIL_ADDRESS>via npm
Fetching plugin<EMAIL_ADDRESS>via npm
...

so I guess it's installing io.litehelpers.cordova.sqlite. But a few lines bellow I can't see a installing "cordova-sqlite-storage" for android. In my hello world application window.sqlitePlugin is undefined as well.
By the way: it is recommended to install the SQLite plugin with plugman. Unfortunately this does not work. See also #359

Hi @screendriver,
Are you still seeing this? I have just tried on all platforms and am able to install and use the plugin. If you are, please go ahead and reopen the issue.

With the latest version from master branch it seems to work :+1:


Medication summary

Overview

Adds medication summary card with most recent authoredOn date

How it was tested

Ran showcase app with mock FHIR server

Checklist

[x] The title contains a short meaningful summary
[ ] I have added a link to this PR in the Jira issue
[ ] I have described how this was tested
[ ] I have included screen shots for changes that affect the user interface
[ ] I have updated unit tests
[ ] I have run unit tests locally
[ ] I have updated documentation (including README)


views/ path should default to '.'

That way accessing template 'foo.tt' works "out of the box" rather than having to subclass Bailador::App in order to call Bailador::App.new( :location( '.' ) ); I think this is Dancer default, and will help people trying to transition from Dancer to Bailador. It violated the Principle of Least Surprise for me, at the least. I'll submit a patch in a few minutes as well.

Incidentally my test script does call Bailador::App.import, which should initialize app.location, but I don't think it's being properly invoked. I've forked and will submit a PR for this momentarily.

PR merged


Drop coveralls code-coverage flow?

Can we drop the coveralls github action?
I did a quick search at ASF level and I think, that only datasketches-cpp is using it. So might be good to just drop it and rely on other test coverage report metrics, which are more common at ASF level.

SonarCloud.io is very good.

Hi,
For checking and requiring a minimum test coverage you could use jacoco as it is used in apache commons project.
There is no generated badge for readme, but the pipeline could work perfectly by require a minimum coverage for different metrics (line coverage, branch coverage, class coverage, etc.).
Jacoco is already part of this project, so only the configuration is needed here.
What do you think?

I am using Jacoco in most of my projects ;-) - I have no objections in replacing it.


Added new plugin for defining custom actions on pushes to a repository

This seemed like it should be generically useful so thought it made sense to add here. My use case is making a custom action for astropy-bot that automatically adds new contributors to the astropy contributor team.

Codecov Report

Merging #53 into master will increase coverage by 0.52%.
The diff coverage is 95.65%.

@@            Coverage Diff             @@
##           master      #53      +/-   ##
==========================================
+ Coverage   82.05%   82.58%   +0.52%
==========================================
  Files          14       15       +1
  Lines         758      781      +23
==========================================
+ Hits          622      645      +23
  Misses        136      136

Impacted Files
Coverage Δ

baldrick/plugins/github_pushes.py
95.65% <95.65%> (ø)

baldrick/plugins/github_pull_requests.py
81.03% <0%> (+1.72%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0316501...9ca99d9. Read the comment docs.

That's cool! I think the actual plugin may be Baldrick worthy as well. I can see us using that for SunPy?

@Cadair - I addressed your comment - is this good to go?


[BEAM-3879] Automate checking of release steps from the release guide

Automate checking of release steps from the release guide.
So far  this script just checks that actions have been done, and doesn't perform any action that changes state.
It does verify that the version numbers have been set correctly for python and java on the master and release branches.

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue.
[ ] Write a pull request description that is detailed enough to understand:

[ ] What the pull request does
[ ] Why it does it
[ ] How it does it
[ ] Why this approach

[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Run mvn clean verify to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

+R: @robertwb - Robert - would this be useful?

Yes, though I have to admit I get wary of bash scripts once they cross the 100 line barrier.
I'm assuming this would work in conjunction with the artifacts themselves being produced (and staged) by a jenkins job?


Using ssl flag causes a proxy error

I'm using self-signed certs and am behind a corporate firewall. I set up a simple InfluxDB instance and I am able to query it using this Python client while https-enabled = False. But, after I set up HTTPS and enable it on the InfluxDB instance, I start getting proxy errors on my Python client. I set ssl=True and verify_ssl=False even though that's default. I'm running the exact same query with the same credentials. I also tried using this Python client on a different, already established Influx database with HTTPS enabled.
requests.exceptions.ProxyError: HTTPSConnectionPool(host='myhostname.org', port=8086): Max retries exceeded with url: /query?q=select+diskBytes+from+tsm1_filestore+limit+1&db=_internal (Caused by ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 403 Forbidden',)))
Are my requests going out to the internet? This is my suspicion because it looks like the requests are hitting our proxy server.

Solved. I renamed the issue from "Using ssl flag causes a proxy error" to "Seemingly random proxy errors."
I work behind a corporate firewall so that is one consideration. I think one of the problems was that I had old HTTP and HTTPS proxy system environment variables set that I think were being used by one of the Python modules, such as requests. Specifically, the variables were HTTP_PROXY and HTTPS_PROXY.
Another contributor to this issue is the editor I was using and its proxy settings. For instance, in Visual Studio code I had to make sure to not set the proxy settings when it prompted me. Same with Pycharm. Hope this helps someone else besides my coworkers.


enable new staking contracts

adds the contract addresses for the newly released CC10 staking contracts, and enables querying them through the discord bot.

Codecov Report

Merging #32 (792b72e) into main (f3ea369) will increase coverage by 0.11%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main      #32      +/-   ##
==========================================
+ Coverage   20.65%   20.76%   +0.11%
==========================================
  Files          19       19
  Lines        1036     1040       +4
==========================================
+ Hits          214      216       +2
- Misses        787      790       +3
+ Partials       35       34       -1

Impacted Files
Coverage Δ

bclient/bclient.go
57.62% <0.00%> (-0.56%)
:arrow_down:

discord/discord.go
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f3ea369...792b72e. Read the comment docs.

Codecov Report

Merging #32 (792b72e) into main (f3ea369) will increase coverage by 0.11%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main      #32      +/-   ##
==========================================
+ Coverage   20.65%   20.76%   +0.11%
==========================================
  Files          19       19
  Lines        1036     1040       +4
==========================================
+ Hits          214      216       +2
- Misses        787      790       +3
+ Partials       35       34       -1

Impacted Files
Coverage Δ

bclient/bclient.go
57.62% <0.00%> (-0.56%)
:arrow_down:

discord/discord.go
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f3ea369...792b72e. Read the comment docs.


USHIFT-1629: Greenboot Healthcheck: don't fail if Pod didn't started yet

/lgtm

/cherry-pick release-4.14


incompatibility on python12

running with --directml acceleration first got this error:
F:\ComfyUI\custom_nodes\ComfyUI-GGUF-main\nodes.py:79: UserWarning: The given NumPy array is not writable, and PyTorch does not support non-writable tensors. This means writing to this tensor will result in undefined behavior. You may want to copy the array to protect its data or make it writable before converting it to a tensor. This type of warning will be suppressed for the rest of this program. (Triggered internally at C:\actions-runner_work\pytorch\pytorch\builder\windows\pytorch\torch\csrc\utils\tensor_numpy.cpp:212.)
torch_tensor = torch.from_numpy(tensor.data) # mmap
those i fix, but then an error where says that tensors are read only...
please fix

Is it possible that this is an issue specific to pytorch nightly (2.6.X) and not python 3.12? I did a quick test but at least on that specific env I can't reproduce it with torch 2.4.0

that is the prompt for the error

What's the actual error? The "UserWarning" line should only be a warning, not a hard error, and in the screenshot above it looks like it still continues with loading the model (which will happen the first time it's used, so there may be some delay there - check disk usage to see if it's loading from disk).

first i got this
`Using directml with device:
Total VRAM 1024 MB, total RAM 16304 MB
pytorch version: 2.4.1+cpu
Set vram state to: NORMAL_VRAM
Device: privateuseone
Using sub quadratic optimization for cross attention, if you have memory or speed issues try using: --use-split-cross-attention
[Prompt Server] web root: F:\ComfyUI\web
Import times for custom nodes:
0.0 seconds: F:\ComfyUI\custom_nodes\websocket_image_save.py
0.1 seconds: F:\ComfyUI\custom_nodes\ComfyUI-GGUF
Starting server
To see the GUI go to: http://<IP_ADDRESS>:8188
got prompt
Using split attention in VAE
Using split attention in VAE
!!! Exception during processing !!! newbyteorder was removed from the ndarray class in NumPy 2.0. Use arr.view(arr.dtype.newbyteorder(order)) instead.
Traceback (most recent call last):
File "F:\ComfyUI\execution.py", line 323, in execute
output_data, output_ui, has_subgraph = get_output_data(obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
File "F:\ComfyUI\execution.py", line 198, in get_output_data
return_values = _map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
File "F:\ComfyUI\execution.py", line 169, in _map_node_over_list
process_inputs(input_dict, i)
File "F:\ComfyUI\execution.py", line 158, in process_inputs
results.append(getattr(obj, func)(**inputs))
File "F:\ComfyUI\custom_nodes\ComfyUI-GGUF\nodes.py", line 347, in load_clip
return (self.load_patcher([clip_path], clip_type, self.load_data([clip_path])),)
File "F:\ComfyUI\custom_nodes\ComfyUI-GGUF\nodes.py", line 316, in load_data
sd = gguf_clip_loader(p)
File "F:\ComfyUI\custom_nodes\ComfyUI-GGUF\nodes.py", line 122, in gguf_clip_loader
raw_sd = gguf_sd_loader(path)
File "F:\ComfyUI\custom_nodes\ComfyUI-GGUF\nodes.py", line 39, in gguf_sd_loader
reader = gguf.GGUFReader(path)
File "C:\Python310\lib\site-packages\gguf\gguf_reader.py", line 94, in init
if self._get(offs, np.uint32, override_order = '<')[0] != GGUF_MAGIC:
File "C:\Python310\lib\site-packages\gguf\gguf_reader.py", line 151, in _get
.newbyteorder(override_order or self.byte_order)
AttributeError: newbyteorder was removed from the ndarray class in NumPy 2.0. Use arr.view(arr.dtype.newbyteorder(order)) instead.
Prompt executed in 7.21 seconds
`
after i manually fix this then got the warning, then the error

The numpy 2.0 issue is known: https://github.com/city96/ComfyUI-GGUF/issues/7 - that's why requirements.txt specifies numpy<2.0

i'm getting the error on a numpy 2.2 installation

Any 2.X version will have the same error until the upstream fix to llama.cpp's gguf-py is merged.
For now the only two solutions are downgrading to Numpy 1.X or applying the fix outlined in the linked issue above to gguf-py yourself.
Anyway, closing for now as the numpy part is a duplicate of that one, and Python 3.12 does work as far as I can tell.


Adding alias tfi='terraform init'

https://github.com/Bash-it/bash-it/blob/973a1f9b405614979e911a48796420ba64f4e81a/aliases/available/terraform.aliases.bash#L6
Hello,
How about adding
alias tfi='terraform init'
Thanks

Hey @nusrath432, what action does this command perform actually on the disk? I see no different make in the current working directory.

Hi @tbhaxor, It initialises the directory to be able to run other Terraform commands. Since you do not have any .tfvars files within that directory, it is highlighting the same.


typescript: only type-check the requested input files [phab:D1439]

Created by evmar at 2017-03-21 22:52:42:
The indexer is passed a set of files to index; these files may
reference other files not in that list (e.g. the TypeScript standard
library).  Avoid type-checking these extra files as they're not
part of the indexing process.
This behavior is consistent with how we compile TypeScript code in
google3, and has the nice side effect of dramatically speeding up
the test suite because we no longer type-check the standard library
on each test.
Add a new file to the test suite that intentionally doesn't compile.

zarko accepted this revision at 2017-03-21 23:05:41

zarko closed via commit 7f742fb6bf3030c2b0f38299c84521bfac0e7ff7 at 2017-03-21 23:06:13


API docs appear to be out of date / inaccurate?

Haven't looked into this too much yet, honestly, just trying to work through it and get to the end of my task.
It appears that the API docs (/api/swagger) are out of date. Things I've noticed:

missing (new?) auth endpoints, e.g. auth/local/signin, auth/local/authorize
incorrect return type for api/users/{id}, e.g. docs indicate far, far smaller payload than what's actually returned

Do I need to re-gen the docs? I assumed they would be auto-gen'd at startup/build time?

The Swagger doc is out of sync with the server's Express routes.  This should hopefully be fixed in the not-too-distant future, without being able to put a concrete estimate on it, by updating to OpenAPI 3 YAML.  It's on the road map.  Pull requests are welcome if you want to take a shot at it.

Although we are moving towards OpenAPI 3 soon, it would be nice to fix the current docs.  I will update the auth routes and fix the api/users return payload.  Let us know if you see more, and as @restjohn mentioned, pull requests are always welcome and helpful.

Great, thanks!

POST users and PUT users are also out of date regarding the payload they require. E.g. "roleId is a required field" but not shown in the docs.


[Error: API error: 401 Unauthorized]

Hi,
I get authentication error in reblog of post, the code is based from https://api.tumblr.com/console/calls/post/reblog i failed to resolve :tired_face:
var tumblr = require('tumblr.js');

var client = tumblr.createClient({
  consumer_key: '',
  consumer_secret: '',
  token: '',
  token_secret: ''
});

client.reblog('biorandom.tumblr.com', {
  id:<PHONE_NUMBER>97,
  reblog_key: '5UmjEEzJ'
}, function (err, data) {
  console.log(err, data);
});

out
[Error: API error: 401 Unauthorized] undefined

Hey @jlobos27, I assume you were using OAuth credentials for that blog and omitted them for this example. Is that correct? Just asking since incorrect credentials would cause a 401.

@KevinTCoughlin yes, i test credentials in postman (app google chrome for requests) and found reblog of post.

problems in my connection :smile_cat: i test code in koding.com (cloud for developer) and found, thanks!


Add page or tab to document global settings and their impact on the UI

It's currently very difficult to find information on those, maybe add a page named "Global Settings" after "Admin Interface" under the "Admin" tab?
Most settings are self-explanatory once found, but the existence of each setting is still not obvious. This would be a way to quickly find out about them, using the doc.

Most of these are documented now under the "global settings" pge

Nice thanks!


bug:  #take method get all records without limit

because...
def take
    all.first
end

done.
https://github.com/tmkw/sf_cli/pull/84


NetAnalyzers and StyleCop centralized

Summary of the Pull Request
Moved configuratiions for C# projects in Directory.Build.props file:

Microsoft.CodeAnalysis.NetAnalyzers nuget
StyleCop.Analyzers nuget
StyleCop.json
GlobalSuppressions.cs

PR Checklist

[x] Closes: #19475
[ ] Communication: I've discussed this with core contributors already. If work hasn't been agreed, this work might be rejected
[ ] Tests: Added/updated and all pass
[ ] Localization: All end user facing strings can be localized
[ ] Dev docs: Added/updated
[ ] New binaries: Added on the required places

[ ] JSON for signing for new binaries
[ ] WXS for installer for new binaries and localization folder
[ ] YML for CI pipeline for new test projects
[ ] YML for signed pipeline

[ ] Documentation updated: If checked, please file a pull request on our docs repo and link it here: #xxx

Detailed Description of the Pull Request / Additional comments

Validation Steps Performed
CI pass

@crutkas are you fine with centralize code analysis in Directory.Build.props for C# projects?

Any reason why I wouldn’t :). We centralize other stuff


Generate var text for copyright tags while generating the template files in the licenseRdfaGenerator

Currently, ... text is treated as normal text for matching purposes.
Per the matching guidelines, this text is optional and variable.
This could be just a match=".*" however, that may match additional legal text and change the meaning of the license.
A more sophisticated design may be needed.

Moved from https://github.com/spdx/tools/issues/125

Old issue - closing as will not be resolved


Any  ideas to determine if the pronunciation is clear or fluent ?

I'm not sure to understand your question and how it is relevant to this project. Maybe you want to ask this question in the openai/whisper discussion board?


build: stricter stylelint rules

Description
Upgrade to latest version of Stylelint and associated plugins; switch opinionated stylelint-config-clean-order for stylelint-order. Organize and label the stylelint config for easier maintenance.
Stylelint rule updates
Stylelint rules

color-function-notation: Use modern color notation (https://stylelint.io/user-guide/rules/color-function-notation/#ignore-with-var-inside)
selector-attribute-quotes: Force quotations in attribute selectors
block-no-empty: Prevent shipping empty blocks
no-descending-specificity: Disallow selectors of lower specificity from coming after overriding selectors of higher specificity
selector-class-pattern: Added logic for our supported classes

How and where has this been tested?
Please tag yourself on the tests you've marked complete to confirm the tests have been run by someone other than the author.
Validation steps

[x] Expect to see no visual changes in the baselines
[X] @pfulton  yarn linter switch: Expect to see Unexpected duplicate selector ".spectrum-Switch", several low performance transition properties, and 1 Expected custom property to come before declaration
[X] @pfulton  Check out the branch locally, yarn install && yarn compare. Expect to see: ✓  No changes detected.

Regression testing
Validate:

The documentation pages for at least two other components are still loading, including:

[ ] The pages render correctly, are accessible, and are responsive.

If components have been modified, VRTs have been run on this branch:

[ ] VRTs have been run and looked at.
[ ] Any VRT changes have been accepted (by reviewer and/or PR author), or there are no changes.

To-do list

[x] I have read the contribution guidelines.
[ ] ✨ This pull request is ready to merge. ✨

@castastrophe I'd love to hear any feedback you have on stylelint-config-clean-order. If you notice anything missing or needing updates, please let me know!

@kutsan We loved the tool and I liked the ordering it provided but when applied to our existing codebase of 80+ components, we found the reordering introduced some bugs that were out of scope to resolve in this release. I'm hopeful we can introduce something like it in the future. The biggest challenge was in reordering shorthand properties, i.e. border and border-block-start.


Include target number as a success

In the original code, the target number was overlooked, checking only for greater than or less than.

Hi there! I know it's been literal years, but thanks for your contribution! I'm sorry I never merged it. I haven't worked on RPBot in quite some time.
I'm actually completely rewriting the bot in Rust now, which I aim to be pushing to a stable state very soon. This PR was auto-closed since I replaced the "master" branch with "main" to follow my usual modern conventions, but also it will definitely be incompatible with the new code regardless.


Google Cloud Pub/Sub triggers high latency on low messages throughput

i'm running project which publishes messages to a PubSub topic and triggers background cloud function.
I read that with high volumes of messages, it performs well, but for lesser amounts like hundreds or even tens of messages per second, Pub/Sub may yield high latencies.
Code example to publish message:
const {PubSub} = require('@google-cloud/pubsub');

 const pubSubClient = new PubSub();

 async function publishMessage() {
    const topicName = 'my-topic';
    const dataBuffer = Buffer.from(data);

    const messageId = await pubSubClient.topic(topicName).publish(dataBuffer);
    console.log(`Message ${messageId} published.`);
 }

 publishMessage().catch(console.error);

Code example of function triggered by PubSub:
exports.subscribe = async (message) => {
  const name = message.data
    ? Buffer.from(message.data, 'base64').toString()
    : 'World';

  console.log(`Hello, ${name}!`);
}

Environment details

OS: Windows 10
Node.js version: 8
@google-cloud/pubsub version: 1.6

The problem is when using PubSub with low throughput of messages (for example, 1 request per second) it struggles sometimes and shows incredibly high latency (up to 7-9s or more).
Is there a way or workaround to make PubSub perform well each time (50ms or less delay) even with small amount of incoming messages?
Thanks!

@andryichenko Sorry for the late reply on this, but could it be that the publisher piece you showed above is queueing the messages for batch send? You might try decreasing the max batching timeout:
pubSubClient.topic(topicName, {
    batching: { maxMilliseconds: 10 }
})

The default is already low (100), but it's possible something is getting set incorrectly. It's also possible that it's not properly obeying that number in your case, in which case I need to do some more debugging.
The other possibility is that it's getting hung up in the machinery somewhere between your client and your GCF function executing. I can pass it off to the right people in that case, but we should eliminate the client library first.

@feywind Thanks for the reply!
I already tried to decrease the max batching timeout, but it didn't really help. (It seemed to me that messages are going faster but still it struggles).
Also as can be found in this guide, PubSub tries to gather multiple messages before delivering it. In other words, it tries to deliver many messages at once. In this specific case to achieve a more realistic real time scenario, should be specified a batch size of 1, which would cause PubSub to delivery every message separately.
So i also added maxMessages property to batching object, like so:
pubSubClient.topic(topicName, {
    batching: {
       maxMessages: 1,
       maxMilliseconds: 10
 }
})

But it seemed also not really helpful.
After some research i come to conclusion that it may be cloud functions causing delays on cold start. So as a workaround i tried to make a simple node.js server that pinging cloud functions via pub/sub so they remain heat. And it shows much better results now.
I'm still trying to find good solution for this though.

We also face the same problem: when we send 1-2 messages per minute the latency is around 1200 ms but once we push more messages it becomes faster and faster (around 10ms). It looks like there is some cache mechanism for pushing the messages.

I'm not as knowledgable about what happens after it leaves the Pub/Sub library, so it's possible something down in gax/gRPC is doing its own buffering. I can ask the maintainers of those libraries if there's anything possibly there. But as for the Pub/Sub library itself, it should be obeying that batching configuration and not pausing. I will peek at that and see if there's possibly a bug there, that it's not using the right values.

@feywind did you find any solution?

@feywind did you find any solution?

I missed that there were two issues potentially related to this: https://github.com/googleapis/nodejs-pubsub/pull/1087
Do you know if 2.5.0 still has the issue?

Seems like this has been merged and hasn't solved the problem of latency.

@dozie Thanks for the update!
@alexander-fenster Sorry to ping you again :D but could there be something introducing latency and doing its own batching of calls at the gax level? If setting the batch size to 1 for the Pub/Sub library doesn't reduce the latency, it seems like it might be something at a lower level.

@feywind I can confirm that batch size settings is set to 1 message, but latency didn't reduce.

We are experiencing a similar issue: high latency (5 ~ 10 seconds) on low messages throughput.
I don't think it's related to the message producer, but maybe the pubsub server itself and here is why:
We keep tracking the publish_time on message and from the official google doc we know that this publish_time is the time pubsub server receives the message, so it doesn't matter what you set up from the message producer side. And the time between the publish_time and the time our client/message-consumer revised the message can be 5 ~ 10 seconds when the traffic throughput is low, especially in the scenario that a message sent to pubsub after a long time of no message sent.
I have been looking for some SLA of pubsub to guarantee that "queue time" but could not find it.

@kamalaboulhosn Since there's a question here about the server side... Is it possible that the service is doing some sort of batching or delaying to queue up more messages?

@kamalaboulhosn Gentle ping on this since it seems like it might be a service question at this point.

@kamalaboulhosn Gentle ping on this since it seems like it might be a service question at this point.

Same issue here, but the latency is around 5 minutes. We have two topics between a GAE app and a cloud function, a request-response cycle.
The function is almost identical to what @andryichenko has posted. Not sure how to debug the latency on the way back to GAE other than looking at HTTP log timestamps.
Things I've tried:

Created a parallel pull subscription to check timestamps on the messages. Same 5 minutes there.
Change batching to maxMessages: 1, same behavior.

Things I've considered but didn't have time to test:

Forcing flush() on the cloud function before it ends. This is based on assumption that GCF blocks the CPU for any background functions that haven't been terminated.
Recreating the topic/subscriptions.

I've enabled some additional logging, and it looks like the function exists almost instantly, leaving the actual (async) code to run in the background for some time:

The last line comes from this code:
const publish = async (event) => {
  const client = new PubSub({ apiEndpoint: config.PUB_SUB_API_ENDPOINT });

  const data = Buffer.from(JSON.stringify(event));
  const topic = client.topic(topicName, { batching: { maxMessages: 1 } });
  const messageId = await topic.publish(data, metadata);
  logger.log('Message published', messageId);

  await topic.flush();
  logger.log('Flushed', messageId);

  return messageId;
};

Some observations:

The latency up until (and including) the line 2021-03-12 12:45:49.244 is expected. But the 2 minute gap after that line isn't. I attribute the gap to the code above. In subsequent runs the latency on this step fluctuates around 1-2 minutes mark.
Interestingly, the call to .flush() fails with 3 INVALID_ARGUMENT: The value for message_count is too small. You passed 0 in the request, but the minimum value is 1..
Looks like the awaits are not respected by the cloud function runner.

Ok, mistery solved!
The main cloud function handler was wrapped into Sentry.GCPFunction.wrapEventFunction which somehow loses track of the returned promises. In its turn, that lead to throttling the function and skyrocketing the latency.

@killthekitten Ah, yeah. I've seen a few issues in the past with GCF losing track of async happening in the background. I'm glad you found something to help there.
I'm not sure how many of the comments above were using GCF, but it looks like the original poster was doing so. Is anyone else having a non-GCF issue with this?

I am experiencing the same, having a delay of  15s and more for a few times. Most of the time everything works ok. If I don't use orderingKey there seems to be no delay after some quick testing (we rely on orderingKey so I did not investigate further). I re-created all subscriptions and topics and everything seems to be fine now. I started seeing these problems from 2022-02-09. Perhaps something changed in the PubSub-system?

@kamalaboulhosn Thanks for letting me know. This actually coincides with when the problems started for us.

@flunderpero There is currently a known issue in the Pub/Sub service that is causing the 15s delay. The change that caused the issue is being rolled back right now. This issue would only have existed between 2/7/2022 and now.

Is there any way that we can track that issue as we're seeing these same 15s delays?  From what we can see there hasn't been a change to the service since December according to the Pub/Sub release notes: https://cloud.google.com/pubsub/docs/release-notes
Are are you talking about something else @kamalaboulhosn

@ChrisWestcottUK  The release notes for the server only track significant API/region availability/feature availability changes, not every server change that is made. There is no public tracking for all of these such changes. For tracking issues if they affect your projects, it is best to put in a support request so support engineers can follow up. This particular incident should now be resolved.

Linked to the meta-issue about transport problems: b/242894947

I'm seeing this issue as well. I also faced it with Cloud Functions but I took my cloud function code and modified it a bit so I could easily trigger it locally with node testProblem.js. So it is just like your typical node command line app. This still causes a 2-5 second latency for publishing a message to a topic. At the same time a different app involved running in GKE uses the Java version of pubsub library (via Clojure) and that works lightning fast, no delay whatsoever. The same lightning fast performance is retained when running that app locally so it is not related to my personal internet connectivity or similar wonky stuff.
To me this seems like the batching disabling doesn't work properly. Batching configurations are respected, if publishing less messages than maxMessages then the latency is very close to maxMilliseconds as one would expect. If however maxMessages is set to 1 then this weird latency occurs. If sending two messages with maxMessages set to 2 they both finish in identically the same amount of time, which again is to be expected since they are batched. If sending two messages with maxMessages set to 1 they both finish about twice as fast! This does NOT make any sense.
Since Java pubsub doesn't suffer from problems such as this at all I'm leaning towards that the whole batch scheduling logic in this library is somehow broken. I'll look into this for a while still but if I can't find the issue really soon we have to rewrite our Cloud Functions with a different language to get acceptable performance since this issue causes a user facing performance problem.

Going back to the original issue, I think the problem might be in the way the topic is being instantiated. The topic is being recreated for every publish, which means the topic is not being reused. It also means that the connection to the server has to be renegotiated every time. It would be better to do this:
const {PubSub} = require('@google-cloud/pubsub');

 const pubSubClient = new PubSub();
 const topicName = 'my-topic';
 const topic = pubSubClient.topic(topicName);

 async function publishMessage() {

    const dataBuffer = Buffer.from(data);

    const messageId = await topic.publish(dataBuffer);
    console.log(`Message ${messageId} published.`);
 }

 publishMessage().catch(console.error);

If the topic name is not known before the publish and can change, then you should keep a map from topic name to topic object and reuse it.

I’m seeing a similar issue over here. My setup is similar to the OP - Firebase cloud function triggers individual PubSub topic messages. I’m seeing latency in minutes rather than seconds.
Interestingly the topic().publish() method seems to be taking a long time based in the logs.
Ive tried setting max messages but that didn’t seem to help.
batching: {
  maxMessages: 1
}

Anything else I can try or information to share that would help debug this?

I’m seeing latency in minutes rather than seconds.

Have you tried debugging it the same way I did in one of the comments above? It could be caused by throttling on a function because of an async wrapper, or any async code that you aren't awaiting properly.
The key is to log when the function returns - does it return sooner than the publish() call?

@killthekitten Great tip thanks! Turned out that was the problem in my case - I was not waiting for the topic().publish() to complete before terminating the cloud function. The fix was to add an .await() on the publish Promise and now the messages seem to be delivered much faster 👍

Hi all, I just made some updates to the batch flushing logic for publishing, and that's in 3.4.0. I'd be interested to hear if it helps this.

Hi all, I just made some updates to the batch flushing logic for publishing, and that's in 3.4.0. I'd be interested to hear if it helps this.

Hi, thank you for your excellent work. I have been testing 3.5.2. The problem is still there.
We are deploying our services on Cloud Run, I had a question, maybe for containers we need to enable gRPC (on Cloud Run) so Pub/Sub works better for single messages. We have a lot of requests between services in the context of a single user request and we use Pub/Sub as a transporter. The latency is from 1 to 8 seconds.


1 GB Canary Sidechain using Drivechain

As it says in the README, do not use this with real Bitcoin (or at all). An even more experimental version, containing some unmerged PR's, can be found at #7.
Goals

Learn more about how Drivechains work.
Create a big sidechain, where scaling problems can be experienced long before they become a problem on the main chain.
Remove technical debt from consensus code, where:
a) it can be done with a modest change
b) future changes to Core can be tracked easily

Required Features:

[ ] 1 GB max block weight (#2)
[ ] SegWit only (is that even possible?)
[ ] All soft forks activate at / before genesis block

[ ] BIP30 & BIP34 (#3)
[ ] BIP65 (#4)
[ ] BIP66 (#5)
[ ] BIP68 & BIP112 & BIP113 (#6)
[ ] BIP141 & BIP143 & BIP147
[ ] ...

[ ] Minimum transaction fee for first year (extended via soft forks)
[ ] Document consensus rule differences (BIP like process?)

Nice to have:

[ ] make --with-incompatible-bdb the default
[ ] ?

Dependencies

[ ] upstream sidechain example rebased on Core v0.15, e.g. to take advantage of this

Open questions:

does / should the default sidechain example deal with the above BIPs?

Good choice of name! And just to let you know, those travis CI errors are not your fault. See https://github.com/drivechain-project/bitcoin/issues/26


remove empty provider blocks

terraform v1.1.4 (and at least v1.0.11) emits a warning for empty
provider blocks. Removing those still seems to work while avoiding
that warning.

Thanks for letting me know @phaer, merged!


make: *** [build/rom0.elf] Error 1

Hi,
I've compiled the esp-open-sdk + esp2tool + rboot, all from master git branches, all seem to compile successfully.\
However, when i building rboot-sample i get
make
CC main.c
CC rboot-api.c
CC rboot-ota.c
CC uart.c
LD rom0.elf
/Volumes/case-sensitive/esp-open-sdk/sdk/lib/libmain.a(spi_flash.o): In function flash_gd25q32c_write_status': (.text+0x6d0): undefined reference to Enable_QMode'
/Volumes/case-sensitive/esp-open-sdk/sdk/lib/libmain.a(spi_flash.o): In function flash_gd25q32c_write_status': (.text+0x6e1): undefined reference to Enable_QMode'
collect2: error: ld returned 1 exit status
make: *** [build/rom0.elf] Error 1
I have tried compiling the SDK, with both
make STANDALONE=y and just the default build with 'make'.
Hope you can help.

Those errors are coming from libmain, not rBoot code. Perhaps there is another library you need to link against containing the missing symbols?

Hello,
I encountered the same issue but with other lib:
..//lib/libmain.a(app_main.o): In function flash_data_check': (.irom0.text+0x75c): undefined reference to user_rf_cal_sector_set'
..//lib/libmain.a(app_main.o): In function flash_data_check': (.irom0.text+0x8d7): undefined reference to user_rf_cal_sector_set'
..//lib/libmain.a(spi_flash.o): In function flash_gd25q32c_write_status': (.text+0x6d0): undefined reference to Enable_QMode'
..//lib/libmain.a(spi_flash.o): In function flash_gd25q32c_write_status': (.text+0x6e1): undefined reference to Enable_QMode'
collect2: error: ld returned 1 exit status
make: *** [build/rom0.elf] Error 1
I'm not easy with makefile. how can we do the link? And how can we chose the good symbols to link?
Thank you in advance for your help.

A quick google found this page: https://github.com/esp8266/Arduino/issues/2304 where is was stated the user_rf_cal_sector_set function needs to be added by the user. If you don't know what it's for or why it's needed (I don't) you could probably just take the version they have put in their code. Enable_QMode is also mentioned on that page.

Hi Raburton,
Thank for you're reply. I put my question here because my quick google search was not a success...
For an explicite solution, see the following :
For the user_rf_cal_sector_set, we have to put the followinf funciton in main.c :
uint32 ICACHE_FLASH_ATTR user_rf_cal_sector_set(void)
{
enum flash_size_map size_map = system_get_flash_size_map();
uint32 rf_cal_sec = 0;
switch (size_map) {
    case FLASH_SIZE_4M_MAP_256_256:
        rf_cal_sec = 128 - 8;
        break;

    case FLASH_SIZE_8M_MAP_512_512:
        rf_cal_sec = 256 - 5;
        break;

    case FLASH_SIZE_16M_MAP_512_512:
    case FLASH_SIZE_16M_MAP_1024_1024:
        rf_cal_sec = 512 - 5;
        break;

    case FLASH_SIZE_32M_MAP_512_512:
    case FLASH_SIZE_32M_MAP_1024_1024:
        rf_cal_sec = 1024 - 5;
        break;

    default:
        rf_cal_sec = 0;
        break;
}

return rf_cal_sec;

}
Then for the second point, Enable_QMode:
We have to add this line
PROVIDE ( Enable_QMode = 0x400044c0 );
in the eagle.rom.addr.v6.ld present in rboot-sample directory
And now it's OK.


Handles special characters better

These changes allow PiVPN scripts to display and revoke certificates with common names like "José" better.  Prior to this commit, names like "José" would be shown as "Jos\xC3\xA9".

Prior to this commit, names like "José" would be shown as "Jos\xC3\xA9".

Maybe it's due to your terminal encoding? Works for me.
$ NAME="José"
$ printf ""$NAME"\n"
$ José

I tried that in a BASH shell.  It worked just fine.  But the PiVPN scripts seem to manage that name (and others, I assume).  This commit fixes the issue for displaying it, as well as revoking that certificate.

Sorry for the delay, you were right, however yo need to change the target branch to test, according to https://github.com/pivpn/pivpn/blob/master/CONTRIBUTING.md

How do I do that?

https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/changing-the-base-branch-of-a-pull-request
You also need to add additional commits since listOVPN.sh in the test branch was different when you originally submitted the pull request.

Okay, I'm closing this pull request and will open another one in the right branch.  Thank you!


support  of "kubectl rollout status" API

I am trying to check my deployment status .
kubectl provide the say to check the status of deployment, Do we have any API like this?
Waiting for rollout to finish: 2 out of 10 new replicas have been updated...
Waiting for rollout to finish: 2 out of 10 new replicas have been updated...
Waiting for rollout to finish: 2 out of 10 new replicas have been updated...
Waiting for rollout to finish: 3 out of 10 new replicas have been updated...
Waiting for rollout to finish: 3 out of 10 new replicas have been updated...
Waiting for rollout to finish: 4 out of 10 new replicas have been updated...
Waiting for rollout to finish: 4 out of 10 new replicas have been updated...
Waiting for rollout to finish: 4 out of 10 new replicas have been updated...
Waiting for rollout to finish: 4 out of 10 new replicas have been updated...
Waiting for rollout to finish: 4 out of 10 new replicas have been updated...
Waiting for rollout to finish: 5 out of 10 new replicas have been updated...
Waiting for rollout to finish: 5 out of 10 new replicas have been updated...
Waiting for rollout to finish: 5 out of 10 new replicas have been updated...
Waiting for rollout to finish: 5 out of 10 new replicas have been updated...
Waiting for rollout to finish: 6 out of 10 new replicas have been updated...
Waiting for rollout to finish: 6 out of 10 new replicas have been updated...
Waiting for rollout to finish: 6 out of 10 new replicas have been updated...
Waiting for rollout to finish: 6 out of 10 new replicas have been updated...
Waiting for rollout to finish: 6 out of 10 new replicas have been updated...
Waiting for rollout to finish: 7 out of 10 new replicas have been updated...
Waiting for rollout to finish: 7 out of 10 new replicas have been updated...
Waiting for rollout to finish: 7 out of 10 new replicas have been updated...
Waiting for rollout to finish: 7 out of 10 new replicas have been updated...
Waiting for rollout to finish: 8 out of 10 new replicas have been updated...
Waiting for rollout to finish: 8 out of 10 new replicas have been updated...
Waiting for rollout to finish: 8 out of 10 new replicas have been updated...
Waiting for rollout to finish: 9 out of 10 new replicas have been updated...
Waiting for rollout to finish: 9 out of 10 new replicas have been updated...
Waiting for rollout to finish: 9 out of 10 new replicas have been updated...
Waiting for rollout to finish: 1 old replicas are pending termination...
Waiting for rollout to finish: 1 old replicas are pending termination...
Waiting for rollout to finish: 1 old replicas are pending termination...
Waiting for rollout to finish: 9 of 10 updated replicas are available...
deployment "nginx-deployment" successfully rolled out

Can you show kubectl command to check this, and output with kubectl --loglevel=8 (be sure to remove Authorization headers)?


Tusk 0.23 opening to a completely blank page. HELP!

Something broke.
When Tusk opens, everything is completely blank and none of my Evernote notes will display. Nothing. Zero. Zilch.
Tusk 0.23.0 (x64)
Version: 0.23.0
Electron: 4.2.2
Chrome: 69.0.3497.128
Node: 10.11.0
V8: 6.9.427.31-electron.0
OS: Linux x64 5.8.0-43-generic
Ubuntu Linux 20.04 LTS

Ubuntu 20.04.2 LTS

You can check on previous issues, some of them have mentioned solutions such as https://github.com/klaussinani/tusk/issues/308 , or you can take a look on the pull requests that open such as https://github.com/klaussinani/tusk/pull/317, and https://github.com/klaussinani/tusk/pull/332.
For the latter PR author (@Trip09) has provided the release in his forked repo here https://github.com/Trip09/tusk/releases/tag/v1.0.0 .

Great!Thanks for pointing me to that fork!I uninstalled the version of tusk that I had installed and then installed this fork and it is working again.
Best regards,Donald Dietz
On Thursday, February 25, 2021, 05:16:36 AM EST, Kamolphan Lewprasert<EMAIL_ADDRESS>wrote:

You can check on previous issues, some of them have mentioned solutions such as #308 , or you can take a look on the pull requests that open such as #317, and #332.
For the latter PR author (@Trip09) has provided the release in his forked repo here https://github.com/Trip09/tusk/releases/tag/v1.0.0 .
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


Badge for wikidata entity

:clipboard: Description
Create a badge to give access to a wikidata entity
For example, the badge for Q57699905 could be like:

Code:
[![Wikidata](https://img.shields.io/badge/-Q57699905-grey?logo=data:image/png;base64,UklGRsoAAABXRUJQVlA4TL0AAAAvJ0AFEAeBmJEk1Zw/xfkczz1bg1EkSZGSy/8PAdhBEezRiNq2kfM8PIfn+LO4Mo1tqxFBRpnlQ1IIdVEUzXxLWI/dmQCzKIeGFxpO/EIrigKiAgAgxJ1v/3Ee0JdQtZUVRV/ZePuG9JJMC9/xNQiU5ozAtpEkRfN4+AzHkH+cz+ZbEf1XkLYBsxn4JvApu7oghJQVIS2WYZ+8UgraWaX0QccZlPdSyoZJKTDO25pDCIgmhRAPOv5TfPi3LwkA)](https://www.wikidata.org/wiki/Q57699905)

This should be created simply via /wikidata/:qid

:link: Data
Any entity can be linked to directly.

:microphone: Motivation
The idea is to be able to reference wikidata entity in markdown documents with automatic link as well as a clear information about where the identifier comes from.
Thanks in advance

@tledoux - Could you please clarify what you are asking for? AFAICT the request is simply a static badge with a static message, in which case you'd want to use Shields static badge as you did in the issue description.

Indeed my main motivation was to simplify the markdown to something like:
[![Wikidata](https://img.shields.io/wikidata/Q57699905)](https://www.wikidata.org/wiki/Q57699905)

But I see that the main point is the logo which should be added to the standard ones, which is another matter.
Sorry for the annoyance and many thanks for the great badges...

No worries!

But I see that the main point is the logo which should be added to the standard ones, which is another matter

Yup you've got it. We rely (mostly) on simple icons for logos, so you'd probably want to reach out over there to try to get the wikidata logo more readily available. That would get allow for badges like:
https://img.shields.io/badge/-Q57699905-grey?logo=wikidata
More info here on logos within Shields can be found here:
https://github.com/badges/shields/blob/master/doc/logos.md#contributing-logos


Voice activity v1.8.32 debug error [Bug]

Addon Name and Version
Voice activity v1.8.32
Discord Version
Stable
Describe the bug
Getting this error debug
[2024-10-21 18:54:01.867][CONSOLE:ERROR] [BetterDiscord] [Patcher] Could not fire after callback of render for VoiceActivity Cannot read properties of undefined (reading 'type') TypeError: Cannot read properties of undefined (reading 'type')     at Object.eval [as callback] (betterdiscord://plugins/VoiceActivity.plugin.js:1060:18)     at betterdiscord/renderer.js:5:22972     at aA (https://discord.com/assets/web.16ae88492e57a3ffedb4.js:12:992550)     at sc (https://discord.com/assets/web.16ae88492e57a3ffedb4.js:12:1002869)     at l (https://discord.com/assets/web.16ae88492e57a3ffedb4.js:12:1049881)     at ok (https://discord.com/assets/web.16ae88492e57a3ffedb4.js:12:1030781)     at https://discord.com/assets/web.16ae88492e57a3ffedb4.js:12:1030647     at oG (https://discord.com/assets/web.16ae88492e57a3ffedb4.js:12:1030655)     at oO (https://discord.com/assets/web.16ae88492e57a3ffedb4.js:12:1025692)     at N (https://discord.com/assets/web.16ae88492e57a3ffedb4.js:12:1224434)     at y (https://discord.com/assets/web.16ae88492e57a3ffedb4.js:12:1224964)     at https://discord.com/assets/web.16ae88492e57a3ffedb4.js:1:706179     at D (https://discord.com/assets/web.16ae88492e57a3ffedb4.js:1:705944)     at MessagePort.b (https://discord.com/assets/web.16ae88492e57a3ffedb4.js:1:706003)
To Reproduce
I'm not sure what the trigger is. It might be when I look at a server with people on voice call.
Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Add any other context about the problem here. For example, any other plugins you have enabled that could cause compatibility issues.

I still haven’t been able to reproduce this error, and the plugin’s been updated a few times since this was posted. That error message alone doesn’t seem like anything super problematic, so I’m going to go ahead and close this. If you run into any problems feel free to make another issue!


DLIS reader

We need to evaluate https://github.com/Teradata/dlispy (pure Python) and https://github.com/Statoil/dlisio (C++ with Python wrapper) and add another constructor.

Merged with #133

Merged with #133


Group GE release notes by area mostly 'New features/enhancements, Bug-fixes, Dependancy updates'

Update Graph Explorer release notes to group issues by area - this will improve the overall clarity of the release notes both internally and externally.

@adhiambovivian as discussed, this adds a manual aspect to the release authoring process.
@ElinorW , @Onokaev, we can however use this as a recommendation when authoring the release notes.
Expected order is:

Features
Enhancements
Bug Fixes
Dependency updates


#14 thread.stop

@yegor256 please review
Implemented thread.stop via Thread.interrupt

@yegor256 please have a look

@rultor merge

@rultor merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@yegor256 Done! FYI, the full log is here (took me 4min)


Testing in different languages

I found this link:
https://mycroft.ai/documentation/skills/automatic-testing/#how-to-define-tests-for-your-skill
And asked myself, how can I do this in a different language?
Or in a multilingual way?
Defining the utterance as de-de or en-us?
Is it done via the context, or some other way?
The documentation should give an example here, if implemented.
Otherwise it is an issue for the skills section. As testing utterance only in one language is way to less.

Just to update, as we've moved to a new Behavioural Driven Development test framework Voight Kampff.
This will now require a new Given Step to be added to core.
https://mycroft-ai.gitbook.io/docs/skill-development/voight-kampff/custom-steps
Eg:
Given a {language} speaking user
When ...
Then ...

It may work just to set the language configs using the existing:
Given the user's {config} is {value}

however I haven't tested this.


Implement LengthPrefixCoder.to_type_hint

LengthPrefixCoder doesn't define to_type_hint even though it seems pretty well defined. I've implemented it by just inferring it from its value coder.
Motivating use case - we have some debug tools that infer the types of pcollections based on to_type_hint. The LPCoder is used in a lot of places.
Bonus/unrelated change - I've pulled out the GitHub issue referenced in the NotImplementedError raised by to_type_hint. Every time I run into this error, I check the github issue and get more confused. It doesn't seem useful to refer to it in the error message, but does still seem relevant, so I pulled it out into a comment.
Testing Done
I haven't actually run the new unit test I wrote since I'm struggling to get my python sdk dev environment up (I've posted on the dev@ mailing list). Hoping the GH Action can just do it for me :)

R: @robertwb

Bump @robertwb (lmk if I should just use the regular reviewer-assignment system going forward)

Not sure who to @ here to keep this moving. @damccorm ?

I'll merge later after checks pass

I'll merge later after checks pass

Thanks for all the reviews! I really appreciate it!

Uh oh, looks like a bad rebase

I've just created a duplicate PR without the rebase issues
https://github.com/apache/beam/pull/30857

SGTM


Better documentation in README.md

Hi! Thanks, for the library. I think it would be helpful if there were instructions to install this library from pip (I see a version on pip under the name "demistoapi") and if there were more information about versioning. Also, is this SDK compatible with python 3?

I @zaqk, at the moment, we don't release the demisto-py SDK via PyPI, what you see there (demistoapi) is maintained outside Demisto by one of our users.
The SDK is compatible with Python 3.

@dorsha got it. thanks!


Cobas e411, c311 support

Hi
I'm currently working on interfacing with mentioned instruments.
Im willing to use your project as a start.
I could provide the needed keys to help you to implement those instruments to your project.
How should we start?

Hello
Currently I'm very preoccupied with other projects. I cannot contribute much to the undertaking. But feel free to fork this project and and implement support for those instruments.
As a starting point, you can simply copy the following files and change them as necessary to comply with the instrument specs. I don't think the specs will deviate too much from ASTM.
https://github.com/iShafayet/node-astm/blob/master/gallery-indiko-reader.js
https://github.com/iShafayet/node-astm/blob/master/gallery-indiko-parser.js
If you want to push your changes back to this repo, just create a pull request. I'll take care of that.

Hi, I have a problem with Abbott Architect i1000 communication bidireccional. Help me

@jibleg , please create a separate issue with detailed information of exactly what problem you are facing.

@alamri3 @jibleg  hi did you manage to create the interfacing tool for cobas if so can you please share the project code as I'm working on a similar project with cobas e6000 and abbott architect.

@gilbertbounaoum
hey.
I have totally forgot about my other account @alamri3 thanks for reminding me, I finally deleted it :)
Yes I have successfully interfaced Cobas e411, c311 (in java)
Abbott ARCHITECT (in C#)
Both bi-direction.
Code is available but not in Github

@gilbertbounaoum I used C# (which I recommend) because of the rich API for dealing with low-level characters,also the speed and performance.
I didn't use COM communication, instead I used an adapter to convert to TCP/IP

@moalamri thank you for your reply ,I'm struggling on creating those interfaces can you please share with me the code for both interface i really appreciated if no okey no worries i totally understand .
(serial to tcp/ip adapter is an hardware or software?)
we can talk by email if you can provide me with you email address.
thank you

@gilbertbounaoum the convertor is a hardware. Which is the best method to interface a medical machine (low cost & no data loss for long distance) as you can connect more than one machine to a single server.
Sure the code is free depending on the user. I have gave them to multi charity facilities.
Hit me on Twitter : modev32

@gilbertbounaoum the convertor is a hardware. Which is the best method to interface a medical machine (low cost & no data loss for long distance) as you can connect more than one machine to a single server.
Sure the code is free depending on the user. I have gave them to multi charity facilities.
Hit me on Twitter : modev32

Please i need the source code for Cobas C311, e411 and Abbott i1000

I need interface sismex, cobas, vitros y fujifilm. How to do ?

@ubeffiong @jibleg what if we all collaborated to get all those machines interfaced in one project?

A project open source free for the community that public en github. I read ideas of collaboration?
Sent from my iPhone

On 25 Jul 2021, at 2:47, M. Hassan @.***> wrote:

@ubeffiong @jibleg what if we all collaborated to get all those machines interfaced in one project?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Yes exactly.

A project open source free for the community that public en github. I read ideas of collaboration?
…

As it will be open-source it should be written in a suitable programming language. C# is my preferred option in this field and with the new .Net 5 it should be easier to run cross-platfrom.
Also each lab has more than one machine, so by using serial port it will be very difficult to use a single project in a single PC to interface with machines (not to mention how it would be money and time consuming), so it better be done by TCP/IP.
What do you guys suggest for the framework that would be used for the project?

Yes exactly.

A project open source free for the community that public en github. I read ideas of collaboration?
…

As it will be open-source it should be written in a suitable programming language. C# is my preferred option in this field and with the new .Net 5 it should be easier to run cross-platfrom. Also each lab has more than one machine, so by using serial port it will be very difficult to use a single project in a single PC to interface with machines (not to mention how it would be money and time consuming), so it better be done by TCP/IP. What do you guys suggest for the framework that would be used for the project?

No problem, can we go ahead?
What would be your preferred medium for communication?

Yes exactly.

A project open source free for the community that public en github. I read ideas of collaboration?
…

As it will be open-source it should be written in a suitable programming language. C# is my preferred option in this field and with the new .Net 5 it should be easier to run cross-platfrom. Also each lab has more than one machine, so by using serial port it will be very difficult to use a single project in a single PC to interface with machines (not to mention how it would be money and time consuming), so it better be done by TCP/IP. What do you guys suggest for the framework that would be used for the project?

C# i prefer and for com port to tcp . kindly use moxa device  which convert serial to network

Hi guys,
I also want some help Need Cobas e411 and Cobas c311(Bidirectional) Source code for my project I have tried but that not working properly can you please help me.

@gilbertbounaoum hey. I have totally forgot about my other account @alamri3 thanks for reminding me, I finally deleted it :) Yes I have successfully interfaced Cobas e411, c311 (in java) Abbott ARCHITECT (in C#) Both bi-direction. Code is available but not in Github

please contact with me

@gilbertbounaoum hey. I have totally forgot about my other account @alamri3 thanks for reminding me, I finally deleted it :) Yes I have successfully interfaced Cobas e411, c311 (in java) Abbott ARCHITECT (in C#) Both bi-direction. Code is available but not in Github

please contact with me

Its great to hear from you but how can I connect with you

I interest in the code interface to Abbott Architect and Maglumi. Sent from my iPhone On 19 Jun 2024, at 10:36 a.m., chouguleshridhar @.***> wrote:
@gilbertbounaoum hey. I have totally forgot about my other account @alamri3 thanks for reminding me, I finally deleted it :) Yes I have successfully interfaced Cobas e411, c311 (in java) Abbott ARCHITECT (in C#) Both bi-direction. Code is available but not in Github
please contact with me
Its great to hear from you but how can I connect with you
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>


Configure image attributes using ImageLoaderSettings

What problem does this solve or what need does it fill?
When loading images/textures for my projects I have encountered the need to change some attributes of the image descriptor, like the format, the dimensions, etc.
To do this, I currently have to poll for the image to be loaded, then change the properties and mark the image as fully loaded somewhere.
This looks currently something like this:
#[derive(Resource)]
struct LoadingTexture {
    is_loaded: bool,
    gradient: Handle<Image>,
}

fn setup(...) {
    let gradient = asset_server.load("textures/gradient.png");
    commands.insert_resource(LoadingTexture {
        is_loaded: false,
        gradient: gradient.clone(),
    });
}

fn create_array_texture(...) {
    if loading_texture.is_loaded
        || asset_server.load_state(loading_texture.gradient.clone()) != LoadState::Loaded
    {
        return;
    }

    loading_texture.is_loaded = true;

    let image = images.get_mut(&loading_texture.gradient).unwrap();
    image.texture_descriptor.dimension = TextureDimension::D1;
}

What solution would you like?
The current approach is very cumbersome and verbose.
It would be way nicer to configure the optional parameters through the ImageLoaderSettings.
It is already possible to define the image sampler in this way.
I would propose, that we extend these settings to be able to select the TextureDescriptor properties as well.
Since we may only want to override some properties at a time, we can not specify the texture descriptor directly.
A better API would be to add optional fields to the image loader settings, for format, size, dimension, etc.
Alternatively, we could store this configuration in a separate struct named TextureSettings, or similar.
Before making a PR I would like to get your feedback on the implementation of the feature.
Let me know whether you prefer to configure all properties in the ImageLoaderSettings directly, or rather like to have a separate struct.
A possible example would look like this:
fn setup(...) {
    let gradient = asset_server.load_with_Settings(
        "textures/gradient.png",
        ImageLoaderSettings {
            dimension: Some(TextureDimension::D1),
            ..default()
        },
    );
}

What alternative(s) have you considered?
Keep things as they are?

Is this solved by what the .meta file is envisioned to enable? Or do you have additional requirements?

@VVishion Yeah, pretty much. I still think, that configuring stuff from code would be beneficial in some cases.
I am not familiar with the plans for the .meta files. Will they share the same properties, as the related <Assets>LoaderSettings?
If so, this issue could be solved as I have mentioned, above, and later, the support for .meta files could be added.

Current settings available when loading are https://docs.rs/bevy/latest/bevy/render/texture/struct.ImageLoaderSettings.html
This issue can be kept to add new ones, like the dimension from your example.

Then I will prepare a PR adding them 👍 .


Reduce time for mouse-over tooltip

Delay is about 3000ms, Fells very long
Did some research, and it suggest between 300 and 500ms

"I found a couple of libraries where the tooltip seems to be set at a default of 500ms, which seems quite reasonable."

https://ux.stackexchange.com/questions/358/how-long-should-the-delay-be-before-a-tooltip-pops-up

Actually, the default is 1 second, but it has been reduced in many places. All of the table cell related tooltips have been reduced to 250ms, and the transaction diagram tooltips to 50ms.
If there is a specific tooltip that you feel is taking too long to show, please describe where it is.

Those were the question marks in setting / advanced.
For example those in https://github.com/sparrowwallet/sparrow/issues/490
On Tue., Mar. 29, 2022, 02:14 craigraw, @.***> wrote:

Actually, the default is 1 second, but it has been reduced in many places.
All of the table cell related tooltips have been reduced to 250ms, and the
transaction diagram tooltips to 50ms.
If there is a specific tooltip that you feel is taking too long to show,
please describe where it is.
—
Reply to this email directly, view it on GitHub
https://github.com/sparrowwallet/sparrow/issues/489#issuecomment-1081445200,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAC643GGYTKF6RJCZPMBNQTVCKNV3ANCNFSM5R5ATBDQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Reducing the help tooltip show delay to 500ms in 1f51f63.


Timeout option for the commands

'exec' operations can take longer than 5s to complete; the timeout options should solve the problem - the initial connection will be still established using the original timeouts and can be overriden

The idea is great but I really don't want to modify a (if you follow PEP8 recommendations) constant.
Uploader.TIMEOUT should never be changed.
I'd rather introduce another argument to the Uploader constructor so that you might override the default constant and store that value as an instance variable (self._timeout or something) to be used wherever applicable.
Either  rework the PR or wait until I or someone else gets time to fix it.

np, i've seen it as a class attribute - reworked it, please see the changes
any chance of making the 0.2.2 release soon?

Hi @kmpm, do you see any more problems to address?

It looks fine to me.
I just want to test it out on both linux and windows first. That will happen later this week.


StreamError sharing inputs form Sweep Job to Command Job - AzureML SDKv2

Package Name: Azureml
Package Version: SDK V2
Operating System: Linux
Python Version: 3.11

Describe the bug
Unabel to connect steps in azureml. StreamError for connected inputs/outputs
To Reproduce
Steps to reproduce the behavior:

A pipeline with at least two command component steps, first one has to be a sweep job. First step produces output that has to be used as input for the second step.

In this case, we have three step pipeline:

@pipeline()
def train_with_hyperparameters(reg_targets, clf_targets):
    ml_client_registry = get_client_registry()
    ml_client = get_client_workspace(..params...)
    pipeline_job_env = get_env_from_shared_registry(...params..)

    try:
        # Creating command component
        train_component = command(
            name="train",
            display_name="Bayesian HPO",
            description="Performs training and produces model",
            inputs={
                "reg_targets": Input(type='string'),
                "clf_targets": Input(type='string')
                ...other inputs here...
            },
            code=e.sources_directory,
            command="python -m train.main_portfolio",
            environment=pipeline_job_env,
            outputs=dict(
                auxilary_output_training = Output(type='uri_file')
            ),
        ).component(
            reg_targets=reg_targets,
            clf_targets=clf_targets,
            ml_datafile=ml_datafile,
            preprocessing_config_file=preprocessing_config_file,
            port_agg_col=port_agg_col,
            tgt_period_col=tgt_period_col,
            gpu_flag=gpu_flag,
            dataset_deploy_flag=dataset_deploy_flag
        ) # type: ignore

        search_space = {
            ...lot of parameters here...
        }
        sweep_step = train_component.sweep(
            primary_metric="mean_cv",
            ..settings here...
        )
        sweep_step.set_limits(...limits settings here...)

        #image creator component
        image_creator_component = command(
            name="image-creator",
            display_name="Image Creator",
            description="Image creator step",
            inputs={
                "port_agg_col": Input(type='string'),
                ..other inputs here...,
                "auxilary_link":Input(type='uri_file')
            },
            outputs=dict(
                auxilary_output_image_creator = Output(type='uri_file')
            ),
            code=e.image_creator_sources_directory,
            command="python -m image_creator.image_creator",
            environment=pipeline_job_env,
        ).component(
            port_agg_col=port_agg_col,
            tgt_period_col=tgt_period_col,
            auxilary_link=sweep_step.outputs.auxilary_output_training
        )#type:ignore

        #model selector component
        model_selector_component = command(
            name="sweden-backbook-model-selector",
            display_name="Model Selector",
            description="Model selector step",
            inputs={
                "model_name": Input(type='string'),
                ...other inputs here...,
                "auxilary_link":Input(type='uri_file')
            },
            code=e.best_model_sources_directory,
            command="python -m best_model_selector.register_best_model",
            environment=pipeline_job_env,
        ).component(
            model_name=model_name, #'sweden_backbook_model_day' + snapshot doesnt work, why?
            ..other values for inputs...,
            auxilary_link=image_creator_component.outputs.auxilary_output_image_creator
        )#type:ignore
        return
    except Exception as excp:
        logging.error('Unable to create command component.')
        raise excp

The train script has arparrse argument like this to output a file:
parser.add_argument('--auxilary_output_training', type=str,
                        help="Auxiliar output for following steps in aml pipeline")
joblib.dump(final_fit_zir, args.auxilary_output_training)

and the image creator step has arguments like this to handle incoming output as input: (auxilary_output_image_creator is for the output from image creator to next step model selection)
parser.add_argument('--auxilary_link',
                        type=str,
                        help="""Just a dummy input to connect steps in AML pipeline""")
parser.add_argument('--auxilary_output_image_creator',
                        type=str,
                        help="""Auxiliar output for following steps in aml pipeline""")

The Sweep Job produces the output correctly:

and the input of image creator is also there.

The data asset id of outputs in sweepJob parent as well as child runs and id of input in image creator steps are same.
Expected behavior
The expected behavior is that the steps should be connected using these input and outputs. But we get StreamError:

Additional context
There is no support in SDK V2 to order pipeline steps unlike in SDK V1 where we had SequenceSteps. Anyway, linking of these inputs and outputs should work.

Thanks for the feedback.
@azureml-github - would any of you be able to provide assistance?

Hi @obiii ,
Would you help to double confirm the type of auxilary_output_training from train_component  in your job in Azure machine learning?


Prediction with stateful deep LSTM

Hey guys, I'm trying to make the lstm_text_generation.py example stateful. I've added
batch_input_shape=(batch_size, sequence_length, len(chars)), stateful=True

To the two layers, and changed
model.fit(X, y, batch_size=128, nb_epoch=1)
to
for batch in range(X.shape[0] / batch_size):
        offset = batch * batch_size
        X_batch = X[offset:offset + batch_size, :, :]
        y_batch = y[offset:offset + batch_size, :]
        loss = model.train_on_batch(X_batch, y_batch)
        progbar.add(X_batch.shape[0], values=[('train loss', loss[0])])

But when it gets to the prediction and sampling part it crashes, complaining about a dimension mismatch:
ValueError: dimension mismatch in args to gemm (128,512)x(512,512)->(1,512)
Apply node that caused the error: GpuGemm{inplace}(GpuDot22.0, TensorConstant{0.20000000298}, <CudaNdarrayType(float32, matrix)>, <CudaNdarrayType(float32, matrix)>, TensorConstant{0.20000000298})
Toposort index: 10

Thanks! Any ideas?

I have the same problem with LSTM and GRU layers. I am trying to model a time series and use the function fit instead of train_on_batch. With larger batch sizes, the error message above appears already in the training phase but with smaller batch sizes, only the prediction fails. Using the function predict_on_batch instead of predict does not have an impact.
The first dimension of the output in the error message (in this case 128)
ValueError: dimension mismatch in args to gemm (8,21)x(21,21)->(128,21)

varies with respect to the batch size. No dimension in my model matches to 128 so I don't have an idea where it is coming from.
Btw, sometimes Keras documentation refers to an argument batch_input_size although only batch_input_shape is recognized.

If anyone is still has this problem, the solution is that the number of examples has to be divisible by the max number of time steps your LSTM network can look back.
For example, the stateful_lstm.py example, which already has 50000 % 25 = 0, adding the following lines would make it work regardless of the value of xn:
maxdata = len(cos) // batch_size * batch_size
cos = cos[:maxdata]
expected_output = expected_output[:maxdata]
For more great info regarding using stateful LSTMs in Keras, see this thread (special thanks to hft7h1)  Github Keras Issue 98

I also had the same problem earlier when I was fiddling with stateful LSTMs, but I figured it out. When predicting from stateful LSTMs, the number of samples has to be the batch size specified for training:
model.input_shape is (batch_size, sequence_length, len(chars))
So even if you only want to predict on one sample, you need to add batch_size - 1 more dummy samples to the input passed to the model so that it has the right shape. In the case of the lstm_text_generation.py example, you wanna replace lines 89 to 91 with this code:
x = np.zeros((batch_size, maxlen, len(chars)))
for t, char in enumerate(sentence):
      x[0, t, char_indices[char]] = 1.

hft7h11 explains a bit more in this comment of the thread. Hope this helps!

Can anyone verify that the stateful flag actually works? I am feeling like it doesn't actually do anything. All these example show how to get it to compile which has helped me but if I try to test it by setting the timesteps to 1 or by using hft7h11's prediction example which only uses one step at a time. Then nothing converges or makes sense.
The example stateful_lstm in the repository is not a valid example. If you change the stateful flags to False in both layers it still converges and predicts fine.
Is anyone using this class for a real example requiring state I would appreciated hearing about it. I can't figure if I should keep beating my head at this or look outside for a stateful wrapper like in the seya repository. What do people generally use when they need\want statefulness?

@9aradox I'm working on a more complex example where, I hope, stateful = true would make more sense. The cos seems to be too easy.

I think I've got the stateful mode working. Instead of taking N timesteps and generating 1 output, I'm taking N timesteps and generating N timesteps via the encoder/decoder technique. Pass the input through a stateful RNN and return the last value, then run that through a Dense layer and repeat it N times. Then run that sequence through another LSTM, and time-distribute the samples across the output. Smaller values of N seem to train much faster (mine is at 4). This example is for a regression problem:
model = Sequential()
model.add(GaussianNoise(0.01, batch_input_shape=(nbatch, seqlen, framelen)))
model.add(LSTM(nunits, return_sequences=False, stateful=True))
model.add(Dense(nencoder, activation='relu'))
model.add(RepeatVector(seqlen))
model.add(LSTM(nunits, return_sequences=True, stateful=True))
model.add(TimeDistributedDense(framelen, activation='sigmoid'))

The trick is to structure your data so that the "lanes" in the minibatch are consecutive sequences by splitting the dataset into B regions (B = batch size). Varying the regions per-iteration should improve regularization since it's a form of shuffling.
I've posted my attempt at a stateful version of the Nietzsche text generator here: https://gist.github.com/sehugg/3fdd80a08808bd275142d46863e92d68

Are you sure this example works. It is strange it seems to get a very low loss. But the generation is gibberish. Can you post an example of successfully generation text. I am pretty sure the loss is wrong but not sure why.
It seems to me whenever timesteps is low the output looks like character frequency predictions but there is no statefulness apparent.
I am not sure about the encoder decoder approach to character generation I have not thought about ti that way. I have some example code for encoders and for text generation but now that I got latest, everything I have doesn't work for some reason or another. Be a while before I can work through all the keras api changes.

I'm having a hard time with it too. The stateful RNNs don't seem stable and the prediction goes awry very quickly. I imagine with generation applications where you don't reset the state for many iterations the state can diverge from what the network is trained to stabilize. At least that's my guess; I need to figure out how to dump the states and see what is really going on. But glancing at some papers, it seems RNN stability is not a simple problem to solve.
There might be another approach besides encoder/decoder, too. The problem is that Keras expects N samples and so you need N outputs for the next iteration. (I actually tried another approach where N = batch size and batch[i] = samples[t+i:t+i+n], but that didn't work either)

@sehugg Did you have any luck with this?

@pikeas Nope, though I'm trying an artificial test case to see if I can tweeze out the problem.

Here's a test case that performs better in the stateful mode than non-stateful: https://gist.github.com/sehugg/18e69f412b10a9c67fd6a011a66133d3

Another example is there : http://philipperemy.github.io/keras-stateful-lstm/

the stateful rnn requires batch_shape specification with a given batch size. therefore your number of samples must be divisible by the batch_size so that all batches are of batch size. i think this issue can be closed

@jeffiar you are saying it saves the states for each sample in the batch which is why you can only predict on a batch of equivalent size. Given that information, if i save the model and then i load it, will this still be the case?


Incorrect transparency due to unstable index

NeuQuant generates colormap with the same RGB values for different indexes. That's ok, but after that, inxsearch in NeuQuant ( which is called by findClosestRGB ) might then return different indexes for different calls with the same RGB value.
This means that some pixels with the same color might be mapped to different indexes, which leads to incorrect result of transparency.
here is an example of gif generated with this kind of issue ( wait for the frame of blinking pink )

A quick workaround is to skip  this if-block at GIFEncoder.js, L382
but I'm not sure if there will be any side effect by doing this.

Hmm, not sure what's going on there. Setting globalPalette to true might be a workaround

I actually have tried globalPalette before that, but it didn't help. Instead the workaround of removing line 382 works well, so I'm using this approach now.

I'm not sure if I have similar issue or something a bit different. When I set transparent colour (i.e. transparent: "0x0f0000"), canvas image with at least little bit transparency is fine (I've converted transparent pixels to match 0x0f0000 colour first) but when there's no transparent pixels things go crazy and it seems to pick random colour as transparent. If has only one colour the whole image will be transparent even though that doesn't match with the previously set transparent colour.
So, for that reason I have to use weird workaround like this:
     let gif = new GIF({
        repeat: -1,
        workers: 2,
        quality: 1,
        width: tempcanvas.width,
        height: tempcanvas.height,
        workerScript: "libs/gif.worker.js"
      });

    if (hasTransparency == true) {
        gif = new GIF({
        repeat: -1,
        workers: 2,
        quality: 1,
        width: tempcanvas.width,
        height: tempcanvas.height,
        workerScript: "libs/gif.worker.js",
        transparent: palette[currentpalette].transparentColour.hex
      });

  }

I'm only adding single frame so I'm not sure what would happen with multiple frames.

if transparent is not null,  analyzePixels always finds an index of color that is closest to transparent color no matter how far it is to the value we specified. Say, if you have only one color - 0xff0000 - in your frame, then even if you set transparent to 0x0000ff, 0xff0000 will still be the closest color to 0x0000ff...
I think maybe we can add a threshold/max disatance when matching closest color to alleviate this kind of situation

I am experiencing this issue as well, with only one frame rendering incorrectly without any transparency. If I input a slight offset of ctx.drawImage(img, -1, -1, 128, 128); instead of ctx.drawImage(img, 0, 0, 128, 128); for only the first and last frames, it works fine.


chore(main): release eslint-config-fuf 0.5.1

:robot: I have created a release beep boop
0.5.1 (2024-04-05)
Bug Fixes

eslint-config-fuf: rename package to eslint-config-fuf (ce85fbd)
eslint-config-fuf: rename package to eslint-config-fuf (3576746)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/fuf-stack/ts-project-setup/releases/tag/eslint-config-fuf-v0.5.1 :sunflower:


Sort & Filter List of Successful Submissions

Problem Statement
As a Sender who has submission results, I would like to be able to find past submissions or filter my submissions so that I can narrow down the submissions I would like to look at and/or print.
Assumptions
API support for sorting is already available
Design
See most recent comment below.
Updated design link: https://www.figma.com/proto/VrSkTA87t8PPeXPugQ0i8O/ReportStream?page-id=2513%3A22007&node-id=2515%3A24581&viewport=292%2C48%2C0.5&scaling=scale-down-width&starting-point-node-id=2515%3A24581
Acceptance Criteria

Given I

Am logged into ReportStream with Sender permissions

When I

Log into ReportStream
Choose to view my Submission History
See the list of my successfully submitted files

Then I

Can sort the submissions that are displayed by the Date/time submitted (ascending or descending)
Can filter the list by Date Range (i.e start date and end date) and only those submissions that match the filter criteria will display
Can change any filter or sort order and the list re-populates based on the selected filters
Can clear the filters and submission list is refreshed to reflect this

TO DO

Dev: start with date picker while waiting for final design

@inkandsound @drew-usds Can you remind me what we decided about paging? How many records are going to be displayed at a time?

@inkandsound @drew-usds Please update the design link when it is avaialble

Design: https://www.figma.com/proto/VrSkTA87t8PPeXPugQ0i8O/ReportStream?page-id=2513%3A22007&node-id=2515%3A24512&viewport=292%2C48%2C0.5&scaling=scale-down-width&starting-point-node-id=2515%3A24581

@kevinhaube Updates to the prototype after our chat last week. Wanted to try and simplify some things to just use USWDS components, as well as take out some future-state things we haven't gotten to yet.
I sent out a kinda last minute meeting invite for today and was going to walk through some of it, but maybe you have a conflict. Let me know if you've got questions!

Submission history index
Notes

Use USWDS date picker to create start + end range
Use USWDS dropdown to select records per page. Use 25, 50, 100 as options. Default to 25 (this is a bit different than before, but 10 seemed like a really low number of results to show).
"Clear filters" can just be a standard link for now
Use USWDS pagination links, not the current buttons. Since we can't use the 1, 2 ... 9, 10, we can just pull out the prev / next links from it

Dev questions

What is the best option for default dates? Do we start with them blank/show mm/dd/yyyy as the value? Or use current/all-time range?

Adding a record of UX research for this ticket: "I really can’t remember if I submitted results for yesterday the 23rd, can you let me know, I have the file prepared but I can’t prove to myself if I uploaded it or not……(distractions)." 2/24/22 Lemoore, CSV upload pilot. heard something similar to a1h.

Updated this to a 13sp ticket (from 8sp) due to refactor of the pagination logic. I needed to keep a running history of cursors, set up functions to store new cursors in a Map with a numeric index indicating page number, and have your current cursor be assigned as the startRange filter, which in turn updates the API call and renders new data. This took an additional day and a half on top of the original projection.

Sorting was notably moved out of this work as the desired interface for it has to be reimagined in light of the USWDS sortable table head not displaying as intended. #4787


Unable to unset a 'form' prop on a button with null value.

Version
3.0.4
Reproduction link
https://jsfiddle.net/Linusborg/2fwLmu5b/
Steps to reproduce

Run the fiddle above.
check the console
See an error:

What is expected?
'form' attribute is being unset successfully.
What is actually happening?
Console Warning:

Failed setting prop "form" on : value null is invalid. TypeError: Cannot set property form of # which has only a getter

#1788 attempted to solve a similar problem, making Vue patch this with setAttribute instead of setting it as a DOMprop - but the added value check makes Vue fall back to a DOMprop assignment for non-string values.
Note also that setting it as an empty string is not a proper solution as this breaks the button's form property's inheritance of the form's ID it might be nested within.
So we need to use setAttribute() regardless of the type of value.

Do you mean we should remove the check of typeof of string? https://github.com/vuejs/vue-next/pull/1788/files#r465890830

Yep. That would mean Vue will always set it as an attribute, and setting the attribute value as null or undefined will successfully remove it, from my preliminary tests.
We could in turn add a check for the element's type, as that attribute only exists on form elements.

The warning is because the form attr is readonly https://html.spec.whatwg.org/multipage/form-elements.html#the-button-element , i think this warning message should show to users .
Same as #2766 .

The warning should not show, it should not happen in the first place as we should set the value via setAttribute('form', ...) (which is not readonly*)

I see your point, can use setAttribute('form', ...) set attributes and attributes.form can control form attribute, sorry for it.


Remove support for Lisk Service API v1 - Closes #721

What was the problem?
This PR resolves #721
How was it solved?

[x] Remove SDKv2/v3/v4 from core service
[x] Remove api/v1 from gateway
[x] Update configs
[x] Update documentation
[x] Remove tests for v1
[x] Add docs for export service

How was it tested?
Local against mainnet and devnet

Added minor core patches from @sameersubudhi


[no issue] reduce memory usage

remove Autoboxing & Unboxing

Current coverage is 40.11% (diff: 100%)

Merging #2512 into master will decrease coverage by <.01%

@@             master      #2512   diff @@
==========================================
  Files          1675       1675
  Lines         58692      58692
  Methods       11392      11392
  Messages          0          0
  Branches       8161       8161
==========================================
- Hits          23545      23544     -1
- Misses        35147      35148     +1
  Partials          0          0

Powered by Codecov. Last update b65d846...724bb82


tracking cumulativesky -- no overall demo results file saved and no non-hidden direct function to do it

right now, analysis1axis generates the ~19 files for each tracker angle on cumulative sky tracking option, and the results are returned into demo which is how we can query the bifacial gain.
But this overall summed results are not saved ~
So:
Create / use one of the save functions at the end of running analysis1axis to save the "cumulative" results that are otherwise stored in demo. Set x, y and z to the coordinates where the tracker is at 0 tilt. Set title to be differentiated from the rest showing this is the overal result.
CLEAN results before doing this new file too???
Or does this function already exist and I'm missing it?

load.exportTrackerDict is an alternative to solve this but it's not the ideal , as it prints the array of values instead of adding them for each cell..... Also, reindex must be set to False (Issue #167)

okay. Still no overt method for user to save from a loaded trackerdict, but now when analysis1axis is performed it does save a cumulative file result with the previous commit to development.
@cdeline  It would be worth-it to consider if this file should be placed separately, or kept on the results folder and create a subfolder result for the "by angles " or "by hours"  irradiance results....

We can fix this by saving the results as a .txt file, and using glob to only search for .csv's with read functions

So, issue found:

Basically when we are doing singleindex, it prints a cumulative sky file every time. That means one of the procedures ew had to go through a trackerdict looping by keys will not work as shown above. (or will overvriwte that file every time). ugh.
@cdeline  Ideas? Maybe only do the cumulative results print if singleindex is None? that seems like a good idea.
(also, journal 3 shows a way of doing hourly tracing for only sections of the trackerdict, with restricting the epw file at the gendaylit1axis stage. This works pretty well here I think but if we are doing something earlier maybe we should tutorial one or the other?)

Let’s try to move this project off to a development branch. It seems to be more complicated than originally thought.
On Oct 10, 2019, at 4:53 PM, Silvana Ayala<EMAIL_ADDRESS>wrote:

So, issue found:
[image]https://user-images.githubusercontent.com/22824806/66612156-1d361100-eb7e-11e9-899f-10277ea125fa.png
Basically when we are doing singleindex, it prints a cumulative sky file every time. That means one of the procedures ew had to go through a trackerdict looping by keys will not work as shown above. (or will overvriwte that file every time). ugh.
@cdelinehttps://github.com/cdeline Ideas? Maybe only do the cumulative results print if singleindex is None? that seems like a good idea.
(also, journal 3 shows a way of doing hourly tracing for only sections of the trackerdict, with restricting the epw file at the gendaylit1axis stage. This works pretty well here I think but if we are doing something earlier maybe we should tutorial one or the other?)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/NREL/bifacial_radiance/issues/166?email_source=notifications&email_token=AFRK2ODGW4ZZ7ASS3NEXEHLQN6W55A5CNFSM4I7CRD7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEA6G26Y#issuecomment-540831099, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AFRK2OEQNU3AHLPADFLMXUTQN6W55ANCNFSM4I7CRD7A.

Let me provide a solution option -- give me a min.  Might not be ideal but better than nothing at the moment I think

Ok I made a couple updates --
Created a new TEMPORARY __saveResultsCumulative function. The only difference is that it doesnt have the path "results" added to the savefile name passed. Now that I think about it, I could have just done a flag for doing this... if I have time I'll save it.
For next release:
--- it would be useful/cleaner to have everythign in the procedure in __analysis1axis that does the saving of this cumulative as its own function, so the user can also decide to save the cumulative results afterwar finishing the analysis at any point. -- And/or recalculate the cumulative results fro the trackerdict in memory after cleaning everything... but this is not needed for this release.
This current  fix solves what I wanted to do.

Fixed in development.  Still need to clean up / review this new work, but it's there for now.