Prometheus fails to write WAL due to the cannot allocate memory error

What did you do?
Restarted Prometheus
What did you expect to see?
Prometheus to come up as usual
What did you see instead? Under which circumstances?
Prometheus crashed when compacting with cannot allocate memory and afterwards not ingesting any data because the write /prometheus/wal/000943: cannot allocate memory
After restart it's ok again.. I'm confused it has available resources, there is no OOM from Kubernetes.
Nothing indicates there is any problem with memory.
Worst thing is that Prometheus is still running and no alerts ale dispatched (just those using absent) because Prometheus has no data at all.
It happened already twice.
Unfortunately I'm not able to reproduce it.
Environment
Running in Kubernetes with data mounted as hostPath
Resources info from kubectl describe node:
Namespace                       Name                                       CPU Requests  CPU Limits  Memory Requests  Memory Limits
---------                       ----                                       ------------  ----------  ---------------  -------------
*****-monitoring-production     prometheus-collector-5474c5f965-7fmqx      1200m (5%)    3 (12%)     2148Mi (1%)      4596Mi (3%)

System information: official docker image

Prometheus version: 2.2.1

Logs:

level=info ts=2018-03-26T13:17:46.833820512Z caller=main.go:220 msg="Starting Prometheus" version="(version=2.2.1, branch=HEAD, revision=bc6058c81272a8d938c05e75607371284236aadc)"
level=info ts=2018-03-26T13:17:46.833897458Z caller=main.go:221 build_context="(go=go1.10, user=root@149e5b3f0829, date=20180314-14:15:45)"
level=info ts=2018-03-26T13:17:46.833932636Z caller=main.go:222 host_details="(Linux 4.14.13-infra #1 SMP Sat Jan 13 13:28:26 CET 2018 x86_64 prometheus-collector-5474c5f965-7fmqx (none))"
level=info ts=2018-03-26T13:17:46.833952256Z caller=main.go:223 fd_limits="(soft=1048576, hard=1048576)"
level=info ts=2018-03-26T13:17:46.837820241Z caller=main.go:504 msg="Starting TSDB ..."
level=info ts=2018-03-26T13:17:46.837902626Z caller=web.go:382 component=web msg="Start listening for connections" address=<IP_ADDRESS>:9090
level=info ts=2018-03-26T13:17:58.487508646Z caller=main.go:514 msg="TSDB started"
level=info ts=2018-03-26T13:17:58.487620424Z caller=main.go:588 msg="Loading configuration file" filename=/etc/prometheus/prometheus-collector.yaml
level=info ts=2018-03-26T13:17:58.50430633Z caller=main.go:491 msg="Server is ready to receive web requests."
level=info ts=2018-03-26T13:49:48.570742031Z caller=main.go:588 msg="Loading configuration file" filename=/etc/prometheus/prometheus-collector.yaml
level=info ts=2018-03-26T14:08:20.612340104Z caller=main.go:588 msg="Loading configuration file" filename=/etc/prometheus/prometheus-collector.yaml
level=info ts=2018-03-26T15:00:02.478680282Z caller=compact.go:393 component=tsdb msg="compact blocks" count=1 mint=1522065600000 maxt=1522072800000
level=info ts=2018-03-26T15:00:11.639097618Z caller=head.go:348 component=tsdb msg="head GC completed" duration=556.833838ms
level=info ts=2018-03-26T15:00:15.238052892Z caller=head.go:357 component=tsdb msg="WAL truncation completed" duration=3.598880962s
level=info ts=2018-03-26T15:00:15.640427335Z caller=compact.go:393 component=tsdb msg="compact blocks" count=3 mint=1522044000000 maxt=1522065600000
level=error ts=2018-03-26T15:00:21.266716379Z caller=db.go:281 component=tsdb msg="compaction failed" err="compact [/prometheus/01C9GRJ9J9JZ6SQZKJR3G3EW5K /prometheus/01C9GZE2K9J8BJ3GGV86W3ZNX7 /prometheus/01C9H69SWDA4M3FGE6YN85T0QS]: write compaction: add series: write series data: write /prometheus/01C9HD5XMRJHDC99KSDNEA2EYE.tmp/index: cannot allocate memory"
level=error ts=2018-03-26T15:00:27.290463545Z caller=wal.go:713 component=tsdb msg="sync failed" err="flush buffer: write /prometheus/wal/000943: cannot allocate memory"
level=warn ts=2018-03-26T15:00:28.464523232Z caller=manager.go:398 component="rule manager" group=meta-monitoring msg="rule sample appending failed" err="WAL log samples: log series: write /prometheus/wal/000943: cannot allocate memory"
level=warn ts=2018-03-26T15:00:33.505556838Z caller=manager.go:398 component="rule manager" group=sspweb msg="rule sample appending failed" err="WAL log samples: log series: write /prometheus/wal/000943: cannot allocate memory"
level=warn ts=2018-03-26T15:00:33.506484408Z caller=manager.go:398 component="rule manager" group=sspweb msg="rule sample appending failed" err="WAL log samples: log series: write /prometheus/wal/000943: cannot allocate memory"
level=warn ts=2018-03-26T15:00:33.626388222Z caller=manager.go:398 component="rule manager" group=kube-backup-diff msg="rule sample appending failed" err="WAL log samples: log series: write /prometheus/wal/000943: cannot allocate memory"
level=warn ts=2018-03-26T15:00:33.62729855Z caller=manager.go:398 component="rule manager" group=kube-backup-diff msg="rule sample appending failed" err="WAL log samples: log series: write /prometheus/wal/000943: cannot allocate memory"
level=warn ts=2018-03-26T15:00:36.496418035Z caller=manager.go:398 component="rule manager" group=kube-deployment-ready msg="rule sample appending failed" err="WAL log samples: log series: write /prometheus/wal/000943: cannot allocate memory"
level=error ts=2018-03-26T15:00:36.845430206Z caller=wal.go:713 component=tsdb msg="sync failed" err="flush buffer: write /prometheus/wal/000943: cannot allocate memory"
level=warn ts=2018-03-26T15:00:37.523571052Z caller=scrape.go:697 component="scrape manager" scrape_pool=prometheus-ng-harvester-scif target="http://tt-k8s1-w3.ng.seznam.cz:32532/federate?match%5B%5D=%7Bjob%3D~%22%28.%2B%29%22%7D" msg="append failed" err="WAL log samples: log series: write /prometheus/wal/000943: cannot allocate memory"
level=warn ts=2018-03-26T15:00:38.465933212Z caller=manager.go:398 component="rule manager" group=kube2world msg="rule sample appending failed" err="WAL log samples: log series: write /prometheus/wal/000943: cannot allocate memory"
level=warn ts=2018-03-26T15:00:42.418888605Z caller=scrape.go:697 component="scrape manager" scrape_pool=prometheus-ko-harvester-scif target="http://tt-k8s1-w3.ko.seznam.cz:32532/federate?match%5B%5D=%7Bjob%3D~%22%28.%2B%29%22%7D" msg="append failed" err="WAL log samples: log series: write /prometheus/wal/000943: cannot allocate memory"
level=warn ts=2018-03-26T15:00:42.777911277Z caller=manager.go:398 component="rule manager" group=barrels-alerts msg="rule sample appending failed" err="WAL log samples: log series: write /prometheus/wal/000943: cannot allocate memory"

Maybe it's not Prometheus fault bud if so, could you suggest where to look?
I'm out of ideas what could have caused this.

meet the same error. Could we set prometheus param to tuning the memory?

There are no memory params in Prometheus 2.0 so no tuning..
It happened again two times. I tried flushing all data but with no result. It happened without restart of Prometheus again.
There is no OOM from Kubernetes so there is no problem with memory.

Your machine is tight on memory, reduce usage or add more.

There is 10G of free memory on the machine and average usage of the Prometheus instance is 2G of memory. It has 400k time series. This is really not sufficient?
In documentation there is no section about how to determine required memory for the server anymore.  It's been running on this machine for months and there were no problems with memory but this started since the 2.2.1 upgrade.

Prometheus uses a lot of virtual memory, it's possible something is up with your kernel that it isn't liking that.

Thank's for the response.. unfortunately I still cannot find the "something".
I have two instances (both suffering from this issue) running in different DC which are identical so I deployed 2.1.0 to one of them and observed it and the 2.2.1 failed again and on the 2.1.0 the issue did not occur, although the CPU, memory and reloaded blocks resources usage is higher due to issues in the 2.1.0.
Were there any changes that could cause some burst in memory usage on compaction? I'm confused by the fact it started after the 2.2.1 upgrade

I see no changes that make a difference on Linux. This looks like your kernel refusing to allocate virtual memory, check your overcommitment settings.

So I think we can close this up.  Sorry for bothering you with this.
After correcting resources all seems to be fine again. Thanks!


'odo create' should properly validate devfiles

/kind bug
/area devfile
It seems when a user runs odo create, it doesn't actually validate the content of a devfile:
Johns-MacBook-Pro-3:test johncollier$ touch test.txt
Johns-MacBook-Pro-3:test johncollier$ odo create --devfile test.txt
Experimental mode is enabled, use at your own risk
Validation
 ✓  Creating a devfile component from devfile path: /Users/johncollier/ododev/v2/composite/test/test.txt [71294ns]
 ✓  Validating devfile component [153012ns]
Please use `odo push` command to create the component with source deployed

Validation instead occurs during odo push:
Johns-MacBook-Pro-3:test johncollier$ odo push
 ✗  apiVersion or schemaVersion not present in devfile

odo create should be validating the devfiles as part of the Validating devfile component step.

I can do this
/assign

Blocked til https://github.com/openshift/odo/pull/3912 is merged


NT Evac Raven

About the PR

Adds the NT Evac Raven to Detroit Barratry! All that money that got embezzled rerouted to evac shuttle development was put to good use. Let me know if there are any changes I need to make.
Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog

:cl:

add: A new evac shuttle called the NT Evac Raven has been added to Barratry!

that looks sick, good job

Can we just live on that instead of Barratry?


Query support

Thanks for the project! I am wondering if this java binding supports tree query like https://github.com/tree-sitter/py-tree-sitter too?Since I want to filter all identifiers with the query s-expression.

Thanks for reaching out! This project doesn't yet support S-expressions, but would certainly be open to a PR that adds support. We don't have a timeline on our end yet for when we'd be able to support it, though.

Thanks for reaching out! This project doesn't yet support S-expressions, but would certainly be open to a PR that adds support. We don't have a timeline on our end yet for when we'd be able to support it, though.

Thanks!


Making version work in envs where get_distribution does not.

See http://stackoverflow.com/a/28095663/1068170 for context.
@tseaver I haven't thought deeply about this solution and I'd wager you've got some experience here.

Maybe there is a more preferred alternative?
Should we hardcode the __version__ instead of using None? (It will result in gcloud-python/None as the user-agent.)

Coverage remained the same at 100.0% when pulling 269728ac3d3a3810cd7eba5ec737df6735879ae3 on dhermes:version-for-gae into 1bfa469f8a18c92f7b3e5a351eb955b48afdd1f1 on GoogleCloudPlatform:master.

I don't think making import pkg_resources conditional will fix the error:
  File "/Users/sheridangray/Projects/adt-bundle-mac-x86_64-20140702/sdk/google-cloud-sdk/platform/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/setuptools-0.6c11/pkg_resources.py", line 565, in resolve
    raise DistributionNotFound(req)  # XXX put more info here
DistributionNotFound: gcloud

pkg_resources is present, but it cannot find the installation metadata for gcloud.

Good catch! I didn't realize pkg_resources shipped with App Engine. I double checked and it also imports in production GAE:
<module 'pkg_resources' from '/base/data/home/runtimes/python27/python27_lib/versions/third_party/setuptools-0.6c11/pkg_resources.pyc'>

I now wonder why my hack works.
I fixed and pushed again (erased history).

Coverage remained the same at 100.0% when pulling 6ac6a8126fac3a5dd4d66787b3b8e5638a5e2030 on dhermes:version-for-gae into 927c534bcd261d2830f23f631cc7391a6460a4f1 on GoogleCloudPlatform:master.

Coverage remained the same at 100.0% when pulling a126550aff909bcc120902d141a8f4b2da586dac on dhermes:version-for-gae into 927c534bcd261d2830f23f631cc7391a6460a4f1 on GoogleCloudPlatform:master.

@tseaver Any remaining issues?

No issues.  I don't know if having 'None' in the agent string will be useful to the folks who consume it (the back-end logs, I would guess), but can't think of a better default.

We could hardcode it there and have a Travis script check that it matches the one in setup.py. I suppose by that logic we could just remove the try...except altogether.
WDYT?

Maybe we should be adding more stuff to the agent string:  for example, if we can tell via the environment that we are on GAE / GCE, maybe that should be there too?  Then the 'None' wouldn't be as puzzling:  somebody who saw it would be able to find this issue.

The P0 is having gcloud-python in the user-agent; the version can be helpful once we have many existing versions to understand the size of each segment of usage, but it's fine if we have a None value or the proposed GCE/GAE.

Well here this None corresponds to GAE (or at least as the motivation). I want to resolve the issue at hand first (code won't run when manually copied from a virtualenv for GAE) and then we can muck around with the user agent?
I'm a fan of adding something like this to setup.py
with open(os.path.join(here, 'gcloud', '__init__.py')) as file_obj:
    PACKAGE_INIT = file_obj.read()

if PACKAGE_INIT.count('__version__') != 1:
    raise EnvironmentError('Expected exactly one version.')

VERSION = '0.3.0'
VERSION_LINE = '\n__version__ = %r\n' % (VERSION,)
LOC = PACKAGE_INIT.find('__version__')
if VERSION_LINE != PACKAGE_INIT[LOC - 1:LOC + len(VERSION_LINE)]:
    raise EnvironmentError('Version defined in package disagrees '
                           'with %r.' % (VERSION,))

It seems like something we would put on the Connection class, since our connections (e.g. from oauth2client.GoogleCredentials.get_default_credentials) know what environ they belong in.

That seems like a large amount of complexity in setup.py to deal with a pretty edgy case (why is the appengine tooling not copying the egg-info from the virtualenv, anyway?).  Or is it a PEBKAC?

App Engine doesn't support Python packaging in the traditional sense, so what people typically do is copy-paste.
It may be a PEBKAC (fingers crossed) but I have never encountered people copying egg-info in the wild. Let me muck around a bit with my sample and I'll report back.

@tseaver It was PEBKAC indeed :) I didn't know enough about what lives inside the egg; learning more every day!
It turns out my old pal @jonparrott has solved this problem with Darth Vendor.
I filed #566 to incorporate the suggestion and am closing this out.
I've updated the project and will hopefully update the StackOverflow answer to reflect the "ease" of using Darth Vendor.

@dhermes give a shout if anything needs to be added to Darth to help out this use case. Happy to help.

@jonparrott Will do. I just ignorantly ignored it on my first pass; it works quite well for third party deps.

@jonparrott @dhermes I am trying to get Google Cloud BigQuery working on AWS Glue so that I could write from an AWS Glue sandbox to a GC BigQuery dataset. Since AWS Glue doesn't seem to support doing anything on the CLI, and you need to install packages as .zip files on S3 (see here).
I have managed to get it to work with most packages although it has been quite a struggle. However, with Google Cloud Python libs, the problem is that it seems to be using Implicit Namespace Packages and since AWS Glue is Python 2.7 and does not support the regular route of doing pip install, the result is that importing breaks.
I've worked around this with adding empty init.py files in the folders google and google/cloud, but since the google/cloud/bigquery folder already has an init.py file and uses pkg_resources.get_distribution(), I get the error of
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'google-api-core' distribution was not found and is required by the application

Darth Vendor seems to be GAE specific, so is there anything I could do to make Google Cloud for BigQuery work?
Here's Eran Kampf's tutorial on the subject: https://developerzen.com/best-practices-writing-production-grade-pyspark-jobs-cb688ac4d20f

We're not using implicit namespace packages, we're using pkg_resources style packages (see here). When pip installs these, it does environment detection and most of the time will install the packages without their __init__.pys and create -nspkg.pth file in site-packages. The interpreter picks these up via sitecustomize. Darth Vendor makes these work because it uses addsitedir just like sitecustomize.
For getting pkg_resources to also work you need to do one more step (and we could even add this to darth vendor, there's no reason not to): tell pkg_resources about the installed packages. Use pkg_resources.working_set.add_entry('lib').

@jonparrott thanks for your response.
This shell script (came up with it after this discussion here: https://twitter.com/ekampf/status/973623247785795584) is what finally got it to work for me on AWS Glue on Python 2.7:
pip install -U -r requirements.txt --install-option --install-lib="/absolute/path/to/deps/"
echo "" > ./deps/google/__init__.py
echo "" > ./deps/google/cloud/__init__.py
sed -i .bak "s/get_distribution('google-cloud-bigquery').version/'0.31.0'/g" ./deps/google/cloud/bigquery/__init__.py
sed -i .bak "s/get_distribution('google-cloud-core').version/'0.26.0'/g" ./deps/google/cloud/_http.py
sed -i .bak "s/pkg_resources.get_distribution('grpcio').version/'1.10.0'/g" ./deps/google/api_core/gapic_v1/client_info.py
sed -i .bak "s/pkg_resources.get_distribution('google-api-core').version/'1.1.0'/g" ./deps/google/api_core/gapic_v1/client_info.py
sed -i .bak "s/get_distribution('google-api-core').version/'1.1.0'/g" ./deps/google/api_core/__init__.py

Oof, I would not recommend that. Again, the right solution is to use pkg_resources.working_set.add_entity or ping the PySpark folks to properly support package installation.


Improve configurability of action items

[x] color
[x] font
[x] text color

isHidden is (again) a separate issue (#36 )


Karyu Densetsu charsheet

I think I did everything correctly, but I'm not sure about this process.

Problems:

You have somehow mixed up our streetfighter update with your karyu update. You must separate them into different updates to get them approved, seldom are dubious updates made to several sheets at the time
your karyu addition is incomplete, it needs a preview image too, with same name as mentioned in .json file
You should also describe the sheet in the description field in the sheet.json file. Right now it's the default from when you copied the kitchensink project

I can't seem to separate the old SF stuff from this, so I guess I'll just start another branch. Thanks!

Hi @trueshinken, I can merge in the new sheet if you have a Pull Request that only includes the new sheet and fixes the issues Anduh mentioned above (a description and preview image).  I'll close this PR.
Thanks,
Jeff


route description for ferry includes mangled name

http://localhost:5000/viaroute&start=55.679121891042,12.594452988286&dest=55.68155662141,12.599254142426&z=17&output=json&jsonp=showResultsRoute&geomformat=cmp&instructions=true
Head on for 2 m
2.	Continue on 901;902;903 for 416 m        <------- notice the way name
3.	Continue on for 5 m
4.	You have reached your destination

This is caused by the ref tag of the ferry. Ref's have precedence over names. See also here:
http://www.openstreetmap.org/browse/way/57780914

ok i see. i now realize that 902;903;904 is in fact bus route numbers.
why does ref take precedence over name?

For example a road that goes through two cities has different names in each city and no name in between but always the same  4


Tooltip

https://github.com/jpmorganchase/salt-ds/issues/324#tasklist-block-a7ceeea8-6d74-4940-9f1c-98226ae63147

1/18 -
Nav working on design specs; send link by eod today for review - design and ada

Re-opening until we merge the release to main


Validation tests Linux CI

Validationt tests on Linux (JSC + OpenGL) with results artifact publishing.

Something might be wrong with the merge? The changes don't look right.

@bghgary Better with a rebase


hope suport deno-cli

What problem does this feature solve?
use typescript ecosystem to build app
front: vue-next above tauri,suport all platform
backend: deno
What does the proposed API look like?
no

This is out of scope for now. The Deno ecosystem still lacks some of the most commonly used tools needed for frontend development. It doesn't seem to be worth the effort at this stage.


rkfb 4.0 needs to be reinstalled

rkfb 4 sometimes breaks and needs to be completely reinstalled. I'm not sure of the cause but it could be something to look into.

Nice try, but the issue itself is not very informative. Its very broad. Instead, try to troubleshoot, and post the exact details, e.g. Any errors? Size of Database? Settings? Environment? Python version? etc. You should either close this issue and make a new one, or edit it.

yep. dont got time for that right now as of school.
hiiiiii elite! hope u doing well

best solution is to fresh clone and copy the .env file over to the fresh folder.


Also redo TupleData as a lightweight discriminated union
Note: We now expose ReadOnlyMemory instead of T[], both for immutability and recycling (slice over a larger backing array). I had the unpleasant surprise that Memory and ROM don't have simple indexers, so to get an element you need to get a Span from them :/ Not sure why it's like that. ArraySegment is also a struct-based array slice, but does not provide immutability. We can consider if there's a better option.
Note: this leaves out physical and test_decoding messages for since it's late :sle

Thanks. Will hold off merging this until #5 is merged.

Merged via a3e965acc9844a5588397a1afdbcd4fc133ecaa5


Update contributor info on GitHub Wiki

Review/update GitHub wiki so that information about the group and contributors is up to date

I updated the home page on the wiki and drastically shortened the ReadMe page, instead pointing to the wiki. I also added a new page to the wiki called "Past Events" so that we can start putting summaries of our sprints there.
I wasn't sure if I should add our V2M to the home page. Thoughts?

Wiki link: https://github.com/SFDO-Community-Sprints/sprintys-community-resources/wiki
Asking team to provide feedback by next meeting and then will modify or close.

Jodi will review content and make suggestions for future overall updates, like adding V2MOM info


Use RecommendedOptions from apiserver, use ApplyTo and extra admission initializers

For context: https://github.com/kubernetes-incubator/service-catalog/pull/1811
We need to

Rebase to 1.10
Use RecommendedOptions
Call ApplyTo() on RecommendedOptions and reconcile the code building GenericConfig with kubernetes apiserver / sample-apiserver
Use custom initializer code (https://github.com/kubernetes/kubernetes/blob/a6c43c6a5ca7cc4449684d5e68d73773be91cd41/staging/src/k8s.io/sample-apiserver/pkg/cmd/server/start.go#L105) to init admission controllers

Kubernetes 1.10.0 has just been released, so we are unblocked for working on this issue .


Review the template for new proposals

Based on FT hangout on 12 April 2017

closing as out of date


Feat fz partial ratio

Added fuzzy wuzzy partial ratio similarity measure with test cases and updated comments.

Duplicate pull request. Closing it.


Readme not uptaded for 2.4.0

Hello, still on the swift 2 branch.
Trying to compile the project after and update and it seems that isExists isn't there anymore and has been replace by exists.
Could you guys update the readme for other users please?

Nice catch.

Addressed in https://github.com/SwiftyJSON/SwiftyJSON/commit/54017d514a87b2b855b407131292c510cdeb65f8


Fixed #30148 -- Add postgresql logging to copy_expert() copy_to() cursor functions while in DEBUG

I ran into an issue where I was running postgres commands copy_expert() / copy_to() and my queries weren't showing up on my connection.queries while DEBUG=True. I figured no one has needed this before, but I need it for my tests to pass.
https://code.djangoproject.com/ticket/30148#ticket

Seems okay, however, I'd like to see if the logic in the existing CursorDebugWrapper could be refactored into a contextmanager or something so that the boilerplate doesn't need to be repeated in every method.

@timgraham I thought of the same thing... i was trying to keep the changes to a minimum. I can work on that.

@timgraham I'm not sold on the debug name. Advice if you want to go with a different approach. I thought about going with a contextmanager, but i didnt make a whole lot of sense to me. PS. the tests didnt run for my last commit... thats weird.

Looks pretty clean with the decorator to my eyes.

Looks pretty clean with the decorator to my eyes – can you address the failing tests, @kingbuzzman?

@rixx Believe me it's in my todo list, havent had a chance to readdress this, i'll be in a plane tomorrow for 6+ hours, hopefully i will do it then.

@timgraham i think this is not my error. can you verify? @rixx i had some time :D -- dumb bug took me a good hour to find

@kingbuzzman Thanks for this patch :+1:  Can you squash all commits and split changes into two, first with refactoring (Refs #30148 -- ...) and second with fix (Fixed #30148 -- ...)?
What do you think about using contextmanager and moving debug_sql() to the CursorDebugWrapper? it looks much simpler IMO, also you've changed sql format in executemany() what is not expected. Please find below proposed diff:
diff --git a/django/db/backends/postgresql/utils.py b/django/db/backends/postgresql/utils.py
index 3adfb775ad..e78622ee65 100644
--- a/django/db/backends/postgresql/utils.py
+++ b/django/db/backends/postgresql/utils.py
@@ -1,6 +1,4 @@
-from django.db.backends.utils import (
-    CursorDebugWrapper as BaseCursorDebugWrapper, debug_sql,
-)
+from django.db.backends.utils import CursorDebugWrapper as BaseCursorDebugWrapper
 from django.utils.timezone import utc

@@ -12,10 +10,10 @@ def utc_tzinfo_factory(offset):

 class CursorDebugWrapper(BaseCursorDebugWrapper):

-    @debug_sql()
     def copy_expert(self, sql, file, *args):
-        return self.cursor.copy_expert(sql, file, *args)
+        with self.debug_sql(sql):
+            return self.cursor.copy_expert(sql, file, *args)

-    @debug_sql(sql='COPY {table} TO STDOUT')
     def copy_to(self, file, table, *args, **kwargs):
-        return self.cursor.copy_to(file, table, *args, **kwargs)
+        with self.debug_sql(sql='COPY %s TO STDOUT' % table):
+            return self.cursor.copy_to(file, table, *args, **kwargs)
diff --git a/django/db/backends/utils.py b/django/db/backends/utils.py
index 3ff6b907c8..3063c2b47a 100644
--- a/django/db/backends/utils.py
+++ b/django/db/backends/utils.py
@@ -2,9 +2,8 @@ import datetime
 import decimal
 import functools
 import hashlib
-import inspect
 import logging
-from functools import wraps
+from contextlib import contextmanager
 from time import time

 from django.conf import settings
@@ -91,48 +90,41 @@ class CursorWrapper:
             return self.cursor.executemany(sql, param_list)

-def debug_sql(sql='{sql}', params_name=None, use_last_executed_query=False):
-    _sql = sql
-    _params_name = params_name
-    _use_last_executed_query = use_last_executed_query
-
-    def wrapper(fn):
-        @wraps(fn)
-        def wrapped(self, *args, **kwargs):
-            start = time()
-            arguments = inspect.signature(fn).bind(self, *args, **kwargs).arguments
-            try:
-                return fn(**arguments)
-            finally:
-                params = arguments.get(_params_name)
-                sql = _sql.format(**arguments)
-                if _use_last_executed_query:
-                    sql = self.db.ops.last_executed_query(self.cursor, sql, params)
-                stop = time()
-                duration = stop - start
-                self.db.queries_log.append({
-                    'sql': sql,
-                    'time': "%.3f" % duration,
-                })
-                logger.debug(
-                    '(%.3f) %s; args=%s', duration, sql, params,
-                    extra={'duration': duration, 'sql': sql, 'params': params}
-                )
-        return wrapped
-    return wrapper
-
-
 class CursorDebugWrapper(CursorWrapper):

     # XXX callproc isn't instrumented at this time.

-    @debug_sql(params_name='params', use_last_executed_query=True)
     def execute(self, sql, params=None):
-        return super().execute(sql, params)
+        with self.debug_sql(sql, params, use_last_executed_query=True):
+            return super().execute(sql, params)

-    @debug_sql(params_name='param_list')
     def executemany(self, sql, param_list):
-        return super().executemany(sql, param_list)
+        with self.debug_sql(sql, param_list, many=True):
+            return super().executemany(sql, param_list)
+
+    @contextmanager
+    def debug_sql(self, sql=None, params=None, use_last_executed_query=False, many=False):
+        start = time()
+        try:
+            yield
+        finally:
+            if use_last_executed_query:
+                sql = self.db.ops.last_executed_query(self.cursor, sql, params)
+            stop = time()
+            duration = stop - start
+            try:
+                times = len(params) if many else ''
+            except TypeError:
+                # params could be an iterator.
+                times = '?'
+            self.db.queries_log.append({
+                'sql': '%s times: %s' % (times, sql) if many else sql,
+                'time': "%.3f" % duration,
+            })
+            logger.debug(
+                '(%.3f) %s; args=%s', duration, sql, params,
+                extra={'duration': duration, 'sql': sql, 'params': params}
+            )

 ###############################################

@felixxm I think that looks great! Yeah! Probably get to this by next week. Thanks!

@felixxm looks like everything is passing.

@kingbuzzman Thanks for updates :+1: I rebased from master, added short release note, and made some cosmetic changes.


How to host marbles locally?

I run npm install and gulp marbles1. And open web browser with url http://localhost:3001/. In the browser, login with admin. The console side outputs many errors:
error: Error: Calling enrollment endpoint failed with error [Error: connect ECONNREFUSED <IP_ADDRESS>:7054]
    at ClientRequest.<anonymous> (/home/allen/gopath/src/github.com/hyperledger/marbles/node_modules/fabric-ca-client/lib/FabricCAClientImpl.js:568:12)
    at emitOne (events.js:96:13)
    at ClientRequest.emit (events.js:188:7)
    at Socket.socketErrorListener (_http_client.js:310:9)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at emitErrorNT (net.js:1278:8)
    at _combinedTickCallback (internal/process/next_tick.js:74:11)
    at process._tickCallback (internal/process/next_tick.js:98:9)
error: [fcw] Failed to get enrollment marbles-marbles-ibm-mychannel-fabric-peer-1a Error: Failed to obtain an enrolled user
    at ca_client.enroll.then.then.then.catch (/home/allen/gopath/src/github.com/hyperledger/marbles/utils/fc_wrangler/enrollment.js:131:12)
    at process._tickCallback (internal/process/next_tick.js:103:7)
error: [fcw] could not format error
error: could not enroll...

Run docker ps -a, I can not find any containers running. Does marbles need start docker-compose blockchain network first before running gulp marbles1? And how to host marbles locally? And most of most, does marbles support the latest fabric 1.0.0 release? Please give us some instructions.

if you skip any instructions you are going to have a hard time getting it to work.

yes marbles v3.0 works with fabric 1.0.0
marbles cannot help you start/build your network. if you are not using the bluemix service you are on your own, for now. any questions related to a local network via docker-compose will have to wait until thats offically supported/documented
gulp marbles1 is hosting marbles locally

Thanks. I have cloned v3.0.2. The sfhackfest example is used to build blockchain networking. Then gulp united_marbles can run. But there are two problem. One is the endorsement demonstration stops to response when creating, deleting, and transferring marbles. The other is error: [Chain.js]: Orderer with URL grpc://<IP_ADDRESS>:8050 already exists when deploying chaincode at step 2 of setup.

I find the latest marbles v3.0 does not have Deploy button in the home page, while v3.0.2 has. Does this mean the latest version does not support install and instantiate locally hosted chaincode?

correct.  more importantly there is no longer a "deploy" tx in v1.0 fabric.  it is now two steps.  1 is called install and the other is instantiate.  the new order is to:

Install - this step copies the chaincode source files into the peer
Instantiate - this will onboard the chaincode for a particular channel

Thanks.
I am try to learn your implements. Could you tell me how the marbles v3.0  pushs forward after each step succeeds and communicates the blockchain operation states between client and server?

Its using a websocket.  The websocket startup code is in app.js line 400 and in /utils/websocket_server_side.js.  The client side code is in public/js/websocket.js.
The server sends a state messages as it moves through enrollment -> finding chaincode -> building assets.
app.js line 371
//send to all connected clients
function broadcast_state(new_state) {
	process.env.app_state = new_state;
	wss.broadcast(build_state_msg());	    //tell client our app state
}

Thanks.

@dshuffma-ibm
I’m following the Marbles on Bluemix (command line) instructions. It states

Well to do this correctly you need to first run marbles locally.

Seriously make sure marbles on your local machine starts up completely and you have traded a marble successfully before you continue.

after a run gulp marbles1 and try to login as admin I get exactly the same error as @bh4rtp.
Could you please explain what the probable cause is? What do I have to check in the enrollID and enrollSecret fields in the blockchain_creds1.json file as is suggested in the instructions?

The setup link is not working anymore. Can someone post the latest setup link?


Remove unnecessary accessibility hint in Call Visualizer

This string is not needed as a hint because we are working with a label, so the text of the label itself is the hint.
MOB-2614

Equivalent snapshot tests: https://github.com/salemove/ios-widgets-snapshots/pull/40


View unused modules in a monorepo for dead code elimination

I would like to see unused modules so that I can easily remove dead code from the codebase.
Note:
Since the module can be used in NOT production code like tests, storybook and other tooling files, there should be an option to skip them

Hey @ild0tt0re,
Thanks for submitting that feature request.
It is indeed the next feature planned before v1 is released, I'll probably open an issue where we can track the different milestones of that big feature.
Few milestones that I can see without even thinking about it are:

provide a new API to list all unused modules, with a possibility of filtering the glob pattern (since you were talking about targeting specific sets of tests)
provide a new API that automatically prunes unused modules using the first API (like 'ts-prune', but for all kind of files, not only typescript ones

Hi, any update on this feature request ? We would be very interested by this feature using it on an angular monolithic codebase in order to split our applications and keep them separated

Hello @dufrenb, there is no new update regarding the development of that feature.
However, I have been discussing with the author of knip which is an awesome library, and I will probably end up opening discussions regarding the need of exposing a knip API allowing tools like skott to integrate with it.
For your information, in the future, skott aims to provide dead code elimination for third-party + local modules by analyzing the graph. But if you want to start removing dead code of your own code as of today, I would recommend you to start using knip. Combining it with skott (that checks unused third-party modules) could be a great combination in order to remove most of the dead code (local+third-party) and take full control over your project graph.

@dufrenb
Just to be 100% sure, when talking about "unused modules" in a monorepo, do you have in mind "unused files" or "unused identifiers (import/export)"? As the time flies by, I don't remember what I initially had in mind, sorry about that.
Identifying "unused files" could be pretty straightforward to implement actually, I could do that in one day.
But knowing if an import/export from a module is being actually used is another game.
So please, could you help me clarify what are your expectations?

Hello @dufrenb and @ild0tt0re,
I just published a new 0.35.0 skott version including a new --showUnusedFiles CLI option to list unused files (can only be used when not providing any entrypoint). The feature is also available through the API.
Let me know how it goes!


"No database" option from generator-jhipster is not supported

Overview of the issue
The "no database" option from the generator jhipster is not supported.

Motivation for or Use Case
Be coherent with generator-jhipster

Reproduce the error
Create an app with no database and no translation

Related issues

Suggest a Fix

JHipster Version(s)

JHipster configuration
App generated with master from both generator-jhipster and generator-jhipster-vuejs

Entity configuration(s) entityName.json files generated in the .jhipster directory

Browsers and Operating System

[ ] Checking this box is mandatory (this is just to show you read everything)

I will make a PR to fix this


Hithere!

What is this???

My username on GitHub is @rick. If you have a public GitHub repository and you mention @rick on it, I get notified. People often do this when they're doing things like "Hey @Rick Johnson what do you think about frobnitz?", where Rick Johnson is some person within GitHub or email reach of their project or job or whatever.
It's all good. But I'm going to say "hi" to you if you ping me. It's amusing to me the range of responses this elicits.
Some of the old images have bit-rotted, I'm generally better about fully uploading any images these days so that doesn't happen any more. It's more work, but I care about you, the customer.

https://github.com/mac-cain13/ziften/issues/9

https://github.com/Tricky3/Shopify_Infinite-Scroll/issues/1

https://github.com/PopupMaker/Popup-Maker/issues/165

https://github.com/tehn/aleph/pull/255

https://github.com/EnvironmentAgency/waste-exemptions/pull/196

https://github.com/EnvironmentAgency/waste-exemptions-shared/pull/76

https://github.com/sijis/err-salt/issues/2#issuecomment-206459744

https://github.com/nodebotsau/nodebotsau.github.io/issues/6#issuecomment-234167080

https://github.com/stm32duino/Arduino_Core_STM32F1/pull/3#pullrequestreview-773336

https://github.com/cloudRoutine/issueCommRepo/issues/27#issuecomment-253240322

https://github.com/freecodecamp-fresnoca/arthop-map-dev/pull/33#issuecomment-263105157

https://github.com/EugenMayer/docker-sync/issues/108#issuecomment-276759486

https://github.com/RickStrahl/MarkdownMonster/issues/148#issuecomment-282043853

https://github.com/wcpaltz/LetsGoHTMLingAndCSSing/commit/c1f2550a51c21d658c7edcca9c72a7209abc847b#commitcomment-21676874

https://github.com/corda/corda/pull/522#issuecomment-297471466

https://github.com/rwobig93/ServerRPGAdventure/commit/9f5c73699f84a2ec551e6156a6f2cce5c84feaa9#commitcomment-22337196

It's always interesting to guess which accidental mis-mentions are going to result in a fun exchange of commentary, vs. serious developers deleting anything in the thread they don't control....

https://github.com/tc39/test262/pull/986#issuecomment-334577378

https://github.com/iot-dsa-v2/sdk-dslink-cpp/pull/7#issuecomment-351861202

https://github.com/rickatech/backstage/issues/27#issuecomment-385442885

:cry:

Savages
On Tue, May 1, 2018, 6:02 AM Simon Rozet<EMAIL_ADDRESS>wrote:

[image: screen shot 2018-05-01 at 1 02 14 pm]
https://user-images.githubusercontent.com/90/39470780-e8ef49e4-4d3f-11e8-86d1-bd368dae01e4.png
😢
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rick/you-rang/issues/1#issuecomment-385647156, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAYc4r3b4OrmgnGXGFqzEpYYpXlXOfwks5tuEDSgaJpZM4Hcne7
.

https://github.com/HumanExposure/factotum/pull/269#issuecomment-391171258

https://github.com/aspnet/Docs/issues/7601#issuecomment-413254154

https://github.com/fzi-forschungszentrum-informatik/gpu-voxels/issues/77#issuecomment-470951546

https://github.com/MicrosoftDocs/dynamics-365-customer-engagement/issues/513#issuecomment-476291778

Try some berber-music... https://music.youtube.com/watch?v=q1Off2D3xTo

Bro, just go through a hypothetical divorce-drama in your love-life, and metaphorically marry Ms Hindi Zahra, she be 40.

https://github.com/rick/you-rang/issues/1#issuecomment-476292023

https://github.com/AeroScripts/QuestieDev/commit/d1eed99dce71458bcaf9da1af82d952e963bde3f#commitcomment-36057267

https://github.com/OpenCPN/OpenCPN/issues/1839#issuecomment-616617463

https://github.com/OpenCPN/OpenCPN/issues/2151#issuecomment-766939635

https://github.com/OpenCPN/OpenCPN/issues/2151#issuecomment-766939635

https://github.com/Azure/opendigitaltwins-building/pull/24#issuecomment-769895790

https://github.com/Azure/opendigitaltwins-building/pull/24#issuecomment-769895790

https://github.com/MicrosoftDocs/msteams-docs/issues/2996#issuecomment-813497195

https://github.com/CDCgov/prime-reportstream/issues/3718#issuecomment-1016921186

https://github.com/CDCgov/prime-reportstream/issues/3725#issuecomment-1016923766

https://github.com/OpenCPN/plugins/issues/578#issuecomment-1019298064

https://github.com/OpenCPN/plugins/issues/578#issuecomment-1019308127

I mean, in all fairness it was a repeat gif.

https://github.com/CDCgov/prime-reportstream/issues/4158#issuecomment-1032989410

https://github.com/ecadlabs/taqueria/pull/91#discussion_r806109765

https://github.com/MicrosoftDocs/iis-docs/pull/751#issuecomment-1083626448

https://github.com/rgleason/weatherfax_pi/issues/96#issuecomment-1152959350

https://github.com/HTTPArchive/almanac.httparchive.org/issues/2882#issuecomment-1216774691

https://github.com/github/technology-partnerships-and-engineering/issues/2113#issuecomment-1216778372
(I know)

https://github.com/NREL/EnergyPlus/issues/9597#issuecomment-1224182081

https://github.com/programthink/books/issues/119#issuecomment-1497798925

https://github.com/postgis/docker-postgis/pull/345#issuecomment-1595859726

https://github.com/OpenQDev/OpenQ-Frontend/commit/3f69d963989bba8d5464ac05d1f6d1a9a37072bf#commitcomment-123321855

https://github.com/spring-projects/spring-security/issues/2053#issuecomment-1660740588

https://github.com/dotnet/efcore/issues/11950#issuecomment-1761586889

https://github.com/adobe/spectrum-web-components/issues/3687#issuecomment-1761589370

https://github.com/omigroup/omigroup/discussions/423#discussioncomment-7398965

https://github.com/ramdor/Thetis/issues/228#issuecomment-1924923676

https://github.com/IntersectMBO/cardano-test-plans/pull/32#pullrequestreview-1868502361

https://github.com/MicrosoftDocs/fabric-docs/pull/1205#issuecomment-2423044933

https://github.com/MicrosoftDocs/iis-docs/pull/1072#issuecomment-2442253180

https://github.com/livepeer/project-management/issues/78#issuecomment-2498767113


Netlify .app domain issue

In a recent Learn with Jason video, they were unable to enter URL: https://next-netlify-webmention.netlify.app
See the issue here: https://youtu.be/Ty6tmviF0H0?t=1420

Thank you @snarfed for updating to support .app domains! I’ll check it out later.

👍 tentatively closing.


Add "List" component

https://zeroheight.com/73kwjxh8i/p/49b94c

ordered list

We should be able to attain this utilizing the counter-increment & counter-reset properties.
See: https://css-tricks.com/custom-list-number-styling/
unordered list

Since the spec states that we any icon can be used here, we should leave the base <ul> styles for the most part untouched, and use classes to toggle to these styles.


Increasing default max_blocking_time on tests [6015]

Should make some tests less flaky

Build status:

Linux
Mac
Windows

Build status:

Linux
Mac
Windows

Build status:

Linux
Mac
Windows

Failing tests are unrelated.


Search Guard 2 not allow REINDEX

We have this permission list:
sg_superadmin:
cluster:
- cluster*
- indices*
- indices:data/write/reindex
indices:
'':
'':
- indices*
- indices:data/write/reindex
BUT this request not works:
POST /_reindex
{
"source": {
"index": "test"
},
"dest": {
"index": "test_v2"
}
}
Error message: no permission for indices:data/write/reindex

pls format and indent the message above. To find out whats probably going wrong pls. enable debug logging and perform an reindex request an post the logs. They should look like https://gist.github.com/floragunncom/317b79309ead63d651d6
For which SG version do you get this behaviour (if not beta1 then pls try this)

could not reproduce, for me it works

no feedback.
pls check with the upcoming beta2 version. If the issue still occurs pls reopen or file a new one


fix(e2e-tests/cypress): fix tests following changes to project information

As part of ASB-1804

Fix tests for project Overview
Make case EN010116 open for registrations
Add "linux-musl-arm64-openssl-1.1.x" to schema.client

:tada: This PR is included in version 2.12.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Dynamic-wallpapers

Added Dynamic wall papers from the Linux_Dynamic_Wallpapers.
Converted all images to Nord by gonord.py which can make converting images in bulk easier.
Added dynamic-wallpapers-preview.md.
Updated README.md to include:

Linked to Linux_Dynamic_Wallpapers.

new dynamic wallpaper preview link.

Basic instructions on using gonord.py.

Thank you for contributing!


Fix bugs

Related to issues https://github.com/ruddra/docker-django/issues/3 and https://github.com/ruddra/docker-django/issues/4


Show full index name on tables

The index names are ellipsed when over a certain length. A tooltip was added to show them, but it would be better if they were just shown in full and wrapped to the next line as needed.

Myself and @TheAlgo (Dhiraj Jain) can pick this up.
As a first step, we are showing the text wrapped to next line. Attaching the screenshot for before and after.
Before:

After:

Closing this issue against the merged PR.


DatePicker is difficult/impossible to use with screen reader

Provide a general summary of the issue here
When navigating in the DatePicker with screen reader (here VoiceOver in Chrome), the calendar closes unexpectedly.
🤔 Expected Behavior?
I expect that the calendar will not close totally unexpected when using it with the screen reader.
😯 Current Behavior
As explained in the summary, the calendar closes while navigating in it with VoiceOver in Chrome. The same does not happen in Safari, however. A screen recording of this is attached below.
I also experience the same when using the useDatePicker. From what I have seen while debugging, this happens due to onFocus in the buttonProps  used in the CalendarCell. It seems that changing the focused date somehow triggers the state to close. When excluding onFocus from the buttonProps, it works fine, but the actual focus is then not moved of course.
Could someone tell me why this happens and if it can be solved?
https://github.com/adobe/react-spectrum/assets/15145686/47f2716b-3917-46af-9774-eebabaa88ae2
💁 Possible Solution
It would be great if the calendar was not so unpredictable and worked fine using VoiceOver.
🔦 Context
I am trying to implement an accessible DatePicker in React for a large group of users, and struggle doing so, which is a pity.
🖥 Steps to Reproduce

Open DatePicker in Chrome
Turn on VoiceOver
Open the calendar in the first example
Try to navigate in it with ctrl+option+arrows

Version
3.19.0 of DatePicker and 3.27.0 of useDatePicker
What browsers are you seeing the problem on?
Chrome
If other, please specify.
No response
What operating system are you using?
MacOS
🧢 Your Company/Team
No response
🕷 Tracking Issue
No response

Thanks for the report. This is very strange indeed. It appears that VoiceOver/Chrome is focusing the correct cell at first, and then firing an extra blur event with relatedTarget: null, losing focus to the document body. This blur event causes the popover to close. https://github.com/adobe/react-spectrum/blob/09a258f098147f7e67a0430b593b08168220ec4a/packages/%40react-aria/overlays/src/usePopover.ts#L80
Still looking into why that extra blur event is happening and if there's anything we can do about it.

@LFDanLu and I spent a few hours debugging this. We traced it to a Chrome bug that appears to be a race condition depending on the amount of work done during an onFocus handler. This results in extraneous blur events being fired with relatedTarget of null. It is reproducible outside of DatePicker, on any button, and even without React. See https://codepen.io/devongovett/pen/vYvYOZg. We filed https://bugs.chromium.org/p/chromium/issues/detail?id=1473752 to hopefully get that fixed. In the meantime, #4931 should work around the issue by not closing popovers when relatedTarget is `null.


Refactor and add test coverage for sending reset emails

As discussed with @chartjes on Twitter a few weeks ago, here's the result of looking for some code with no test coverage. (Meetup video here!)
This involved extracting the email-sending code into its own class, and wrapping that via a service provider.
As a next step, I would add controller tests which mock out the reset_emailer and assert that it's called with send(), or just jump to abstracting this into a "use case" where the controller knows less about what's going on, but I have my doubts about getting to that.
As far as testing the refactor, I spun up a Vagrant instance locally with Postfix, and I still receive the reset emails in my GMail account, and they look right.
Let me know if this is :astonished: with your ways of doing things, or if there are established manual test cases that I should do, or the like.

Thanks @yitznewton for the work and I hope the meetup went well! Lemme know what you think about "mailing abstraction" above. If you don't have time to bite it off, that's fine. This is a step in the right direction at any rate.

Oops, I found a horrible bug, hang on....

OK :sweat_smile:

Thank you again @yitznewton @mdwheele

@chartjes thank you again for the suggestion on Twitter; this is an example of a great PHP project! Glad I've been able to contribute some


Lang broken for my app after installing this package

I am new to laravel, started development on v9, now I am on v10.
I have installed this package based on steps provided, but I noticed package's lang files were created in folder:
../resources\lang\vendor\laravel-share\en
This is causing the issue, because all my langs file are in following folder:
../lang/en
I google this and figure it out. Problem is that new lang folder location: https://stackoverflow.com/questions/71084830/laravel-9-app-upgraded-from-8-lang-directory-not-working-as-expected
Question:

was this Laravel 8 feature that lang files were stored in 'resources' folder and not directly in the root?
if previous is yes, can you prepare an update for laravel >9?

My app:

Laravel 10.8
PHP: 8.2

This package will create a lang folder in resources when you publish the package config & resource files. You should remove that lang folder in resources. I think it should work.


ImageProcessorCore .NET Framework 4.5.2 build

I've needed ImageProcessorCore library for using in our .NET Framework 4.5.2. And I've successfully built it. Will you accept PR for net452 target for the library?

Cool! :sunglasses:  How did you get past the need for the vectors library? I didn't know it was installable on 4.5.2.
I'm assuming the need for this is so that you can use the same codebase in your application for both .NET Core and .NET 4.5.2?
If so, then yeah. I'd like to setup the configuration to support the full framework also.

Cool! :sunglasses: How did you get past the need for the vectors library? I didn't know it was installable on 4.5.2.

According to this article: https://mariantines.com/2015/08/24/simd-support-in-net-framework/

For .NET Framework 4.5 both fixed and variable length type are in the same NuGet package of version 4.0.0.

So I simply added dependency for 4.0.0 version.  Though, I needed additional tweak in my dependant project.

I'm assuming the need for this is so that you can use the same codebase in your application for both .NET Core and .NET 4.5.2?

Not exactly. We are using System.Drawing for saving PNG files in memory and profiler shows that it takes big amount of time. I'm looking 3-rd party libraries for performant PNG encoder or at least with tweaks of compression to decrease it.

Just pushed:
https://github.com/JimBobSquarePants/ImageProcessor/pull/364

Hi, I want to say there is a problem with moving down to 4.5.2  atleast with regards to DNX.
I tried to move down to 4.5.1 for the current project I'm working on and it was failing quite badly with..

"Could not load file or assembly 'System.IO.Compression, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089'

In particular, my input file is PNG and I wanted to convert down for thumbnails to JPG... eventually to Base64String for blobs...:
using (FileStream stream = File.OpenRead(filePath))
using (Image image = new Image(stream))
using (FileStream output = File.OpenWrite(storagePath  + blobName + "_blob"))
{
	image.Resize(320, 180).SaveAsJpeg(output);
}

at using (Image image = new Image(stream))
StackTrace = "   at ImageProcessorCore.Formats.ZlibInflateStream..ctor(Stream stream)\r\n   at ImageProcessorCore.Formats.PngDecoderCore.ReadScanlines(MemoryStream dataStream, Single[] pixels, IColorReader colorReader, PngColorTypeInformation colorTypeInformation)\r\n  ...
I tried compiling ImageProcessor for 451 and 452, both times same results..   I then moved my project up to DNX46...  and now things are working great.
I looked through the assemblies of System.IO.Compression in 4.0.0 and 4.1.0-beta-23516, each is missing the actual file and contain empty holders  (ie:  . )
The only versions that have the assembly for System.IO.Compression are net46 and dotnet (the next CLI)...  so, i'm thinking for anyone else that is targeting ASP.NET 5 at DNX451, just update the project to DNX46

This should all work now I have released the RC2 update targeting netstandard1.1 (works on my machine) please let me know when you have tested it


Improve readability of data dictionary

What does this pull request do?
Changes to the data dictionary:

Removes pagination
Renames the testing table from circle_test to interventions_ci

What is the intent behind these changes?

Removes pagination: some fields weren't immediately visible on larger tables (e.g. referral) and it was confusing me until I noticed the pagination
Renames the testing table from circle_test to interventions_ci: this will be visible in the HTML title, the headers, everywhere, making it a lot more usable

🙇 Thank you! 🎩


Typo in docs for environment list

The page https://pnp.github.io/cli-microsoft365/cmd/pp/environment/environment-list/ shows a [teamId] in the option set. That should not be there and can be deleted.

It's also in the command file...

Fixed it 👍 thanks for bringing it up @appieschot.

@martinlingstuyl awesome! Any particular reason why the good first issue was removed? Felt like a valid tag for this one or did I miss anything?

Ah, you're correct. I'll reapply it.


syft: 0.105.0 -> 0.105.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/anchore/syft/releases.
meta.description for syft is: CLI tool and library for generating a Software Bill of Materials from container images and filesystems
meta.homepage for syft is: https://github.com/anchore/syft
meta.changelog for syft is: https://github.com/anchore/syft/releases/tag/v0.105.1
Updates performed

Golang update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.105.1 with grep in /nix/store/i9n8wfx6m3130j5dvgisxa7b4rsrqxd6-syft-0.105.1
found 0.105.1 in filename of file in /nix/store/i9n8wfx6m3130j5dvgisxa7b4rsrqxd6-syft-0.105.1

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

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
syft

Instructions to test this update (click to expand)

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

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

Or:
nix build github:r-ryantm/nixpkgs/97e242eb92b046237da22c693443d37ca4532134#syft

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

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

syft

Maintainer pings
cc @06kellyjac @developer-guy @kashw2 for testing.

lol, this repo have everything, omg


minor text edits improvements, CapabilityStatement.rest.security.service

minor texte edits

in addition to text edit, I think the element should be explicitly called CapabilityStatement.rest.security.service

should the canonical url not point to http://ihe.net/... instead of http://profiles.ihe.net/fhir/ihe.securityTypes/CodeSystem/securityType?  (see also https://github.com/IHE/FormatCode/tree/master)

The current approach is to use http://profiles.ihe.net. This is the domain name that we have control over. There is limited support on ihe.net to support redirects of canonical uri

sorry my comment was maybe not 100% clear. I think the canonical url should be consistent with
https://github.com/IHE/FormatCode/blob/master/input/resources/codesystem-formatcode.xml and start with http://ihe.net or
will codesystem-formatcode.xml also move to profil.ihe.net? The description here mentions currently: formal canonical URI http://ihe.net/fhir/ihe.formatcode.fhir/CodeSystem/formatcode

formatcode canonical URI was defined many years ago, back when we though we could use that for canonical URI. We are working to create one redirect for that.
These things might change... anything in Trial Implementation (or Public Comment) is subject to change.
I would love to use ihe.net; but it seems that technology is going to get in our way.... that or someone smarter comes along and shows us how to do it (hint, hint... feel free to help us Oliver).

@msmock This pull request looks good to me, please accept it if you agree.

Done.


Metrics collection out of order error when using ServiceMonitors

What's wrong?
I installed Alloy using Helm and configured it to collect metrics via ServiceMonitors. However, I'm consistently encountering out-of-order errors during metrics collection.
I suspect this issue might be related to Alloy being deployed as a DaemonSet, where each pod independently collects the same metrics, leading to duplication and timestamp conflicts.
To address this, I followed the documentation and applied the following rule to filter metrics by the pod's hostname:
rule {
    action = "keep"
    regex = sys.env("HOSTNAME")
    source_labels = ["__meta_kubernetes_pod_node_name"]
}

Alloy did not collect any metrics that met the rules. After deleting the rules, the out-of-order error still existed.
Steps to reproduce
1.Install Alloy using Helm, deploying it as a DaemonSet.
2.Configure ServiceMonitors to discover and collect metrics.
System information
Kubernetes Version: v1.31.2
Software version
grafana/alloy:v1.5.0
Configuration
logging {
        level  = "info"
        format = "logfmt"
    }

    prometheus.remote_write "default" {
      endpoint {
        url = "http://mimir-nginx.monitoring.svc.cluster.local/api/v1/push"
      }
    }

    prometheus.operator.servicemonitors "services" {
        forward_to = [prometheus.remote_write.default.receiver]
        rule {
            action = "keep"
            regex = sys.env("HOSTNAME")
            source_labels = ["__meta_kubernetes_pod_node_name"]
        }
    }

Logs
ts=2024-11-29T11:31:53.865171801Z level=error msg="non-recoverable error" component_path=/ component_id=prometheus.remote_write.default subcomponent=rw remote_name=16ecca url=http://mimir-nginx.monitoring.svc.cluster.local/api/v1/push count=297 exemplarCount=0 err="server returned HTTP status 400 Bad Request: send data to ingesters: failed pushing to ingester mimir-ingester-zone-b-0: user=anonymous: the sample has been rejected because another sample with a more recent timestamp has already been ingested and out-of-order samples are not allowed (err-mimir-sample-out-of-order). The affected sample has timestamp 2024-11-29T11:31:48.915Z and is from series certwatcher_read_certificate_errors_total{container=\"gpu-operator\", endpoint=\"gpu-operator-metrics\", instance=\"<IP_ADDRESS>:8080\", job=\"gpu-operator\", namespace=\"gpu-operator\", pod=\"gpu-operator-5b4d76c556-794bp\", service=\"gpu-operator\"} (sampled 1/10)"
ts=2024-11-29T11:32:53.879567572Z level=error msg="non-recoverable error" component_path=/ component_id=prometheus.remote_write.default subcomponent=rw remote_name=16ecca url=http://mimir-nginx.monitoring.svc.cluster.local/api/v1/push count=297 exemplarCount=0 err="server returned HTTP status 400 Bad Request: send data to ingesters: failed pushing to ingester mimir-ingester-zone-b-0: user=anonymous: the sample has been rejected because another sample with a more recent timestamp has already been ingested and out-of-order samples are not allowed (err-mimir-sample-out-of-order). The affected sample has timestamp 2024-11-29T11:32:48.915Z and is from series certwatcher_read_certificate_errors_total{container=\"gpu-operator\", endpoint=\"gpu-operator-metrics\", instance=\"<IP_ADDRESS>:8080\", job=\"gpu-operator\", namespace=\"gpu-operator\", pod=\"gpu-operator-5b4d76c556-794bp\", service=\"gpu-operator\"} (sampled 1/10)"
ts=2024-11-29T11:33:53.894554587Z level=error msg="non-recoverable error" component_path=/ component_id=prometheus.remote_write.default subcomponent=rw remote_name=16ecca url=http://mimir-nginx.monitoring.svc.cluster.local/api/v1/push count=297 exemplarCount=0 err="server returned HTTP status 400 Bad Request: send data to ingesters: failed pushing to ingester mimir-ingester-zone-b-0: user=anonymous: the sample has been rejected because another sample with a more recent timestamp has already been ingested and out-of-order samples are not allowed (err-mimir-sample-out-of-order). The affected sample has timestamp 2024-11-29T11:33:48.915Z and is from series certwatcher_read_certificate_errors_total{container=\"gpu-operator\", endpoint=\"gpu-operator-metrics\", instance=\"<IP_ADDRESS>:8080\", job=\"gpu-operator\", namespace=\"gpu-operator\", pod=\"gpu-operator-5b4d76c556-794bp\", service=\"gpu-operator\"} (sampled 1/10)"
ts=2024-11-29T11:34:53.911897448Z level=error msg="non-recoverable error" component_path=/ component_id=prometheus.remote_write.default subcomponent=rw remote_name=16ecca url=http://mimir-nginx.monitoring.svc.cluster.local/api/v1/push count=297 exemplarCount=0 err="server returned HTTP status 400 Bad Request: send data to ingesters: failed pushing to ingester mimir-ingester-zone-b-0: user=anonymous: the sample has been rejected because another sample with a more recent timestamp has already been ingested and out-of-order samples are not allowed (err-mimir-sample-out-of-order). The affected sample has timestamp 2024-11-29T11:34:48.915Z and is from series certwatcher_read_certificate_errors_total{container=\"gpu-operator\", endpoint=\"gpu-operator-metrics\", instance=\"<IP_ADDRESS>:8080\", job=\"gpu-operator\", namespace=\"gpu-operator\", pod=\"gpu-operator-5b4d76c556-794bp\", service=\"gpu-operator\"} (sampled 1/10)"
ts=2024-11-29T11:35:53.927614397Z level=error msg="non-recoverable error" component_path=/ component_id=prometheus.remote_write.default subcomponent=rw remote_name=16ecca url=http://mimir-nginx.monitoring.svc.cluster.local/api/v1/push count=297 exemplarCount=0 err="server returned HTTP status 400 Bad Request: send data to ingesters: failed pushing to ingester mimir-ingester-zone-c-0: user=anonymous: the sample has been rejected because another sample with a more recent timestamp has already been ingested and out-of-order samples are not allowed (err-mimir-sample-out-of-order). The affected sample has timestamp 2024-11-29T11:35:48.915Z and is from series certwatcher_read_certificate_errors_total{container=\"gpu-operator\", endpoint=\"gpu-operator-metrics\", instance=\"<IP_ADDRESS>:8080\", job=\"gpu-operator\", namespace=\"gpu-operator\", pod=\"gpu-operator-5b4d76c556-794bp\", service=\"gpu-operator\"} (sampled 1/10)"

After further investigation, I discovered that the issue was caused by my setup.


Make crps_uniqueness return a list of values

Make crps_uniqueness behave like crps_weight when applied to a matrix, instead of the returning the average uniqueness.

Implemented in f3304e1


Add Go back arrow in log in and sign up pages

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

@thestarsahil can u please assign this to me


Use pnpm instead of yarn

From my exp.,
pnpm is simply a lot more fast and reliable.
yarn is really outdated right now, and their registry is unstable.

Ty for this issue, u'r right, any can use package manager with he like, can use pnpm too


merge from arlac77/npm-package-template-esm-only

.travis.yml

chore(travis): (jobs.include)
chore(travis): (jobs.include.node_js)
chore(travis): (script)

:tada: This PR is included in version 3.0.8 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Generating Migrations file from Models definitions and changes

Today you need to specify all the columns from a table in the migrations file and then write them all again in the respective model file. Basically you have to repeat yourself.
Since there isn't yet an official documentation from SearchLight, I was wondering if there is a way to detect the changes from the model definition and generating the migrations file from it, instead of having to repeat yourself two times (also, making the process less prompt to human errors).
This feature will be similar to what Alembic does to generate migrations for SQLAlchemy in python, it sees the changes in a model and generates a migration file only with the changes made to the model.

You are right. But the nature of SearchLight is to support different databases. If you want create things like that a foundation of what you are searching isn't that hard. But you have to change the files to get the full potential of the migrations (create an index e.g.).
I started something similar in the past. But before we start to implement this I would discuss this with Adrian (@essenciary). To get it working in all databases SearchLight support today this will take a little time to implement it and I don't want waste my time if Adrian don't want to get this in the package.

Thanks for the rapid response! In my point of view, this feature will be a very nice productivity booster for Genie.jl developers!

@FrankUrbach this functionality got me thinking all day. Since you tried to implement something like this in the past, how do you recommend me to start it? I was thinking on building something like a new package (SearchLightMigrations) that works on top of SearchLight.Migration to try the idea of generating the migrations files from the model file, but since I'm new to Julia (also I've always used this functionality from other libraries without digging into the library to see how it was implemented) I was wondering what are some suggestions you could give me to start implementing this. Maybe it will start as a separate Package and then, once it becomes more mature (with support for all the DBs supported by SearchLight), it gets merged to SearchLight (or as an alternative while your team implements a better way to do this)

@sgaseretto the easiest way to do something like that is to use the reflection capabilities of Julia. For each struct you can get the field names and the types of the fields. You can make a dictionary with types you want accept for the database and as value the translation into the string you have to use for the description in the migration file. Then you use a template file where you can file in the description you have generated. But you will stuck by adding indexes or something else as the fields itself because you haven't any information inside a struct which field you want preparing as an in Index field. The rest should be possible to do. If you want start such a package let me know where it is and I can help you if you stuck somewhere.

You read my mind! That was what I was trying today, building a dict using Model.name.names and Model.types to use them to start generating the migration files. You are right about the indexes, I was thinking on building custom structs like Fields to add if they have to be indexes or things like limit length (when they are strings) like in Django, and then when getting the model struct, see which fields need indexes, but I don't even know yet if something like that is achievable (I'm coming from OOP, so I don't know how this can be done with Julia at the moment, but I believe that probably yes). Another crucial functionality that I'll experiment with is how to know the differences between a current Table and the Model changes, to determine which columns where added and/or deleted when generating new migration files. I'll continue with some experiments and then I'll set up a repo to share it, I believe it will have to be following this instructions.
Also, I believe that at least with the basic functionalities to automatically generate the migrations files will be sufficient, then for some advance configurations, developers will have to manually edit the migrations files. Something similar happens with Alembic, when trying to autogenerate the migrations files, some things are detected by the library when trying to determine the migrations, and some others cannot be detected

@FrankUrbach do you know if there is a correct way (if posible) to try and test SearchLight in a standalone way with the REPL or in Jupyter, the same way it can be done with Genie? I want to test some things but having to build a whole Genie Project to try somethings feels a little bit awkward sometimes.

@sgaseretto It isn't necessary to set up a whole Genie project. Make a project add SearchLight and the Adapter you need for your database and try what you want. It should work without Genie. E.g. see the tests of the Postgresql and the MySQL adapters. They work without one line of Genie code.

Thanks a lot! I'll check them

I don't know if I'm overcomplicating things, but the only idea I have is to specify in the Model definition if indexes are required or not by defining custom structs like DbId, for example:
  mutable struct StringDbType
      value::String
      limit::Int = 0 # When parsing this, 0 will mean that there is no limit specified
      index::Bool = True
  end

The drawback I see is that then the property that has this "Type" can't be manipulated as String, unless we overload all the operations that can be done to a String for this type... But probably there can be an easier way, but I'm not seeing it, what do you think @FrankUrbach ?


Permanently hide statusbar and systembar

Flutter: 1.12.13+hotfix.8
IDE: VSCode
My app will be place on public location. The app should be running on fullscreen. I've use SystemChrome.setEnabledSystemUIOverlays([]); to hide both statusbar and systembar(navigation bar that available on android device box).
When I pop an alert dialog to request for access key if the user tap on button, the statusbar will appear  as the keyboard appear. Plus, when I slide drag the top and bottom, both statusbar and systembar will be visible.
Class Page State
class _MyHomePageState extends State<MyHomePage>...
@override
void initState() {
  SystemChrome.setEnabledSystemUIOverlays([]);
  super.initState();
}
...

Hi @luiey
Issues you're describing are working as expected. statusbar and systembar being visible on slide grad from top and bottom is an intended behavior. This is because Android on-screen navigation keys and notifications. Not every device has physical keys
SystemChrome.setEnabledSystemUIOverlays([]); is placed inside build - Code Sample
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'Material App',
      theme: ThemeData.dark(),
      home: Home(),
    );
  }
}

class Home extends StatefulWidget {
  @override
  _HomeState createState() => _HomeState();
}

class _HomeState extends State<Home> {
  @override
  void initState() {
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    SystemChrome.setEnabledSystemUIOverlays([]);
    return Scaffold(
      appBar: AppBar(
        title: Text('Material App Bar'),
      ),
      body: Center(
        child: Container(
          child: Text('Hello World'),
        ),
      ),
    );
  }
}

Closing, as this isn't an issue with Flutter itself,
if you disagree please write in the comments and I will reopen it
Thank you

@luiey : Did you find any solution for this. I also have similar requirement and wants to disable statusbar & navigationbar permanently as my app is also public facing.

+1!!!

+1!!!

+2

@thenifemi @saveKenny @shahzadahmedkhan @luiey Anyone found a solution, please share here, I'm also having this requirement?

I guess my I have the somewhat same problem. After using systemchrome  I found that the status and navbar are not visible until someone taps on the screen but after that happens, they stay visible permanently. Even if we could tap on the screen and make them not visible again that be nice

Hi everyone,
I just updated https://github.com/flutter/flutter/issues/52379 which would address the issue, it's a problem


Validation for dashboard name uniqueness

Summary
This PR implements checking for dashboard name duplicates to ensure global uniqueness.
Issue: https://newrelic.atlassian.net/jira/software/c/projects/DEVEX/boards/2045?modal=detail&selectedIssue=DEVEX-2297

Pre merge checklist

[ ] Did you check you NRQL syntax? - Does it work?
[ ] Did you check your dashboard image quality? -  Do they look good?
[ ] Did you check that your alerts actually work?
[ ] Did you include an InstallPlan and Documentation reference?
[ ] Did you check your descriptive content for voice, tone, spelling and grammar errors?
[ ] Did you attach images of your dashboards to the PR so we can see them working?

Screenshots
Attach images of any visual changes, such as a dashboard here.

A couple things.

Should I write tests for this? it's utilizing functions that already have tests for them. I do plan on moving these commonly used functions to the helpers file to reduce clutter.
I noticed that zack has a PR up for validating duplicates for dashboards/alerts. Should I be implementing what he wrote instead of me creating a whole new script? Mine only takes dashboards into consideration. Both are valid ways to find duplicates in order to approach this ticket: https://newrelic.atlassian.net/jira/software/c/projects/DEVEX/boards/2045?modal=detail&selectedIssue=DEVEX-2298

Going to have to close this to re-open a PR comparing this fork to the main fork.


Changed AzureMonitorLogs extension icon for gallery

Changed the icon for AzureMonitor for the extension gallery. Replaced the same with a different file with the same name.

This PR fixes #

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 41.754%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
26385

Relevant Lines:
57354

💛  - Coveralls


Any possibility to set pellematic_heating_circuit_1_flow_temperature_heat and pellematic_heating_circuit_1_temperature_setback?

Hello,
The title says it all. Would there be a possibility to set the values of these two sensors.
From what I see from the Touch interface of my Pellematic, this is what I can set as "Room Temp Heating" and "Room Temp Set Down".
As of now, in my HA setup, I have automations that change the Pellematic settings with time of the day, presence of ppl in the house, etc. I do this partly with setting the "Op. Mode" from "Heating" to "Set Back" back and forth. Besides that I have more granular settings with the radiators thermostats but that's another story.
Still, after a few weeks of doing this (just to see how the whole house reacts to heating settings and how this influence the pellet consumption which I can now follw since I upgraded to 4.04a firware), I concluded that it would be useful to be able to combine this with changes to both settings of the Heating and Set Back modes....and I guess there may be many use cases for this (sadly the "Auto" mode on the Pellematic is just a joke, IMNSHO....).
So, do you think it could be possible to do this? I can happily help in debugging any development of this issue. Not being neither a Python expert nor an expert in home automation, I very much doubt I could propose a patch, though, sorry for that.
And anyway, huge thanks, again for this amazing work.

@cperrier, controlling "Room Temp Heating" should actually already be possible with your current installation. number.pellematic_heating_circuit_1_heat_temp is a number entity you can control.
I added "Room Temp Set Down" (number.pellematic_heating_circuit_1_set_down_temp) in PR #82. I guess this should be in the next release.

Oh, indeed, you're absolutely right. So, OK, I can now control one of both.....and soon both thanks to your work.
Much much appreciated! Merci !


Wasm Sub-Invoke Error Handling

closes: https://github.com/polywrap/monorepo/issues/643
Features
No-Throw Sub-Invocations (Custom Error Handling)
Instead of calls like this throwing if there is an error:
// This throws an exception...
const res = Ethereum_Query.callContractView({
  method: "function badFunctionCall() view returns (uint256)",
  address: input.address,
  args: null,
  connection: input.connection
});

// AssemblyScript / Wasm doesn't support try / catch,
// so code below this line will never get run,
// meaning we cannot handle errors if they occur.

Callers will now be given a Result<TData, TError> structure, allowing developers to handle errors themselves:
const res = Ethereum_Query.callContractView({
  method: "function badFunctionCall() view returns (uint256)",
  address: input.address,
  args: null,
  connection: input.connection
});

res.isErr; // true
res.unwrap(); // throws
res.unwrapErr(); // error string "VM Exception Occured: ..."

Result<TData, TError> (like Rust's) Added to AssemblyScript Wasm Runtime
I've found the following repository that implements a few useful Rust collections (Result, Option, Box) in AssemblyScript:
https://github.com/yjhmelody/as-container
We are using the Result type from this library. It works like a charm, and shares the same interface as Rust's Result structure:
https://doc.rust-lang.org/stable/std/result/
Users can use commonly understood functions like unwrap(), expect("..."), and so on.
Breaking Change
This is a breaking change. All calls to external wrappers as shown in the above code snippets will now require the caller to get the return value by going through the Result<T, E> object's interface (unwrap, expect, etc).

Merging since we discussed this thoroughly in the Dev Sync on Feb 10th 2022:
https://discord.com/channels/796821176743362611/916046622742446100/941387981137252402


Please update plugin to 1.19.3

Can you please update the plugin to version 1.19.3?

Hi, thanks for that hint. I wasn't aware of the update.


Exposed Window Props to the sandbox application

Application could not change the name of the window without changing the default window Props.
Proposed fix
Expose the window props through the application constructor

I think it would also be a good idea to set the default WindowProperties to the Application constructor.

If we want to rename the title then exposing a function would be better.
Something like this:
SetTitle(const std::string& title)

It would be a good idea to have a set title and set any other window props as well, but i think it would be best to initialize the application with the correct title to begin with rather than a default and then change it immediately after.

Cherno did allow you to set the title when creating an application in https://github.com/TheCherno/Hazel/commit/9ddc33488e50da9550023077227a4b973867c1c2. It doesn't make sense to allow you to create custom sized windows yet, as that depends on the monitor(s) it will be displayed on. For this we need some sort of System handler first. Since the part that is logical is now implemented, I'll close this for now. Once we have some notion of the system this is running on, we can revise the current implementation.


Fresh install after cloning this repo before submitting the project

Although, there are no chances that some dependency is missing from package files but to be on the safer side, do a fresh install, just to check whether the app is running smoothly or not.

Also check every page, features, and logs.

Done!


Endless loop upon page load

I'm hitting an endless state-replace-loop on page load:

I tried debugging, but I can't make sense of it. It keeps bouncing into replaceState with an undefined state, 471 actions and an undefined pushHistory. The last action is @@redux/INIT`:

I've cleared my complete local storage and could reproduce the problem again. At first it's just a few loops, but with more actions added, it seems the list grows exponentially.
I'm on<EMAIL_ADDRESS>

How I can reproduce it too?

That's going to be increasingly difficult because the app is growing and requires https to some degree.
It's definitely a problem related to the IndexedStore again. Without it, the problem is gone. I might just skip the offline-support for now. I'm using the localStorage already to have initial data available until the subscriptions go through.
I've added a logger to see every dispatched redux-action and I see a problem already without any action except of one subscription:
First page-load with an empty IndexedDb:

log.js:24 [HMR] Waiting for update signal from WDS...
Store.ts:21 action {type: "@@redux/INIT7.p.4.h.y.k"}
Store.ts:21 action {type: "@@redux/PROBE_UNKNOWN_ACTIONm.a.u.w.2.m"}
Store.ts:21 action {type: "@@redux/INIT7.p.4.h.y.k"}
log.js:58 Logux subscribed to channel groups/load
log.js:58 Logux state is connecting
log.js:58 Logux tab role is leader
log.js:58 Logux state is sending. Client was connected to server:AkEFbQRK.
log.js:58 Logux state is synchronized
Store.ts:21 action {groups: Array(0), type: "groups/loaded"}
log.js:58 Logux added groups/loaded action from server:AkEFbQRK {groups: Array(0), type: "groups/loaded"} {id: "1577635519189 server:AkEFbQRK 0", time:<PHONE_NUMBER>189, reasons: Array(1), added: 2}
log.js:58 Logux action<PHONE_NUMBER>288 aad86489-a72d-40f2-9bdd-6717d4b45f7b:h98RXtOK:nvzvW_UY 0 was processed

2nd page-Load:

log.js:24 [HMR] Waiting for update signal from WDS...
Store.ts:21 action {type: "@@redux/INITu.s.3.1.x"}
Store.ts:21 action {type: "@@redux/PROBE_UNKNOWN_ACTIONe.z.2.o.v.5"}
Store.ts:21 action {type: "@@redux/INITu.s.3.1.x"}
Store.ts:21 action {groups: Array(0), type: "groups/loaded"}
log.js:58 Logux subscribed to channel groups/load
log.js:58 Logux state is connecting
log.js:58 Logux tab role is leader
log.js:58 Logux state is sending. Client was connected to server:AkEFbQRK.
log.js:58 Logux state is synchronized
Store.ts:21 action {groups: Array(0), type: "groups/loaded"}
log.js:58 Logux added groups/loaded action from server:AkEFbQRK {groups: Array(0), type: "groups/loaded"} {id: "1577635593906 server:AkEFbQRK 0", time:<PHONE_NUMBER>906, reasons: Array(1), added: 4}
log.js:58 Logux action<PHONE_NUMBER>976 aad86489-a72d-40f2-9bdd-6717d4b45f7b:h98RXtOK:VfYV570Q 0 was processed

3rd page-load:

log.js:24 [HMR] Waiting for update signal from WDS...
 Client was connected to server:AkEFbQRK.
log.js:58 Logux state is synchronized
Store.ts:21 action {groups: Array(0), type: "groups/loaded"}
log.js:58 Logux added groups/loaded action from server:AkEFbQRK {groups: Array(0), type: "groups/loaded"} {id: "1577635633536 server:AkEFbQRK 0", time:<PHONE_NUMBER>537, reasons: Array(1), added: 6}
log.js:58 Logux action<PHONE_NUMBER>641 aad86489-a72d-40f2-9bdd-6717d4b45f7b:h98RXtOK:zArI7cbf 0 was processed

And so on... I would assume with more than just one action in the mix, this will get out of hand quickly.

I've just added a start-script to make it easier.
git clone https://gitlab.com/uncaught/doko.git
cd doko
./start.sh

Alternatively, I've deployed the dev-system on my server: http://correnz.net:3333/groups
Open the URL, open the Dev-Tool and reload the page several times and see how the actions are getting more and more.

It's definitely a problem related to the IndexedStore again. Without it, the problem is gone. I might just skip the offline-support for now.

I will try to debug IndexedDB first. Sorry, I didn't have a good example for IndexedDB, this is why current implementation is not perfect.

No worries! But I thought the IndexedStore was required for offline support, is it not? I thought with offline-first design, this would be the default :)

But I thought the IndexedStore was required for offline support, is it not?

Yeap, we need it for a case like:

Disconnect from internet
Do some changes
Close website without saving
Connect again
Open website and save your changes

Hi. Sorry for the delay. I had traveled to SF and Mexico for a bachelor's party. I am now back to help you with this issue.
Seems like lock happens here: https://github.com/logux/redux/blob/fc4204230af370fa48224fa167e7db29196e3769/create-logux-creator.js#L288-L291
Can you put console.log(replaying) before return replaying.then(function () { and another before if (wait[meta.id]) {? My theory that Promise can be resolved but replaying was not cleaned for some reason.


Permits to create a network of dev nodes

Summary
It would be useful to be able to interconnect several bee nodes in dev mode.
This permits to have an easy way for simulate an array of nodes, for example for balancing scopes or integration tests, without need to setup a backend blockchain and initialize it with contracts and funded accounts.
Motivation
Currently with an array of nodes in dev mode, they stay disjointed and don't share data. So, if I need to have a file available on each node, I've to upload it on each different node.
Alternative is to use the external testnets, that implies to have available external connections, and tests depends on it.
A second alternative is to rise a local independent testnet, that needs to be full initialized with contracts and account funding.
Implementation
This would require a method for sync the local blockchain between nodes, that implies an extension of communication protocol between nodes in dev mode. Anyway, a local blockchain with dev mode could work as a simple normal testnet, with an "easy mining" operation provided by nodes.
Aside of this, the node would work as if connected to a normal testnet. With this implementation, the dev mode would become simply an easy way for startup and initialize a local testnet, shared between other nodes.
Other nodes can be identified linking them on startup configuration.
Drawbacks
Would probably require a reorganization of the dev mode, but it could be manged as a simple testnet connection case. With addition of the new local blockchain initialization.

Couldn't this be done using a swap-endpoint on a real testnet (like goerli) which would solve the "sync the local blockchain".  Then you just have to do the "Other nodes can be identified linking them on startup configuration." somehow.
Signed - Professor Ignorant of All Things Related to Dev Mode (for now)

I see. Anyway, as I described, this could be useful for implement integration tests because doesn't need to initialize accounts, or have external dependencies. Anyway, just an idea, not a requirement.

You may want to look at bee-factory which was created to implement integration tests for the bee-js library and later for other projects as well. You can start a local blockchain node and a number bee nodes with docker images.

ok thanks. I can consider closed this.


[PE-D][Tester D] Functionality Bug: Tag field error in addstu command

Command to reproduce bug:
addstu n/Student One nn/E1234984 t/why so hard
The user guide and error message state that the tags names should be alphanumeric. However, the above command will cause an error.
Likely, the application does not support tag with spaces. I would recommend the team to either allow spaces or update the user guide and error message to specify that spaces are not allowed.
In addition, I feel that this issue might be medium severity if the user use it frequently. I will keep it at low severity as tag is an optional field.

Labels: severity.Low type.FunctionalityBug
original: guohuang88/ped#2

The term "alphanumeric" typically refers to a combination of alphabetic and numeric characters. This includes letters (A-Z, both uppercase and lowercase) and numbers (0-9). When something is described as alphanumeric, it usually means that only these characters are permitted, and, in a strict sense, this does not include spaces or special characters.

Todo:

[ ] update the user guide to state clearly that tag keywords must be a single string not separated by space.
[ ] See also #205


Authorization method not supported

I was able to get the access_key, but the key was "useless". When I made a get request to /restapi/v1.0/dictionary/timezone/12, I got the following exception:
An exception of type 'RingCentral.Http.ApiException' occurred in RingCentral.dll but was not handled in user code

Additional information: Authorization method not supported

I am not sure it is a bug of the C# SDK or an issue from server side. Let me investigate.
Update
Tested /restapi/v1.0/account/~/extension/~, same issue
Update
Unable to reproduce the issue with JS SDK!  This seems like a C# only issue.

I confirm it is issues rooted in C# SDK.
I have fixed it: https://github.com/ringcentral/ringcentral-csharp/pull/46/commits/ba30a7f5aa484dc4e6d8eb1ce1a9527ec6d0d701  I am going to release a new NuGet package.
Feel free to close this issue.

I have released 1.0.1 version to NuGet.
Thanks to @LingForCC . He found the issue and reported to me.


Add possibility to skip manila deployment

"want_manila" is a new env var (default '1') which can be set to 0
to disable manila deployment.

@vuntz this hopefully solves the docker scenario

+1 for the second commit, why the first one?

@aplanas to have the possibility to skip manila if needed.

to have the possibility to skip manila if needed.

Yeah, sure. That was clear reading the title. But why?
Are there test scenarios where manila tempest is not running OK? To speed some other tests? Add a one degree of freedom for local deployments?

@aplanas Just thought it's a good idea to have it. But I'll remove it.

@aplanas fixed.

But I'll remove it.

Oh no, do not remove it : )
+1

@toabctl if you still have your first commit, I think it's fine to put it back. Otherwise, +1 the way it is right now.


[ Feature ] Passing in icons?  [In Progress]

Hey would you be open to passing in icons like the play/pause button in both cupertino_controls and material_control as non-required params?
https://github.com/brianegan/chewie/blob/6efa51970f971dc49d03529e2ac95d92b9f1da3a/lib/src/cupertino_controls.dart#L342
This will make the package a bit more flexible for UI changes.
I can make a PR for this just seeing if this is something wanted.

Do you think people would like to display alternative icons there?
Generally I am not opposed (not sure about @brianegan or @Ahmadre ), if chewie can be more useful by providing the possibility to change the icons.
Only if it makes the code or plugin more complicated.
Are we allowing customization of icons anywhere currently?

I have a need to pass in a custom icon for the play button (and modify the overlay but not doing that yet).

and of course if this is approved I'll send a PR to do the work 👍

Awesome, that's a great usecase, so feel free to add it.
Also maybe worth thinking if the icon is reused in places or if multiple icons can benefit from passing them.
Thanks for tackling this 💯

Great ill start working on this and try to get it out in the next few days

Ill do this on Monday have some deadlines....

Great, don't stress too much ;)

Just looking at the code
https://github.com/brianegan/chewie/blob/master/lib/src/cupertino_controls.dart#L254
Is what controls the big play button, i think changing it to what i wanted would make the code a bit messy.

I see, I hope you can find some kind of workaround for your project

any thing on this? couldn't find clue to use this feature

so does this work, I don't see where can I pass in custom icons for play/pause etc.

No, if you go through the code you will see its using AnimatedIcon play_pause. When i looked at this a year ago added a icon param made it too messy, things might be different now.


Remove debug code in libspdm_calculate_m1m2 & libspdm_calculate_l1l2

Remove the debug code in these two functions since they update the
m1m2 or l1l2 content thus affect the actual code logic once enabled
in the case when LIBSPDM_RECORD_TRANSCRIPT_DATA_SUPPORT is set.
Signed-off-by: Liming Sun<EMAIL_ADDRESS>

@lsun100 I attempted to resolve this in #1051, however the fuzzing tests detected a stack overflow due to the changes, so they didn't go in. If possible that would be the preferable approach, since the debug code would be removed in a release build.

@lsun100, I dont understand how could it happen that "since they update the m1m2 or l1l2 content ".
Would you please elaborate?

For example, libspdm_calculate_m1m2() is called in libspdm_generate_challenge_auth_signature() with the m1m2 as output (line 745 below).  Later the m1m2 is used to calculate the signature (line 789 below) with 'the false argument (line 793) which expects the m1m2 to be data instead of hash.
The removed 'LIBSPDM_DEBUG_CODE' code calls the libspdm_hash_all() to update the m1m2 buffer.  That's to say, it will happen to work when LIBSPDM_DEBUG_CODE is compiled out, but it will break signature verification when LIBSPDM_DEBUG_CODE is compiled in. Usually I would assume that debugging code shouldn't cause any behavior change no matter it's compiled on or off.  Please correct me if I misunderstand it.
library/spdm_common_lib/libspdm_com_crypto_service.c
744 #if LIBSPDM_RECORD_TRANSCRIPT_DATA_SUPPORT
745     result = libspdm_calculate_m1m2(spdm_context, is_requester, &m1m2);
746     m1m2_buffer = libspdm_get_managed_buffer(&m1m2);
747     m1m2_buffer_size = libspdm_get_managed_buffer_size(&m1m2);
748 #else
788 #if LIBSPDM_RECORD_TRANSCRIPT_DATA_SUPPORT
789         result = libspdm_responder_data_sign(
790             spdm_context->connection_info.version, SPDM_CHALLENGE_AUTH,
791             spdm_context->connection_info.algorithm.base_asym_algo,
792             spdm_context->connection_info.algorithm.base_hash_algo,
793             false, m1m2_buffer, m1m2_buffer_size, signature,
794             &signature_size);

Sorry, looks like my misunderstanding... I'll withdraw the code review.

That's great. I'll close this one.

Thanks @steven-bellock and @jyao1 for the comments. I double checked that it's my misunderstanding. It actually works without the change.


Lazy change directory

Don't CWD until needed(list; downloading file; get_current_directory; uploading file; rmdir etc.). Aggregate sequential CWD's without other commands in between into one CWD. Consider it?(If yes I will do it)

Don't get it, CWD don't used by library itself. Did you mean user calls to change_directory?

@pohmelie Yes

This looks like overhead. Actually user don't need to use CWD for list, downloading, etc. So optimization at this level is useless, I think.

I'm thinking that we implement CWD completely client side, avoiding CWD altogether. Consider it?

@jw4js, yes, actually no operation currently required CWD :wink:


fixed small error for MDAV

Hm, are you sure about this change? According to the CSP Defender policy, the value 0 means "Scan incoming and outgoing files (default)", which is the same as in the PolicyRule file of the Windows 11, version 23H2 security baseline

@0x6d69636b
you are right, it is even br0ken
Friendly Name	Monitor file and program activity on your computer
Location	Computer Configuration
Path	Windows Components > Microsoft Defender Antivirus > Real-time Protection
Registry Key Name	Software\Policies\Microsoft\Windows Defender\Real-Time Protection
Registry Value Name	DisableOnAccessProtection
https://learn.microsoft.com/en-us/windows/client-management/mdm/policy-csp-defender#allowonaccessprotection