Map some of well known types to Rust equivalents.

This PR fixes #425

I suppose that we can use chrono::Duration from chrono crate instead of std::time::Duration and also implement mapping for chrono::DateTime<Utc> for well_known_types::Timestamp. What do you think?

No, I think we do want to have an additional external dependency.
It could be an optional dependency, but I'm sure it worth increased maintenance cost.
(Also I think chrono crate is somewhat overengineered).

And one more question: it's maybe better to move this code to ext.rs module?

SystemTime is actually guaranteed to be UTC (it is nowhere in the documentation, but I'm pretty sure it is); in particular because there's UNIX_TIME constant.

it's maybe better to move this code to ext.rs module?

No, because ext usually means protobuf extension.
The better place could be protobuf/src/well_known_types/mod.rs, but that file is generated.
I think it does not really matter where the code is because it can be moved freely without breaking compatibility.

Comments can be f32 <-> FloatValue instead of f32 -> FloatValue.

Wait, std::time::Duration (as well as well_known_types::Duration) can also be negative. It just need to be constructed carefully.

Why?
In accordance with std::time::Duration: documentation:  "Checked Duration subtraction. Computes self - other, returning None if the result would be negative or if overflow occurred." And also there is no sign bit in std::time::Durationstructure, thus its cannot be negative by design. Also just seechrono::Duration` conversions for example.
https://docs.rs/time/0.1.42/src/time/duration.rs.html#259
About std::time::SystemTime, it uses gettimeofday under the hood for Unix and GetSystemTimeAsFileTime for Windows. Both of functions return UTC time and this mean that we can garantee that SystemTime is UTC.
https://docs.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-getsystemtimeasfiletime
https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/apis/gettod.htm
Thus I can implement From for SystemTime and only TryFrom for Duration. Or I can implement only conversion from std::time::Duration to well_known_types::Duration.

I’m wrong about duration sign. Yes, it is unsigned.

I suggest let this PR be about all types except time, and another PR to convert duration and time. Let me think a bit what API should look like.

Ok, I have fixed last comments.

Another issue with From conversion is a possible precision loss handling malformed Duration and Timestamp objects.
Maybe instead of From and TryFrom we should just have impl Duration { ... } and impl Timestamp with more than one function?


Test snapcraft build: s390x (v3.1.0-rc7.2)

Community is not active, and with that issue closed. If somebody tests and has any issues, feel free to reopne or create new issue.


Add RSA PSS Sign/Verify Support

Issue # (if available): https://github.com/awslabs/s2n/issues/957
Description of changes:
Adds RSA PSS Sign/Verify Support
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

:exclamation: No coverage uploaded for pull request head (rsa_pss_impl@d72dd0d). Click here to learn what that means.
The diff coverage is n/a.


Use clang-11 for asan job and test undefined behavior

Explicitly attempt to continue running when the sanitizer detects a problem (-fsanitize-recover=all) so CI reports all detected problems.

There are a number of issues that this is currently detecting, so merging it as is will cause CI to fail.
I'll be more than happy to rebase this periodically if you'd like to use this PR's CI as a way to address the issues before merging the CI changes themselves.

James McCoy wrote:

Explicitly attempt to continue running when the sanitizer detects a
problem (-fsanitize-recover=all) so CI reports all detected
problems.

There are a number of issues that this is currently detecting, so
merging it as is will cause CI to fail.
I'll be more than happy to rebase this periodically if you'd like to
use this PR's CI as a way to address the issues before merging the CI
changes themselves.

This may explain some problems with folding that could not be
reproduced.  I'll make a patch, please sync once it's there.  The list
is too long to try locate all problems.
--
Luxury. We used to have to get out of the lake at three o'clock in the
morning, clean the lake, eat a handful of hot gravel, go to work at the
mill every day for tuppence a month, come home, and Dad would beat us
around the head and neck with a broken bottle, if we were LUCKY!
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Rebased on v8.2.1558.

The fold fixes have definitely helped.  The latest run (based on v8.2.1563) is only reporting two issues -- https://travis-ci.org/github/vim/vim/jobs/723283618#L6962

James McCoy wrote:

The fold fixes have definitely helped.  The latest run (based on
v8.2.1563) is only reporting two issues --
https://travis-ci.org/github/vim/vim/jobs/723283618#L6962

I would like to be able to reproduce these locally, but I only have
clang-10.  Looking on the llvm website I see 10.0.1 as the latest one to
download, while the release notes mention clang 12.  Where is clang 11?
Perhaps using clang-10 also works?
--
Overflow on /dev/null, please empty the bit bucket.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

11 is being qualified for release. It can be downloaded from https://prereleases.llvm.org/11.0.0/#rc2. If you're running Debian or Ubuntu, https://apt.llvm.org/ also makes packages available.  That's what I'm using for Travis.

James McCoy wrote:

11 is being qualified for release. It can be downloaded from https://prereleases.llvm.org/11.0.0/#rc2. If you're running Debian or Ubuntu, https://apt.llvm.org/ also makes packages available.  That's what I'm using for Travis.

I prefer not to use unreleased pacakges, I tend to forget to update
them.  These checks don't work with clang-10 ?
--
Proverb: A nightingale that forgets the lyrics is a hummingbird.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

@brammool asked:

These checks don't work with clang-10 ?

It works fine with clang-10. I just tried.
This is what I did:

in ~/.bashrc:

export UBSAN_OPTIONS="print_stacktrace=1 log_path=/tmp/ubsan"

Update SANITIZER_CFLAGS in src/Makefile as follows:

diff --git a/src/Makefile b/src/Makefile
index 10570d6d3..67ebe6b71 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -699,6 +699,7 @@ LINT_OPTIONS = -beprxzF
 # When running tests output can be found in testdir/asan.*
 #SANITIZER_CFLAGS = -g -O0 -fsanitize=address -fno-omit-frame-pointer
 #SANITIZER_CFLAGS = -g -O0 -fsanitize=undefined -fno-omit-frame-pointer
+SANITIZER_CFLAGS = -g -O0  -fsanitize-recover=all -fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer
 SANITIZER_LIBS = $(SANITIZER_CFLAGS)

 # MEMORY LEAK DETECTION

rebuild and run the following test that shows errors at vim-8.2.1563:

$ make clean ; make -j8
$ make test

Errors are in /tmp/ubsan.*.

Dominique wrote:

@brammool asked:

These checks don't work with clang-10 ?

It works fine with clang-10. I just tried.
This is what I did:

in ~/.bashrc:

export UBSAN_OPTIONS="print_stacktrace=1 log_path=/tmp/ubsan"

Update SANITIZER_CFLAGS in src/Makefile as follows:

diff --git a/src/Makefile b/src/Makefile
index 10570d6d3..67ebe6b71 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -699,6 +699,7 @@ LINT_OPTIONS = -beprxzF
 # When running tests output can be found in testdir/asan.*
 #SANITIZER_CFLAGS = -g -O0 -fsanitize=address -fno-omit-frame-pointer
 #SANITIZER_CFLAGS = -g -O0 -fsanitize=undefined -fno-omit-frame-pointer
+SANITIZER_CFLAGS = -g -O0  -fsanitize-recover=all -fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer
 SANITIZER_LIBS = $(SANITIZER_CFLAGS)

 # MEMORY LEAK DETECTION

rebuild and run the following test that shows errors at vim-8.2.1563:

$ make clean ; make -j8
$ make test

Errors are in /tmp/ubsan.*.

Thanks, I could make it work.  It doesn't suppress errors though.
The "suppressions" argument from LSAN doesn't work...  Ah, using
$LSAN_OPTIONS works like with gcc.
--
GUARD #1:  Where'd you get the coconut?
ARTHUR:    We found them.
GUARD #1:  Found them?  In Mercea?  The coconut's tropical!
ARTHUR:    What do you mean?
GUARD #1:  Well, this is a temperate zone.
The Quest for the Holy Grail (Monty Python)
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

Latest run is clean.  This should be good to merge now.

Thanks, I'll include it now.  Please keep an eye on any changes when clang-11 is officially released.

Latest run is clean.  This should be good to merge now.

Unfortunately a problem has popped up:
E: Unable to locate package clang-11
--
Yesterday is history.
Tomorrow is a mystery.
Today is a gift.
That's why it is called 'present'.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


Add example for style trailing body on method definition

Follow https://github.com/rubocop/rubocop/pull/9548#issuecomment-787423830.
This PR adds example for Style/TrailingBodyOnMethodDefinition cop and removes a redundant condition from the cop. I noticed the redundant condition when writing the example description.

Thanks!


Semver development releases

I would like to enable development releases in our semver GH action. The development release does not bump major, minor or patch but appends the version with a development version, example: 1.2.3-dev4 or 1.2.3-4-87wud21. This feature should have a on/off switch.
In this repo: https://github.com/SneaksAndData/generic-mip, I would like a development release every time a commit is pushed to a PR. But this should not bump major, minor or patch.
This is because this framework is work-in-progress, and I don't want to make a proper release every time I want to test something out in another repo that depends on this one

Create something like altantis: comment to create a release


[proxy] Add support of DD_ prefixed env vars

Update:

using env var naming that's closer to Agent 6 convention
use empty env var values when they're present
use space-separated list for DD_PROXY_NO_PROXY

What does this PR do?
Add support of DD_PROXY_HTTP, DD_PROXY_HTTPS and DD_PROXY_NO_PROXY env vars.
They take precedence respectively over the HTTP_PROXY, HTTPS_PROXY and NO_PROXY env vars, which themselves take precedence over the proxy settings defined directly in datadog.yaml.
So overall: DD_-env > standard env > datadog.yaml
Also, the proxy env vars with empty values are now used instead of being ignored. This is a minor breaking change, but should allow users to meaningfully set an env var to an empty value when they actually want the value used by the Agent to be empty.
Motivation
The HTTP_PROXY, HTTPS_PROXY and NO_PROXY env vars are "standards" that are used automatically by many libs and tools (for example the requests python lib).
When users use HTTP_PROXY, HTTPS_PROXY and NO_PROXY to set up the Agent proxy, many integrations (e.g. kubelet) that use requests without passing explicit proxies settings will also end up using these proxy settings. That's a breaking and undesirable change because, before 6.3.0, these integrations didn't use proxies when the Agent was set up to use a proxy, and these integrations are generally not meant to be used with proxies (they hit internal domains/IPs).
So let's introduce these new DD-specific env vars that have the exact same effect as setting proxy in datadog.yaml: they will only be used by the Agent and the integrations that want to use the Agent's proxy settings, but will not make the other integrations use them.
We keep support of the HTTP_PROXY, HTTPS_PROXY and NO_PROXY env vars to be consistent with the "standard" (i.e. what any other tool would do) and with what the Agent 5 does.
Additional Notes
~Open questions:~ Questions answered, see update at top of PR description.
~1. Should we rather use DD_PROXY_HTTP, DD_PROXY_HTTPS and DD_PROXY_NO_PROXY as the new env var keys? It would be consistent with the naming of the other DD_ env vars (which is based on the datadog.yaml name). I'd be in favor of using them for consistency.~
~2. When an env var is present and set to "", should we use its empty value or should we discard it? Currently we discard it (and continue reading the option with less precedence), but it may not be desirable as a user may want to explicitly set DD_HTTP_PROXY to "" while HTTP_PROXY is set to a non-empty value in order to override the latter.~
TODO:

[x] add release note
[x] update datadog-agent docs:

https://github.com/DataDog/datadog-agent/blob/master/Dockerfiles/agent/README.md
https://github.com/DataDog/datadog-agent/blob/master/docs/agent/changes.md#L98
https://github.com/DataDog/datadog-agent/blob/6.3.3/pkg/config/config_template.yaml#L14

[x] Make sure process-agent and trace-agent aren't impacted/are consistent.

The PR is ready:

trace-agent does not support the DD_ env vars at the moment. I've documented this in the Agent Dockerfile's README.
process-agent should support the DD_ env vars once we merge the PR and they update the dependency on datadog-agent. Waiting on confirmation from them.

just realized we can't log anything directly from loadProxyFromEnv since when it's called the logger isn't initialized yet. These log entries are pretty useful so I'll try to implement a workaround

@hush-hush will address the log issue in loadProxyFromEnv in a separate PR, I'll merge this first :)


Is it possible to recover all files from an entire website?

For instance, is it possible to recover all markdown files from the following webiste generated by hexo?
https://github.com/LongerVision/longervision.github.io

Yes it should be possible, it even recovers any images you may have implemented, which is pretty neat. :D

I tried with the following locations.json,
{
	"static_folder": "~/Desktop/longervision.github.io",
	"post_folders" : [
		"AI/CanonicalMachineLearning",
		"AI/DeepLearning",
		"AI/EdgeComputing",
		"AI/Kaggle",
		"AI/Visualization",
		"Cloud",
		"Coding/Bugs",
		"Coding/Skills",
		"Coding/Tutorials",
		"ComputerVision/Face",
		"ComputerVision/OpenCV",
		"Finance",
		"GeoScience",
		"IoT",
		"MachineVision/ARMLinux",
		"MachineVision/FPGA",
		"MachineVision/IntelRealSense",
		"MachineVision/MCU",
		"MachineVision/SmartCamera",
		"OperatingSystems/BootLoaders",
		"OperatingSystems/CompilersTools",
		"Personal",
		"Robotics",
		"SBCs/ARM",
		"SBCs/RISC-V",
		"SBCs/ARM",
		"Tools",
		"Websites"
	]
}

where static_folder contains all the contents from public built by hexo, which can be cloned directly from https://github.com/LongerVision/longervision.github.io.
and post_folders are all of the subfolders containing .md files.
➜  github_lvt ls source/_posts
AI  Cloud  Coding  ComputerVision  Finance  GeoScience  IoT  ipynb  MachineVision  Medical  OperatingSystems  Personal  Robotics  SBCs  Tools  Websites
➜  github_lvt ls source/_posts/Websites
hugo.md
➜  github_lvt ls source/_posts/AI
CanonicalMachineLearning  DeepLearning  EdgeComputing  Kaggle  Visualization
➜  github_lvt ls source/_posts/AI/CanonicalMachineLearning
EDA-tSNE  EDA-tSNE.md  XGBoost-LightGBM-CatBoost-H2O-MLflow.md
......

However, after ALL these configuration, and run python extract.py, I got the following ERROR message:
➜  hexo-recover-files git:(master) ✗ python extract.py
Traceback (most recent call last):
  File "....../hexo-recover-files/extract.py", line 38, in <module>
    os.mkdir('_posts\\')
OSError: [Errno 22] Invalid argument: '_posts\\'

So, please, give me a hand.... Thank you ...


How to access the "Static" mode.

I noticed there is a Static mode available but I am unable to change into it through the changeMode method. Is there a way to access the static mode since I want to turn off editing of shapes at some point for the user. Thanks!

Hey, I don't think Static mode is available by default. You can make custom modes, and someone (main maintainer of mapbox-gl) happened to have open sourced a static custom mode here: https://github.com/mapbox/mapbox-gl-draw-static-mode.
Static mode is easy to implement on your own though, here's a code snippet that should work:
`const StaticMode = {};
StaticMode.onSetup = function () {
this.setActionableState(); // default actionable state is false for all actions
return {};
};
StaticMode.toDisplayFeatures = function (state, geojson, display) {
display(geojson);
};
// in your component:
<DrawControl mode={{static: StaticMode}} defaultMode={"static"}/ >
`
You probably would want the DrawControl to have more than just the static mode though. Should be pretty easy to figure out on your own though.


Add code coverage to the repo

This includes also adding missing unit tests and/or fixing current ones.

Consider as examples:
https://github.com/ISA-tools/isa-api/blob/master/.coveragerc
https://github.com/ISA-tools/isa-api/blob/master/.travis.yml


Automatically create nested R object rules if required

This Fixes #22
R rules that traverse many-to-one or many-to-many relationships are now broken up automatically within R.check() into multiple, chained R rules.
Tests to confirm both the original nested R syntax, and a the new unnested syntax, have been added.

So I've realised that while my idea here was good, the execution had flaws. Basically I've realised that my patch turns
R(m2mrelation__field1=1, m2mrelation__field2=2)
into the equivalent of (ignore the invalid Python syntax - as it's actually implemented dynamically mid-iteration over the kwargs, there was never any invalid syntax)
R(m2mrelation=R(field1=1), m2mrelation=R(field2=2))
when it should actually have been dynamically generating
R(m2mrelation=R(field1=1, field2=2))
in order to ensure that the conditions were checked on the same related object (thus matching the behaviour of Rule.filter()).
In short - this patch leads to inconsistent behaviour between R.filter() and R.check() and should be thrown in the bin! So I'll close my PR.


Fix flexsearch option being overridden

Closes #594. I noticed that the flexsearch option being overridden here:

Which is not needed, we should just remove it.

Makes sense, I think it should be enabled automatically based on nextraConfig

OK I know what's the root cause now, under the condition IS_PRODUCTION && indexContentEmitted.has(filename) we are changing unstable_flexsearch to false to bypass re-indexing, but it affects the layout too.

Nice catch!


HIVE-27220:  Backport Upgrade commons,httpclient,jackson,jetty,log4j binaries from branch-3.1

JIRA link : https://issues.apache.org/jira/browse/HIVE-27220
This issue was already a part of Hive-3.1.3 so it should be cherry picked to branch-3

What changes were proposed in this pull request?

Why are the changes needed?

Does this PR introduce any user-facing change?

How was this patch tested?

@apoorvaagg, for log4j2, upgrade it in standalone-metastore/pom.xml also as it has dependency there also. It will ensure we are in sync with the version of log4j.
For commons-lang3, I created a PR long back HIVE-27051 when the build was not green for branch-3 you can refer to it, as the changes are required in hcatalog/streaming/pom.xml and standalone-metastore/pom.xml as well to have same version across the project.
@amanraj2520 thoughts on this?

@apoorvaagg Most of the failures are because of the Jetty Upgrade in this ticket. There is a commit in branch-3.1 that reverts the jetty upgrade after this ticket was merged. Here is the commit - d8d6fb3e. Please cherry pick this as well.


Possibly crazy: support for non-SQL datastores?

Pop is a rad package for CRUD on relational databases. Would there be any interest in expanding its scope to non-relational stores? I'm especially interested in MongoDB/CosmosDB and Google Cloud Datastore.
Happy to go over my rationale in more detail, just wanted to float the idea first.
And my feelings won't be hurt if you tell me to get lost if I'm way off here! 😄

You’re not the first to ask. :) The answer is absolutely, provided that someone writes support for it. :) A pr to add support for any of them would be great.

Can this be achieved by adding an implementation for the dialect interface?
I guess with NoSQL db's the fizz/translator methods won't need to be implementated.

Just my two cents here: Pop is deeply SQL oriented (most of the code handle SQL matters), so in my opinion, introducing NoSQL here is not the best idea. We'll loose most of Pop features. How about having another package for that? :)

@stanislas-m : Good point. The new package name could be pop_diet :)

Honestly, I'm all for seeing what happens when someone tries to add something like Mongo to it. I'm sure a lot of stuff would be no-ops, but it would be interesting to see. I'm not the person to add it though.

sorry - I haven't gotten to this yet. there are quite a few other things on my plate, but I'd like to try it out sometime in the near future...

I have to say, I'm really curious about adding this capability.  I may circle back to this.  I have a project that I believe could benefit from this. Of course the problem is timing. I am going to see if somehow, I could work this into the overall planning of the project.


Extensions

We should talk about when/how we want to merge the refactoring work I'm doing, but this is pretty self-contained.
This is based on the proposal I wrote at https://github.com/CCI-MOC/haas/wiki/network-driver-model-refactor
This also includes some slight cleanup of some of the test support code.

The code looks good.  I think we should wait to merge until we see the code that depends on it, IMO.

After talking to @gsilvis, I just created a branch on the main repo called network-refactor, which I'll send prs related to this refactoring, so we can review them incrementally before the whole thing's ready. I'm going to close this and open another pr directed at that branch.


[Plugin Suggestion] Audit logs

A plugin that allows you to see the audit logs of servers by logging the server locally.

As far as I know, Discord doesn’t expose much of the data complied in audit logs to users without admin permissions, so this would be difficult, if not impossible, for that case (already ignoring the obvious privacy violations). In the case where you do have admin permissions… then just use the audit logs. Perhaps someone with more Discord knowledge would be able to implement something similar, but this isn’t something I’m interested in attempting to develop.

I understand. Thanks for the reply.


Expose Request object so we can see if a replay occurred.

In some cases, we need to determine if the actual request was invoked or the cached version was returned. In order to do that, we need to do an evolution of #394. We need to reconstruct the underlying Request object:
import vcr

def make_vcr_request(req):
      body = req.read().decode("utf-8")
      uri = str(req.url)
      headers = dict(req.headers)
      return vcr.Request(req.method, uri, body, headers)

self._current_request_used_cache = self.cassete.can_play_response_for(make_vcr_request(request))

To do that, we need VCR's Request object exposed for use outside the package.
This PR simply exposes that Request object for use. Open to thoughts on how to better accomplish this by folks that know this tool better.

@kevin1024 Any interest in merging this PR? It's a very simple change.


Duplicated data rows in Medium list

Followed languages: Kotlin, Android
Selected sources: Product hunt, Reddit, Medium, Hackernews

Thanks @aminekarimii for reporting the bug, actually when two tags or more have the same article (eg: android and kotlin), the redundant item get displayed twice.
We're working on it.


docs[patch]: Fixes the build but not a long term solution

Fixes #4360

Maybe try without cache on your end?


Add -ignore-dot-ghci to tests, otherwise some fail with erroring .ghci

Fix #185.

Thanks! In future feel free to just create a PR notifying of the bug and the fix in one, if you prefer (I'm easy either way)

Thanks! One PR is easier, indeed!


add xs to multiselect checkboxes

added "x" to checkbox when checked
removed background-color within checkbox and on hover
changed hover to reduce opacity instead of changing background-color

Unchecked:

Checked:

On hover:

Checked and hovering:

That looks better! Can we make the checkboxes only appear on click, and have hover be just the colored border? Also, for the colored border, make sure it transitions in instead of just changing instantaneously.


[FEATURE] add method to validate expression without expanding it

There is a method to expand expressions that, if the expression is wrong, throws an exception from the expression parser.
In our implementation we allow users to prevalidate expressions, before actually expanding them, which happens when a data query is e valuated, so we can grant expressions used in queries are actually valid.
We can use the same service for the expansion to actually validate the expression, and if there is an exception, then the expression is not valid. Though when the expression is valid, all the expansion work will happen, which is less performant than just parsing the expression. Also, all codes from the expansion are just discarded, because we care only about the expression validity, not the actual expansion.
It would be useful to have an isValid(String expression): boolean method in the API to support this use case, which internally avoids all the expansion processing and just does the parsing.
Thanks!

Thanks @ppazos
The current expand does three steps:

Parse the ECL
Process the AST to build a Lucene query
Perform the query and turn the result into domain orientated results.

At the moment the top level API doesn't provide access to the individual steps.
I think the options are:

Use expandEcl and check for exception. Simple and expansion is fast generally. But it wastes the results and does needless processing. However, when I'm building queries I like to see the results - particularly when it is a complex ECL - so perhaps that is good. We could add a max hits parameter to limit results so that this is safer to use when driven by end users.

Use intersectEcl. This takes a collection of concept identifiers and performs an intersection with the expansion of the ECL expression. If you pass in an empty collection, eg an empty list, it is very fast and most of the processing will be parsing rather than expansion. This is probably the best interim solution  but it uses an exception to indicate parse errors which isn't ideal and still does redundant steps to give errors in syntax. It has an advantage in that it will flag an error if the ECL cannot be expanded properly (eg an unimplemented edge case) rather than purely checking syntax and leaving errors to when the query is used for the first time.

create a new valid? function. This would solve the immediate requirement - easy to implement as it just does the parse step and not the expansion step. Downsides: can't use the parse results for a later expansion, detailed error information about what was wrong with the ECL (line/chat number and the fragment with error) is not returned, only checks syntax and not the implementation.

create a new top level parse fn that takes ECL and returns the AST or an error. This could be used for checking syntax but also then optionally used to expand using another new top level fn. This is simple but expands the top level API (needing parse, expand and a method to check whether in error state or not). Expanding the API does have downsides but perhaps worth it.

There are minor variations on above options eg a top level API fn to return an error, or null/nil, if there is a syntax error. Good in that returns detailed error messages but doesn't allow onward use of the parsed AST and doesn't check actually can be expanded properly.

I'm actually inclined to add a max-hits option so that the ECL is checked for syntax and is exercised - but in a limited way. Of course the intersect option is doing this in a way.

@wardle let me test the intersection.
I think access to lower level operations could be useful too.

@wardle this worked:
try
            {
                server.intersectEcl(
                    [],
                    expression
                )
                println "valid"
            }
            catch (Exception e)
            {
                println "invalid"
            }

@wardle though it's not as explicit as an isValid() method, it works OK.
I've seen the exception is ExceptionInfo and it's data field returns a map with the details.
[:index:0, :text:wrong expression, :line:1, :column:1, :reason:[[:tag::string, :expecting:(], [:tag::string, :expecting:*], [:tag::char, :expecting:[:char-range:true, :lo:49, :hi:57]], [:tag::string, :expecting:^], [:tag::string, :expecting:>], [:tag::string, :expecting:>>], [:tag::string, :expecting:>>!], [:tag::string, :expecting:>!], [:tag::string, :expecting:<], [:tag::string, :expecting:<<], [:tag::string, :expecting:<<!], [:tag::string, :expecting:<!], [:tag::string, :expecting:/*], [:tag::char, :expecting:[:char-range:true, :lo:10, :hi:10]], [:tag::char, :expecting:[:char-range:true, :lo:13, :hi:13]], [:tag::char, :expecting:[:char-range:true, :lo:9, :hi:9]], [:tag::char, :expecting:[:char-range:true, :lo:32, :hi:32]]]]
That is for "wrong expression" as input ecl

The Exception thrown is actually always a type of clojure.lang.IExceptionInfo - which has a .getData method which can return a map of keys and values representing detailed error information.

Sorry @ppazos - our messages crossed!

On reflection, I can see that validation might need to occur in two phases. A very fast test as to whether an expression is valid ECL according to the grammar, and a slower phase, likely with some processing involved, that might well be more resource intensive. To support such an approach, I've added isValidEcl() to the APIs (Java and Clojure).
Fixed in release v1.2.1102


UnknownHostException: Unable to resolve host "nsg-static-<IP_ADDRESS>.airtel.in": No address associated with hostname

I am using loopj for communication of android mobile app to the server.
i am getting error like this:-
W/System.err: java.net.UnknownHostException: Unable to resolve host "nsg-static-<IP_ADDRESS>.airtel.in": No address associated with hostname
Please suggest me what  the exact problem is?
Here is my url:-
http://<IP_ADDRESS>/apnikheti/apnikhetiapp/getCategory.php
Its working fine on browser, on POstman, online rest debugger, hurl it, even in the app using other libraries.
Please help me out.

Hi @shivchauhan09 did you manage to find a solution? I get the same when I upgraded to version 1.4.9

Same here on 1.4.9

Any update on this? same problem here.

Its happening to me the same. Strange think here is that its working find on Api 24 and 25. The problem starts with api 23.  As a error I get:
java.net.UnknownHostException: "host83-33-237-212.serverdedicati.aruba.it"
I dont know from where this auba.it site even appear here... If any one figure it out please post the solution.
v:1.4.9

Some users of my app have the same issue (their devices are 100% Samsung right now, but I can't tell if it's related). I tried to downgrade to 1.4.8 and 1.4.7 with no luck.

For starters, use 1.4.8 or migrate to 1.5.0 when it becomes generally available / stable.


Fix format for attribute lastLocationTime in location retrieval

Problem description
In location-retrieval.yaml line 221, the lastLocationTime attribut format is datetime instead of date-time
Expected behavior
Fix format
Alternative solution
Additional context

Please, create a PR for it and we can add it to a new rc2 with other fixes


Vertically centering rows

Is there a recommended way to do this or should we just specify whatever styles directly on the <Page> component?

The way to officially handle this within flexbox is by using the justify-content property. I ported this property to hedron in the form on the justifyContent component property (outlined here on the wiki).
Here's an example of justifyContent in action. Let me know if this answers your question 😄

Admittedly, I need to work on ramping up the wiki documentation. If you're not familiar with the flexbox system, it would be fairly obscure what the properties outlined in the wiki actually do. Seeing as the whole point of hedron is to abstract away the complicated flex stuff, I really need to document them better.
justifyContent sets the flex-align on the vertical axis, alignContent sets the flex-align on the horizontal axis. The values they accept are stretch|center|flex-start|flex-end|space-between|space-around|initial|inherit

Oh yeah I'm familiar with flexbox, I was asking about centering rows within a page, not just centering inside the rows themselves.

For now I just added my own flex styles in a style object but it would be nice if you could add flex attrs to the <Page> component

Ah, sorry for misunderstanding. Yeah that's a valid workaround; would definitely be nice to add that feature, so thanks for the suggestion! Any ideas on what an ideal API would look like for you?

Cool no worries, thanks for the library!
Thought the way http://roylee0704.github.io/react-flexbox-grid/ handles it was quite good/obvious.

Thanks, I'll check it out 👍

I have officially added this to the roadmap, feel free to drop by on #50 with any additional input/suggestions you might have before I begin the implementation 😄

thanks @garetmckinley, will do!

This is resolved in v1. Alignment, in general, is now much more flexible and the Page component has been removed.


Regenerate benchmark results for latest vLLM

It appears that the benchmark plots are from a much older version of vLLM (more than 4 months old https://github.com/vllm-project/vllm/releases/tag/v0.2.5). With the latest improvements (e.g. automatic prefix caching), the numbers on vllm look much better.
I ran the MMLU benchmark with a vllm==0.4.1 backend, and it performs just as fast as using an sglang server.

My assumption is that the latest vllm version adds automatic prefix caching and that accelerates inference performance a lot


No matching plugin found

Hey I'm trying to use the decompiler but it exits right after the start:

I ran retdec-unpacker.exe and verified that's where those logs come from
%errorlevel% equals to 1 which is EXIT_CODE_NOTHING_TO_DO, ///< There was not found matching plugin.
I built retdec with MSVC
Is there anything I'm missing to do in order to use it?
Thanks for the help
Edit:
I tried upx version 4.0.2 on the command line, but it doesn't support the exe because it wasn't packed by it

The more I look at it I think the binary is not packed why is it trying to unpack it anyway?

Hey I'm trying to use the decompiler but it exits right after the start:

I ran retdec-unpacker.exe and verified that's where those logs come from %errorlevel% equals to 1 which is EXIT_CODE_NOTHING_TO_DO, ///< There was not found matching plugin.
I built retdec with MSVC Is there anything I'm missing to do in order to use it?
Thanks for the help
Edit:
I tried upx version 4.0.2 on the command line, but it doesn't support the exe because it wasn't packed by it

The more I look at it I think the binary is not packed why is it trying to unpack it anyway?

Hello! Please check this issue if I understood you correctly
https://github.com/avast/retdec/issues/1151

Does that mean I have to supply a configuration file? or rather 2

oh you are right thank you @Nitr0-G

I placed this file and now it goes further

oh you are right thank you @Nitr0-G

I placed this file and now it goes further

Yes, but I still advise you to put the entire "share" folder next to it


Replaced server-side component with HTML Canvas

Thumbnail is now built client-side using HTML Canvas. Server component is no longer required.
Created ImageChooser JavaScript module. (fixes #8)

Hey Jeff, does your fork with these changes still exist?  Have you been running the builder client side in the wild?


Upgrade Fuseki to 4.7.0 and RACK graph to TDB2

Closes #951
assemble-files.yml: Bump Fuseki and Jena from 4.6.1 to 4.7.0.
optimize.sh: Switch from tdbstats to tdb2.tdbstats.
install.sh: Switch from tdb to tdb2.

I've tested that these changes work by downloading rack-box-files.zip from this PR's CI job page, unpacking it in my branch's RACK/rack-box/files, building a local dev image, running the dev image, and verifying that no errors appear when starting the dev container or hitting the http://localhost:8050/optimize endpoint in my browser.  I also verified the sparglGraph UI loads fine with all services running.  I'll merge this PR so we can get the changes into the main branch.


midi_chords.py

Hello, I apologize for adding this as an issue, but I don't see any other way of contact and/or my lack of understanding.
attempting to run midi_chords.py
With the code as provided:
@client.set_process_callback
def process(frames):

I get this at the console:
/usr/bin/python3.4 /home/mac/PycharmProjs/JackMIDITest/midi_chords.py
################################################################################
press Return to quit
################################################################################
From cffi callback <function Client.set_process_callback.<locals>.callback_wrapper at 0x7f28d3c04c80>:
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/jack.py", line 720, in callback_wrapper
    return callback(frames, userdata)
TypeError: process() takes 1 positional argument but 2 were given

If I change the code to:
@client.set_process_callback
def process(frames, x):

It runs without error, but I see no midi output.
I made the following mod so as to see midi output:
with client:
    client.connect(outport,"MIDI monitor:midi_in")

The client shows up in Jack in both cases...

It's quite OK to create an issue like this if you have questions!
Your problem with the number of arguments to process() seems to stem from the fact that you are running the examples from a different version (I guess the "master" branch from Github) than the version of jackclient-python you have installed (I guess version 0.2.0 from PyPI).
I changed the number of arguments to process() in #7 and there hasn't been a PyPI release since.
Your second problem is actually expected behavior, since midi_chords.py only creates 2 MIDI ports but doesn't attempt to connect them to any other ports (since it doesn't know what ports you want it to connect to).
One solution would be to allow command line arguments to specify some (optional) MIDI ports where midi_chords.py should connect to.
Would this be helpful to you?
Would you want to specify only the output port (as in your example) or the input port as well?
How did you connect the input port in your example?

So where is the "right" version to get? I didn't do a pull from git and your email implies the git master is not right? I think I followed the instructions from your doc page.

When you look at the "Code" section of this page, you'll see a drop-down menu somewhere around the top left named "branch: master".
You can click on this and select "Tags" and then "0.2.0", this should show you the version of the files corresponding to the 0.2.0 release.
After that, you can just click through to the file you are interested in.
This is the direct link: https://github.com/spatialaudio/jackclient-python/blob/0.2.0/examples/midi_chords.py
This is the raw link if you want to download the file: https://raw.githubusercontent.com/spatialaudio/jackclient-python/0.2.0/examples/midi_chords.py
I'll try to make a new release soon, then the examples should be in sync again.

Ok, I got the code from that link and it does appear to be working now. I've also modified my test code and it's working now as well.
In my case I'm developing an app that sends commands to mixers and such things ( https://github.com/macdroid53/ShowControl ). Since the configuration would be kept in a configuration file, the command line option would not help me much.
Thanks for helping!

If your problem is solved, please close this issue, if not, feel free to continue posting comments here.
BTW, I just released a new version: https://pypi.python.org/pypi/JACK-Client/0.3.0
Now the examples should be in sync again.
You can get the new version with
pip install JACK-Client --user --update


If the script editor is floating, auto switching to 2D view when clicking Control nodes doesn't work

Godot version
v4.1.1.stable.official [bd6af8e0e]
System information
Godot v4.1.1.stable - Ubuntu 23.04 23.04 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3070 Ti (nvidia; 535.54.03) - 12th Gen Intel(R) Core(TM) i9-12900F (24 Threads)
Issue description
As per the issue title - in a 3D scene which contains a Control node, clicking that node will switch to the 2D view and allow you to edit the controls visually. Likewise, clicking a node that derives from Node3D will switch back to the 3D view so you can continue to visually work with the selected nodes.
When going into the script window and clicking the button to open the script into a floating window, however, the aforementioned actions no longer work. Closing the script window so it is no longer floating will restore the functionality.
Steps to reproduce

Create a 3D scene
Add a Node3D
Add a Control
Click the Node3D node and see that the editor shows the 3D view
Click the Control and see that the editor shows the 2D view
Go to the Script tab and click the button to open it as a floating window
Repeat steps 4 and 5 to see that either the 3D view or 2D view will remain the active view regardless of which node is selected
Close the floating script window and repeat steps 4 and 5 to see they are now working again

Minimal reproduction project
N/A

Another code snippet that can reproduce this problem:
@tool
extends EditorScript

func _run() -> void:
	var a = Array(["test", "test", "test"])
	var b = a as Array[String]
	print(b is Array[String]) # false
	var c := a as Array[String] # res://bug.gd:9 - Trying to assign an array of type "Array" to a variable of type "Array[String]".
	var d: Array[String] = a as Array[String] # res://bug.gd:10 - Trying to assign an array of type "Array" to a variable of type "Array[String]".


ci: TEST

Commit https://github.com/HumanSignal/infra/commit/39d7f5c6178f6bf9006744dc918f9f61a38160ec is created.

Commit https://github.com/HumanSignal/infra/commit/f98ba61c74bfc880c9d3deeced2d1bfac27d794a is created.

Commit https://github.com/HumanSignal/infra/commit/2006ee7a19c5cf7e64baddaa1f007366bfad4c43 is created.

Commit https://github.com/HumanSignal/infra/commit/5e5dc74bd1e1ad00dce82082fabad526512dc411 is created.

Commit https://github.com/HumanSignal/infra/commit/5af4689178bc6d35defadcbd7fc5d7da01877dde is created.

Commit https://github.com/HumanSignal/infra/commit/29faac869797a3e7e5f17f4b561d032b211595a2 is created.


Signet

BIP-325 introduced the signet for bitcoin.
Will this also be implemented in LND?

Yes, I think we'll want to add signed to lnd.
I've started some work on this though it needs some cleanup first.
See
https://github.com/guggero/lnd/tree/signet
https://github.com/guggero/btcd/commits/schnorr-sig

This would definitely be nice. Testnet coins are starting to become scarce with a 0.1 btc block reward.

@joostjager if you need coins, you can just get them from the faucet: https://faucet.lightning.community/ -- it has 5 BTC available, and another few hundred sitting in reserve.

Can I use that faucet to open multiple 0.16 BTC (0.15 BTC push amt) channels to the same node?

Yeah you can just close, then re-open again. Also make sure you're already connected to the faucet before you use the form, it doesn't attempt to connect out to the node.

I'm sure you already know this but Signet also has block discovery time following a Poisson process like on mainnet which is nice for timelocks. Testnet has long periods without block discovery and then periods with flurries of blocks discovered.
A Signet faucet if needed is here.

@Roasbeef I keep getting unable to open channel on the faucet. Could it have to do with max pending?


no indication about other parameters

Hi,
Just had a BSOD with a 7F error. I looked at your doc and couldn't find what the second, third and forth parameters meant. Could  you fix that or tell me what it is ?
I do think that the 2 and 4 are serial numbers or something like that but I don't know
Regards,

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8ab369b7-1a0e-e2f8-9d9b-d4bc3710ca57
Version Independent ID: eac532fd-fece-247e-8b12-7cc6b6a3906e
Content: Bug Check 0x7F UNEXPECTED_KERNEL_MODE_TRAP - Windows drivers
Content Source: windows-driver-docs-pr/debugger/bug-check-0x7f--unexpected-kernel-mode-trap.md
Product: windows-hardware
Technology: windows-devices
GitHub Login: @DOMARS
Microsoft Alias: domars

@grandriz - Thanks for this request. I have filed a work item to see if we can provide more information on the parameters that are returned by UNEXPECTED_KERNEL_MODE_TRAP. It will be different for 32/64 bit processors, but typically the contents of register values are returned. The register command describes the registers - https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/r--registers-. The registers hold values that control the flow of code execution on the processor. They can be used with the source code to investigate the cause of the failure.  Good luck with resolving the issue you encountered, and thanks for providing feedback on the stop code docs.


Adding indexes for index primary keys

Please check @deanmarcussen @jtkech

Okay, i will do

Fixes https://github.com/sebastienros/yessql/issues/218

Apparently it also didn't define the PK on reduced index tables.

Yeah looks good.
@jtkech we may have a couple more migrations to change if we made any with only the DocumentId, so there are no duplicated indexes

@deanmarcussen
Yes, need to be checked when using CreateMapIndexTable(), hmm not sure that is good for us to add here this index with only DocumentId, we now always add indexes including it with other columns, so it will be an extra index and maybe not so useful as it only includes one column, but yes maybe still useful for people that don't create any index.
When using CreateReduceIndexTable() we never added any indexes as i was not sure for this kind of tables, so that's okay, hmm but does it means that would be good to add indexes also for these tables, if so same remark as above.
Finally, as i understand we can't add indexes on our side for the bridge table, so looks good to do it here including the Id and DocumentId columns, but how to include other columns of this bridge table, if useful.
I'm a little lost ;)

include other columns of this bridge table

There are no other columns, right? this index is useful since any query on a reduced index will always have a join on these two columns.

we now always add indexes including it with other columns

This is an optimization based on usage. I think having the index on this PK still makes sense when you want to read all the indexed records for specific documents.

Also these are indexes of INTEGER values, they are very efficient in terms of searching and memory consumption.

Found one for AutoroutePartIndex, not including the Path column as it is too long, so only DocumentId
        SchemaBuilder.AlterIndexTable<AutoroutePartIndex>(table => table
            .CreateIndex("IDX_AutoroutePartIndex_DocumentId", "DocumentId")
        );

So, it will be a duplicate ;)

@sebastienros

There are no other columns, right?

Oops okay, forgot it as i was writing, not obvious as one is the table name + Id
Then, okay for the other points as they are INTEGERs

So one question, can we add indexes in our side when using CreateReduceIndexTable(), we never added any indexes as i was not sure for this kind of tables. If so we could add indexes on these tables, there are only a few ones in OC.
And maybe remove the duplicate i mentioned above


Live reload not working windows and WSL2

The live reload isn't working for .md changes when running on windows.
I've tried with both Windows and via WSL2.
I'm running via make (choco install make -y).
I've tried all of the following:
docker run --rm -it -v C:/path/lifecycle-toolkit/docs/:/src  -p  1314:1314 klakegg/hugo:0.111.3-ext server -D -p 1314

docker run --rm -it -v C:/path/lifecycle-toolkit/docs/:/src  -p  1314:1314 klakegg/hugo:0.111.3-ext server -D -p 1314 --disableFastRender

docker run --rm -it -e HUGO_VERSION_OVERRIDE=0.115.3 -v C:/path/lifecycle-toolkit/docs/:/src -p  1314:1314 klakegg/hugo:0.111.3-ext server -D -p 1314

Note: The content directory structure seems odd to me: https://github.com/keptn/lifecycle-toolkit/tree/main/docs
The markdown file I'm changing is thus:
root/docs/content/en/docs/install/_index.md
What version of Hugo are you using (hugo version)?

$ hugo version

v0.111.3
and
v0.115.3

Does this issue reproduce with the latest release?
yes

Use the --pole CLI flag.
See this FAQ.

For example, to poll the project files every 700 milliseconds, use --poll 700ms.


Bump dnt to 0.41.2.

Fix npm packing error.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 97.52%. Comparing base (324bb98) to head (d93da03).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #311   +/-   ##
=======================================
  Coverage   97.52%   97.52%
=======================================
  Files          35       35
  Lines        2262     2262
  Branches      231      231
=======================================
  Hits         2206     2206
  Misses         55       55
  Partials        1        1

Flag
Coverage Δ

unittests
97.52% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Background Trait bonuses from Tabletop Tweaks not being applied

Tips:
After installing Dark Codex, the Trait bonus that should be applied to background skills via Tabletop Tweaks no longer seems to work. As far as I can tell, they are marked as class skills if they otherwise wouldn't be, but the +1 isn't being added.

Try disable "Patch: Background Checks".
Doesn't look that would conflict, but wouldn't be the weirdest thing.

Try disable "Patch: Background Checks". Doesn't look that would conflict, but wouldn't be the weirdest thing.

Looks like that did the trick. And, yeah, it's still not the most unintuitive bug I've gotten from a mod.

This patch is very short and just skips a crash report, should the character get the same background skill twice. Which is possible with the Additional Trait feat.
But itself it shouldn't cause this. I guess TTT has somewhere a patch that conflicts with mine. Tho I could not find it in Vek's source code.


Add "Close Toilet Seat" section

Created by @nicolevasilevsky in #108, supplemented by #109, #110, and #111.
This pull request unifies those 4 in a single one.
It's still up for scientific review.
Co-authored-by: Nicole Vasilevsky<EMAIL_ADDRESS>

To be clear, I'm not advocating for the change, nor against it. I'm just unifying those into a single one to have the proper discussion in place.

I am not aware of literature that shows fecal-oral as a relevant mode of transmission.  CDC states that "the risk is expected to be low based on data from previous outbreaks of related coronaviruses, such as severe acute respiratory syndrome (SARS) and Middle East respiratory syndrome (MERS). There have been no reports of fecal-oral transmission of COVID-19 to date."
https://www.cdc.gov/coronavirus/2019-ncov/php/water.html
To this end while its general good advice, I think it would detract from the more relevant advice like wash your hands, social distancing, etc...
If more relevant research is available I would be happy to re-review...

I suggest we close this unless new information comes to light.

Based on @steesdale points and @nicolevasilevsky "thumbs up" reaction, I'm closing this.


Update README.md with adding a "conda-forge" badge

Adding a "conda-forge" badge in the README file

Hi @oualib,
I just modified the README file, but the TestMachineLearningLiftChart.test_properties_no_of_elements test failed on the PR. It seems that the test is not stable. Can you please take a look?


repeating install page with docker on windows 10

using docker-compose.. When I reboot asks install again
version: '2'
services:
gogs:
image: gogs/gogs
restart: always
networks:
common-net:
aliases:
- gogs
ports:

"10080:3000"
"10022:22"
volumes:
/c/web/gdrive/docker/data/gogs:/data

networks:
common-net:

I think because the mounted volume doesn't work, which means Gogs couldn't detect file that should be generated from install page.

I see directories and files in the local directory. Can you tell me which file it is looking for?

Based on example of https://github.com/gogits/gogs/blob/master/docker/README.md, it should be /var/gogs/gogs/conf/app.ini.


chore: release main

:robot: I have created a release beep boop
ui5-cc-spreadsheetimporter: 1.4.0
1.4.0 (2024-09-18)
Features

new language dutch (LLM translated) (#631) (f4a7fae)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/spreadsheetimporter/ui5-cc-spreadsheetimporter/releases/tag/ui5-cc-spreadsheetimporter-v1.4.0 :sunflower:


Warning: SvgIcon in ListItem - Unknown prop onKeyboardFocus on

Versions

Material-UI<EMAIL_ADDRESS>React<EMAIL_ADDRESS>Browser: Chrome (Version 55.0.2883.95 (64-bit)), Firefox (version 51.0.1 (64-bit)),  Safari (Version 9.0.1 (116<IP_ADDRESS>))

Getting an unknown prop onKeyboardFocus only  when it's used as the right icon of list. This is the only error of this type that I've come across. I don't see this error occurring on the Material-UI component example page so maybe it's an edge case.
Also doesn't make sense because onKeyboardFocus is  a proptype  of <ListItem/> not <SvgIcon/>.
If I remove the right icon from my list the error disappears.
Example of component below.
<ListItem key={children.id}
                 style={styles.listItem}
                 innerDivStyle={{marginLeft: 20}}
                 value={children.id}
                 primaryText={children.name}
                 leftIcon={<Folder />}
                 onTouchTap={() => this.openListItem(children.id, children.kind)}
                 rightIconButton={<Archive style={styles.rightIcon} color={'#EC407A'} onTouchTap={() => this.handleMove(children.id, children.kind)}/>}/>

Any updates on this?

I resolved this in my project by using rightIcon instead of rightIconButton

Thanks @wnordmann that's a good solution for now. Unfortunately you lose the tooltip but for now it's a good option.

We have been porting the component on the v1-beta branch. We reimplemented it from the ground-up. While we haven't tested it, I think that the issue is most likely fixed on that branch. Hence, I'm closing it.
Still, we will accept PR fixes until v1-beta takes over the master branch.


Syncing with minimal-slp-wallet

:tada: This PR is included in version 1.0.5 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:


Dataviews sample for Javas

Upload sample for dataviews for Java

I have  a version that just needs updating and should be coming soon.


Rest "contract first" fails with variable in api path

What happened?
There's an issue providing an open-api spec (contract first) when the spec has variables in the paths i.e.
rest().openApi("my-api.json")

my-api.json:
/users: ...
/users/{employeeid}: ...
/users/{employeeid}/location: ...

The api spec is provided via configmap and endpoints without variables can be reached as expected. There is an index out of bounds error when trying to reach endpoint /users/{employeeid} with  /users/myid123:
 2024-11-11 23:05:39,689 WARN  [org.apa.cam.com.pla.htt.ver.VertxPlatformHttpConsumer] (vert.x-eventloop-thread-0) Failed handling platform-http endpoint /. Caused by: [java.lang.ArrayIndexOutOfBoundsException - Index 2 out of bounds for length 2]: java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2
[1]     at org.apache.camel.http.base.HttpHelper.evalPlaceholders(HttpHelper.java:170)

What I noticed is that endpoing /users/{employeeid}/location can be reached with /users/myid123/location but the expectation is that there is a header: employeeid = myid123 however the value of the header is actually location. It seems there is an offset when the endpoint is being parsed for variables. The json I return shows the wrong value parsed for employeeId:
{
    "employeeId": "location",
    "location": "unknown"
}

In the HttpHelper.evalPlaceholders() that's throwing the exception, I imagine there might be some misconfiguration on what is considered the "URL path" vs the "consumerPath". I haven't been able to identify exactly where the issue is but I imagine it will be in:
[1]     at org.apache.camel.component.rest.openapi.RestOpenApiProcessor.process(RestOpenApiProcessor.java:131)

📓 NOTE: When using the rest DSL e.g. rest().get("/users/{employeeid}"), the api works as expected with no issues.
Steps to reproduce

Create a basic open-api spec that includes variables in the path e.g. /users/{id}
Create and provide this api spec (contract first) as a configmap in your integration e.g.

// camel-k: resource=configmap:user-api-spec
...
configure() {
        rest().openApi("open-api-spec.yaml");
...
}

Attempt to reach your endpoint that contains a variable in the path e.g. /users/id123

Relevant log output
[1] 2024-11-11 23:05:39,689 WARN  [org.apa.cam.com.pla.htt.ver.VertxPlatformHttpConsumer] (vert.x-eventloop-thread-0) Failed handling platform-http endpoint /. Caused by: [java.lang.ArrayIndexOutOfBoundsException - Index 2 out of bounds for length 2]: java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2
[1]     at org.apache.camel.http.base.HttpHelper.evalPlaceholders(HttpHelper.java:170)
[1]     at org.apache.camel.http.base.HttpHelper.evalPlaceholders(HttpHelper.java:147)
[1]     at org.apache.camel.component.rest.openapi.RestOpenApiProcessor.process(RestOpenApiProcessor.java:131)
...
[1] 2024-11-11 23:05:39,696 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (vert.x-eventloop-thread-0) HTTP Request to /users/myid123 failed, error id: d61930eb-b2ad-476b-b059-dca33681d302-1: java.lang.ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2
[1]     at org.apache.camel.http.base.HttpHelper.evalPlaceholders(HttpHelper.java:170)
[1]     at org.apache.camel.http.base.HttpHelper.evalPlaceholders(HttpHelper.java:147)
[1]     at org.apache.camel.component.rest.openapi.RestOpenApiProcessor.process(RestOpenApiProcessor.java:131)

Camel K version
v2.5.0

Thanks for reporting. I've done some test and I am not able to reproduce.  From the exception and the result of your initial investigation it seems more a Camel core bug. You may try the very same route with a local development (ie, via camel run from Camel JBang): in this way we can understand better what part of the system would be requiring a fix.

This is fixed in Camel core, but it would require the release of the core and the related runtime before being complete.


Is it possible to bring parameters outside the url when jumping routes?

What problem does this feature solve?
When the react router jumps the route, in addition to taking the parameter to the url, it can also be placed in the state.
Reference https://reacttraining.com/react-router/web/api/location
The characteristic of this parameter is that even if the page is refreshed, it still works, even if it is not on the url.
But when the url is shared, this parameter will not be taken.
Such parameters are only useful in the current session.
What does the proposed API look like?
like this
push({
   path: '',
   query: {},
   params: {},
   state: {},
})

As I suspected, this is a usage question, please use the forum or discord chat next time. There isn't such thing as a state in navigation. You will have to save the state in a store or at the root of the app


Status Update 2019-05-13

What was accomplished

Priority Hints AB experiment is live in production.
An Amp-list's multiple document support bug was debugged and Mini post mortem was posted.

Lessons Learned

Single Pass Compilations is uncovering a treasure trove of unexpected behaviour from property obfuscation.

What's Next

Design review for amp-prefetch-link this week.
Another experiment around link rel=prefetch positioning in document and priority hints on prefetch by @jridgewell. Design Document planned for release this week.
Minor cache busting fixes for amp-sw
FR: Propagate font-face definitions in ShadowDOM to work around Chrome bug.
Console log/error size reduction from @alanorozco.
Work expected on Rollup Closure Compiler Plugin, and WorkerDOM.

Nit: My experiment is around link rel=preload positioning, not link rel=prefetch.

[Chrome bug with font-face definitions and Shadow DOM].(https://bugs.chromium.org/p/chromium/issues/detail?id=336876)


Normalize version numbers in API calls

Is your feature request related to a problem? Please describe.
Yes. Currently, the API is inconsistent (e.g., for React) in that it sometimes requires major.minor and sometimes requires only major in the URL. E.g., React requires major.minor for 18+ but requires only Major for < 18.
Describe the solution you'd like
It would be very nice from an api perspective if the API was able to discard overly specific version information. For example, if I call https://endoflife.date/api/react/16.14.json it would be nice to get the response at https://endoflife.date/api/react/16.json instead of a 404. This would let me call with major.minor at all times (e.g., https://endoflife.date/api/react/18.2.json or https://endoflife.date/api/react/16.14.json) and get a valid response instead of having to know the exact cycles (which seems like it may change after a major version release).
Describe alternatives you've considered
None of these are currently supported by our tooling, but in theory there are several workarounds (if you completely control the code calling the API)

Call https://endoflife.date/api/${product}.json and do some string comparisons with our version strings to figure out which api path to call.
Retry calls with less specificity (e.g., start with major.minor.patch), and if 404, drop the rightmost part of the version.
Store known patterns in how to call the API (the amount of version numbers of include). This seems more brittle than 1 or 2.
Write very clever regex that uses known patterns to extract the correct api version strings for eol.date. This is both brittle and hard to maintain.

Additional context
We are using https://github.com/natecox/corrator to extract software versions from containers and get currency info for them from eol.date. We are not the maintainers and it currently only supports a static regex to extract the version string used to call eol.date.

Hi @Cohen-Carlisle, I don't know if it applies to react, but we try to follow how particular releases are supported by the product "vendor". So this type of inconsistency can happen if the vendor changed the way the product is supported (for example if the support was in the pas on major, but is now on major.minor).
Having said that, for React I can think of two cases:

Either the support was always on major.minor : in this case the product must be updated to reflect that and it will fix the issue you are facing.
Or it changed over time, and in this case the product is properly documented. So this means we need to do something in the API to accommodate your request.

For the second point, I think it would be hard to specialize the documented releases from major to major.minor. Generalizing major.minor to just major may be a bit simpler, but this must be done only for the latest major.minor. Another solution could be to respond to each specific version (major.minor.patch), but this would require to have an up-to-date list of all versions.
So I agree this would be nice to "normalize" the version number, but except if it's an error in the way the product is documented (case 1) it won't be easy to implement.


[irods/irods#7266] Add Debian 12 support

In service of irods/irods#7266
Running tests soon...

Unit tests passed. Running core tests

Aaand core tests passed. Except one that I just wrote and isn't finished that I forgot about. But it cleaned up and everything else passed.

Amazing.   Ship it.


Note that changes to licensing are controversial

Objective

In #4966, @DJMcNab noted that the changes should likely have been flagged as controversial, and blocked on a final pass from @cart.

I think this is generally reasonable.
Added as an explicit guideline.

Changes to top-level files are also typically controversial, due to the high visible impact (see #4700 for a case of that).

Added as an explicit guideline.

The licensing information of our included assets is hard to find.

Call out the existence of CREDITS.md

If we want to make any follow-up changes to #4966 (or revert it); let me know and I'll do that work myself, either in this PR or another one.

I've tried to capture the details here in a relatively approachable way; let me know what you think.
I've also split out the section on the contribution agreement into its own subsection for clarity.

Created https://github.com/bevyengine/bevy/issues/5399 to capture the "check that everything is kosher" task that got punted. Merging now; feel free to tweak wording further in a follow-up PR.
bors r+


Extends "teams channel" commands with extra options. Closes #3688

Extends "teams channel" commands with extra options. Closes https://github.com/pnp/cli-microsoft365/issues/3688
Extends below commands to support option sets of teamId, temName and channelId, channelName:

teams channel remove
teams channel set

Hi @SmitaNachan seems like something went wrong on your git branch (29 commits, 486 changed files). Could you have a look at it please?

Hi @milanholemans
I am facing issue to create local branch from v6
I am following below steps
Run below to create upstream
git remote add upstream https://github.com/pnp/cli-microsoft365.git
git remote -v

git fetch upstream
git checkout v6
git merge upstream/v6
git pull --rebase upstream v6

I create local branch using below command
git branch issue-3688 v6

git pull
git checkout issue-3688
git rebase v6

Now, when I publish my branch, I see 486 files changed.
Can you please guide me, where am I going wrong?
Thank you

Hi @SmitaNachan
Could you try something like this?

// When done:
// Check in and commit all your changes

git push origin issue-3688

Hi @milanholemans
I tried the steps, as you suggested. However, still I can see 486 files changed

Hi @milanholemans
Sorry, please ignore my previous message. Your steps worked.
My bad. I was pointing the main branch instead of v6.
Thank you for your quick help on this.

Hi @milanholemans Sorry, please ignore my previous message. Your steps worked.
My bad. I was pointing the main branch instead of v6. Thank you for your quick help on this.

Awesome to hear it worked!

Hi @milanholemans
PR https://github.com/pnp/cli-microsoft365/pull/3804 is raised with just 6 files changed. 😊
Closing this one. Thanks for your support on this one!


WIP: support marshaling error responses into go error for error responses from ES

Wanted to get this up for initial review on implementation and if see if
this change would be considered in the first place. Also want get some
more general guidance contributing to this repo. Such as:

Proper way to put up changes for the different ES versions this package provides
How to test with these generated functions?

Hey, the idea itself makes a lot of sense, but I'm afraid it has to be implemented rather differently.
First of all, the contract of the client is that "we never parse the body" — and here that contract would be broken. I think I've had something similar in the preliminary sketches of the client, but ultimately removed it.
Second, this subtly changes the semantics of the res, err tuple being returned: suddenly, a perfectly fine HTTP response is converted to a Go error. The idea behind the current return values is that err indicates a true error on the transport layer (connection refused, no connection, retries exhausted, ...), and when a response is, in fact, returned from Elasticsearch, this is passed on to the calling code to deal with it. Of course, it's a matter of perspective whether eg. a 500 response constitutes an "error" (an "exception" in another language) or no, but I still think this semantical difference is the best practical solution.
Third, there's definitely a valid argument for a structured "error response" being returned. However, I see it more like the (*esapi.Response).String() method — a kind of helper, which would parse the response body into a Go struct, for a more convenient handling in the calling code. I'm not entirely sure on the naming for that, though.

Hi @zaquestion , should I close the PR?

@karmi Hey, sorry haven't gotten back, if we could leave it open I've got a couple ideas for alternate implementation after chatting with some go friends at elastic. Will describe here and if we can settle on something will modify in this PR.
While I still believe client APIs should return any error related to the API and not just transport errors. Particularly since go favors all handling through its error values and choicefully does not implement exceptions. That said...
We could instead support:
func (r *Response) Error() error {
    if !r.IsError() {
        return nil
    }
    ... comparable marshaling to the current implementation in this PR ...
}

This way the API calls will only return transport errors and API errors can be easily checked and interacted with as errors, which would also obviate the need for excessive type assertion to get these values.
Not sure on any other alternatives at the moment, but open to suggestions if we can find something that works.

Hey, sure, we can keep the PR open. I'll be off the grid in August, so I might not see the updates soon.

While I still believe client APIs should return any error related to the API and not just transport errors. (...)

I'm afraid I don't know what that means, specifically. Maybe you can refine it a little bit?
Also, as I said, changing the semantics to something like "res is a response, if it's eg. a 200 OK, otherwise it's nil and the actual response is in err" is not something I would accept lightly — I consider the current distinction between res and err to work great, in my own applications and examples. I would say it respects the general Go semantics for error handling rather well.
Take this example: https://github.com/elastic/go-elasticsearch/blob/ea052088db25bb87db9ce22b8191a5205665ee99/_examples/main.go#L81-L99
Perhaps when you play with a concrete, nontrivial example like this one, it will help to guide the implementation. Notice how that example — as many others in the repository — handles separately the case of "error getting a response" versus "got an error response".
With all that said, I'll say again that something like (*esapi.Response).ParsedError() (not sure about the naming yet) is definitely on my TODO list — error response structures are rather stable in Elasticsearch, so it would be possible to provide a convenient accessors for them, compared to other responses.


Fixed #22669 -- Fixed QuerySet.bulk_create() with empty model fields on Oracle.

This is a simple solution to fix this bug.
The more complex is to generate all parameter for query with input_size attribute. But it meens that all functions get_db_prep_value in Field's classes would need to call some function in DatabaseOperations instance like DateTimeField do:
    def get_db_prep_value(self, value, connection, prepared=False):
        # Casts datetimes into the format expected by the backend
        if not prepared:
            value = self.get_prep_value(value)
        return connection.ops.adapt_datetimefield_value(value)

Please apply this PR or kick me in the right direction. This bug is open for two years and I'm sick of it. Thank you!

buildbot, add to whitelist.

I had a mistake, please let me 15 minutes to fix it..

buildbot, test on oracle.

Call get_internal_type on target_field attribute if it's exists.

buildbot, test on oracle.

local tests in oracle was successful this time

@shaib, any high level thoughts on this?

At a high level, LGTM.

After working with tests I realized that:

AutoField doesn't needed because its isn't listed in query params
Types VARCHAR2, NVARCHAR2, NCLOB, INTERVAL DAY(9) TO SECOND(6) doesn't conflicts with NULL. I left fields with this db_types in test in case of future changes, and I removed redundant sql-conversion functions

everything is fine?

You can squash commits when updating (except for my comment about making the extra tests a separate commit) and uncheck "Patch needs improvement" on the ticket so that it returns to the review queue.

@mnach, do you have time to finish this?

Sorry for delay! I will continue tomorrow

buildbot, test on oracle.

merged in c4e2fc5d9872c9a0c9c052a2e124f8a9b87de9b4, thanks!

Thank you!

Any chance of including this fix in Django 1.11? bulk_create worked fine in our project in Django 1.10, but is failing in 1.11 with DatabaseError: ORA-00918: column ambiguously defined for certain models. I'm still trying to determine what distinguishes the models where bulk_create fails from where it succeeds, but manually patching this patch to Django 1.11 resolves the issue.


[DataFmt] Fix formatting of bridged CFStrings

The formatter for Swift strings called CreateValueObjectFromAddress in
order to construct a ValueObject for bridged strings. In an unknown set
of cases, this API call can accidentally dereference the payload, giving
an invalid ValueObject that the NSString summary provider doesn't
understand.
Address the issue by making sure the address is never dereferenced when
constructing the ValueObject for bridged strings. As a follow-up, there
is a radar to investigate why the accidental dereference occurs
(r://39741576)
rdar://39710387

@swift-ci test and merge

@swift-ci test and merge

@swift-ci test and merge

Your comment doesn't make sense.  ValueObjectCreateFromAddress doesn't randomly add a dereference in some cases.  It always makes takes makes a Value of the incoming type starting at the address given.
What really seems to be the problem here is that what we previously thought was a pointer to the backing NSObject is really a pointer to a box containing the backing NSObject.  Your fix really just adds that extra level of dereference.  You could have gotten the same effect by reading a pointer from the address you found and passing that to CreateValueFromAddress.
We need to understand why we misunderstood the layout of these classes.  If it was just something that changed in the layout, then that's fine, add the dereference however is convenient.  But the problem was never some oddity in ValueObjectCreateFromAddress.  It was a misunderstanding of the object layout.

You're right. I've made a not to get rid of the comment and document the ...FromAddress API.


Removal of automatically added 'query' parameter for entries subpath

References
Add references/links to any related issues or PRs. These may include:

Fixes #2954

Description
This PR removes the automatically added "query" parameter that is prepended on the REST API's link to the entries. This makes sure that the related Angular UI doesn't add it's own 'query' parameter, resulting in two query params -> Breaking the functionality
Instructions for Reviewers

In the ExternalSourceHalLinkFactory, the link was created using the buildLink method rather than the previously used getMethodOn() method

The reason for this is that the link generated by spring getMethod on and will add the mandatory param automatically

The tests were added to make sure that the JSON path contains the entries link without the query parameter

To reproduce this, go to an externalsources endpoint (ie, server/api/integration/externalsources/orcidV2), and check out the entries link returned by that response. This should NOT include the query parameter
Include guidance for how to test or review your PR. This may include: steps to reproduce a bug, screenshots or description of a new feature, or reasons behind specific changes.
Checklist
This checklist provides a reminder of what we are going to look for when reviewing your PR. You need not complete this checklist prior to creating your PR (draft PRs are always welcome). If you are unsure about an item in the checklist, don't hesitate to ask. We're here to help!

[x] My PR is small in size (e.g. less than 1,000 lines of code, not including comments & integration tests). Exceptions may be made if previously agreed upon.
[x] My PR passes Checkstyle validation based on the Code Style Guide.
[x] My PR includes Javadoc for all new (or modified) public methods and classes. It also includes Javadoc for large or complex private methods.
[x] My PR passes all tests and includes new/updated Unit or Integration Tests based on the Code Testing Guide.
[x] If my PR includes new, third-party dependencies (in any pom.xml), I've made sure their licenses align with the DSpace BSD License based on the Licensing of Contributions documentation.
[x] If my PR modifies the REST API, I've linked to the REST Contract page (or open PR) related to this change.

@jonas-atmire and @abollini : Just adding a quick note here.  At a glance, I think @abollini is correct, that ideally this should be a templated URI/link.  For reference, we do have a few examples of templated links in the codebase already...namely these two endpoints:

/api/dso/find{?uuid} - which is implemented in UUIDLookupRestController with tests in UUIDLookupRestControllerIT
/api/pid/find{?id} - which is implemented in IdentifierRestController with tests in IdentifierRestControllerIT

However, I'll admit, I also do not know how the Angular UI will handle this sort of change. In other words, if we update these links to be of the form /api/integration/externalsources/orcidV2{?query}, will the UI be able to properly add in the query param similar to the above endpoints?
@jonas-atmire would you be able to investigate this further to see what this would take & possibly provide an estimate? It may also be good to touch base with @artlowel to get his feedback.
Overall, I agree with @abollini that this PR is "ok"....but it's not entirely aligned with Spring HATEOAS.  My preference would be to align with Spring HATEOAS if possible...however, if this effort will require major work, we could schedule this cleanup (in a separate ticket) for a later date (e.g. for 7.1 or 7.2).

@abollini / @tdonohue
I've checked this with @artlowel, and he mentions that this also would require additional Angular related work to handle this. (while mentioning that this is a good solution 😉 )
This requires some additional work, since, for the previous example mentioned by Tim /api/dso/find{?uuid}, a custom 'find/replace' is used in Angular that handles this.
Simply updating the 'ExternalSourceHalLinkFactory' would need updates in the related Angular code.
IMO: We should avoid 'handling' this for this specific case, but rather, create a separate issue that takes a deep dive into the possibilities of the templated URIs, where they are used, the possible pitfalls, and any other related improvement that we could come across.
To avoid possibly going over it too fast while estimating, and missing possible problems I'll create 2 new issue so we can follow up on this separately from this PR (So we already can get the current problem out of the way for the time being)
Please note that I have simply currently created WIP issues, so if anyone knows of more specific use cases that we could take up in those issue, feel free to add them accordingly:

https://github.com/DSpace/dspace-angular/issues/980
https://github.com/DSpace/DSpace/issues/3108

@abollini / @tdonohue
I've checked this with @artlowel, and he mentions that this also would require additional Angular related work to handle this. (while mentioning that this is a good solution 😉 )
This requires some additional work, since, for the previous example mentioned by Tim /api/dso/find{?uuid}, a custom 'find/replace' is used in Angular that handles this.
Simply updating the 'ExternalSourceHalLinkFactory' would need updates in the related Angular code.
IMO: We should avoid 'handling' this for this specific case, but rather, create a separate issue that takes a deep dive into the possibilities of the templated URIs, where they are used, the possible pitfalls, and any other related improvement that we could come across.
To avoid possibly going over it too fast while estimating, and missing possible problems I'll create 2 new issue so we can follow up on this separately from this PR (So we already can get the current problem out of the way for the time being)
Please note that I have simply currently created WIP issues, so if anyone knows of more specific use cases that we could take up in those issue, feel free to add them accordingly:

https://github.com/DSpace/dspace-angular/issues/980
https://github.com/DSpace/DSpace/issues/3108

I'm ok with this solution for the specific issue and dealing later with the uri link template. Thanks @jonas-atmire to have investigate and created the issues for that

I'm ok with this solution for the specific issue and dealing later with the uri link template. Thanks @jonas-atmire to have investigate and created the issues for that


Feature Request: Monitor time span of wsgi calls

Hey
There is a type of attack on webservers called regular expression DOS:
https://www.owasp.org/index.php/Regular_expression_Denial_of_Service_-_ReDoS
It uses the fact, that re engines may take a lot of time for processing certain regular expression/string combinations. Using these with bottle e.g. by specifying /<name:re:(x+x+)+y> as URL pattern and requesting /xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx from the server result in the server getting stuck.
Do you think it might be useful to create an option, where the wsgi() call of Bottle objects is implemented as a new process started and the time used by this process is monitored? Do you see huge drawbacks in e.g. overhead?
I tried to do such an implementation just for the regular expression module. I created a class, which objects have the same interface like the re module, but calls like re.match() are embedded in the runtime checks. In bottle.py, you create one of these objects  and call it re instead of importing re.
Wrapping just the regular expressions into some time monitoring has less side effects than wrapping the complete wsgi() call. But on the other hand, I had a huge problem with passing the return values of the re functions from the created process to the calling one. Objects transferred using multiprocessing.Pipe() need to be pickable. The objects returned by re.match() are not pickable, I had to write a class, which has the same interface like the match objects, but which is pickable. So the code became ugly.
I had to use processes instead of threads, because you can kill processes in a clean manner. Threads have no terminate() method.
I tried to do such an implementation just for the regular expression module. I created a class, which objects have the same interface like the re module, but calls like re.match() are embedded in the runtime checks. In bottle.py, you create one of these objects and call it re instead of importing re.
Wrapping just the regular expressions into some time monitoring has less side effects than wrapping the complete wsgi() call. But on the other hand, I had a huge problem with passing the return values of the re functions from the created process to the calling one. Objects transferred using multiprocessing.Pipe() need to be pickable. The objects returned by re.match() are not pickable, I had to write a class, which has the same interface like the match objects, but which is pickable. So the code became ugly.
I had to use processes instead of threads, because you can kill processes in a clean fashion. Threads have no terminate() method.
I appended this wrapper class, the pickable match class and a small test script.TimeGuardExample.zip
Do you thing the wrapping of whole Bottle.wsgi() is a good idea?

Do you think it might be useful to create an option, where the wsgi() call of Bottle objects is implemented as a new process started and the time used by this process is monitored? Do you see huge drawbacks in e.g. overhead?

Sure. Creating a new process per request is an enormous overhead, and it does not solve the problem. Even if you could monitor and detect malicious requests and kill the process, the harm is already done and blacklisting IPs does not help at all against a serious attack. The best you can do is to detect and filter malicious requests before they reach the application server. The second best thing is to have enough redundancy and just kill unresponsive server instances (uWSGI already does this). Or to not have vulnerable regular expressions in request routes in the first place, of cause.
Any non-trivial web application is easy to ddos. Sending requests is cheaper for the attacker than computing the result for the server, especially if a database is involved. You don't need vulnerable route expressions for that.

Hmm yes you are right. Especially that the attack already happened when it is detected that way. Thank you.


Fix #710 – Calling wrenEnsureSlots before wrenInterpret causes apiStack to become invalid

This PR fixes #710.
I am not sure if this causes memory leaks or not. As far as I know, the fiber should somehow be freed, but I can't tell how. Valgrind does report some problems, but they seem unrelated to this issue.
This does not include any tests, because I have no idea how the test system works. If anyone can explain it to me, I'd be more than happy to create a test for this.

Superseded by #730.


Switch to dependency-groups for dev dependencies

Following https://github.com/renovatebot/renovate/pull/32148, I believe renovate will still be able to update these dependencies

Actually I think it's too soon to do this. AFAIU, it's only uv that currently supports this, and I don't really want to say that you have to use uv to be able to install dev dependencies/contribute to the project.


Exclude Joyreactor domains from porn list and move to social

Can you please move following domains from porn to social:
img10.joyreactor.cc
img10.reactor.cc
joyreactor.cc
reactor.cc
The site is more social than porn and has an NSFW filter.
Also following domains then should be added to social:
joyreactor.com
img2.joyreactor.com

Thank you for this @TheJzuken.
Ping @sinfonietta, for re-evaluation since these domains come from your porn list.


LaTeX_envs: update paths + a define wrapper

Updated relative paths in latex_envs.js and bibInNb4.js
suppressed a function definition in initNb.js

in order to address #643.
Unfortunately, relative paths didn't worked. It would be useful to get something like that working in order to avoid hardcoding paths.
The define function in initNb masked the local functions in that file, that have to be exposed more globally.

Also suppressed two unnecessary files

Unfortunately, relative paths didn't worked. It would be useful to get something like that working in order to avoid hardcoding paths.

Yep, I forgot that in order for files to work from relative paths, the require statements have to be from within a require/define call themselves.

The define function in initNb masked the local functions in that file, that have to be exposed more globally.

Right. These should be exported from the define call in a similar method to the load_ipython_extension for the main extension file.

Ok, I'll merge this now. It will reopen something like #619 (latex_envs doesn't work with custom base_url because of hardcoded paths), but I figure that that will be a problem for fewer people than this...


pd: allow bundling the web frontend into the fullnode

This is an experiment towards bundling the web frontend code into the fullnode, with the goal that users who run pd nodes can self-host a complete Penumbra frontend, on their custom domain with auto-HTTPS, with just one command: pd start.

To do this, we

add a new zipserve module in pd, which takes a &'static [u8] with archive data and produces an axum::Router;
bundle an assets/frontend.zip (tracked with git-lfs) into the pd crate;
use axum::Router::merge to combine the GRPC and frontend endpoints.

To make this work for real, we'd need to:

[ ] Fix up the auto-HTTPS support so that it can work directly with Axum, rather than Tonic;
[ ] Change the frontend code so that all URLs are relativizable to an arbitrary prefix (we want to have it at /app when served in pd, to allow a status page, but / when at app.testnet.penumbra.zone or other deployments);
[ ] Create a process to regenerate assets/frontend.zip from the web repo periodically and check the result into the repo (under LFS).

These seem pretty doable, and it'd be really cool to be able to have easily self-hosted frontends!

opened #3646 to track landing this feature.

Great! I have a rebase of this branch in progress, I'll pick it up next.

Here's a video of this code in action:
https://github.com/penumbra-zone/penumbra/assets/44879/1697c681-4b09-4cf8-b655-c94356eb56fd
Note that sending a transaction fails because the web extension hasn't been updated to the new proving parameters. However, it otherwise seems to work!


Update MinIO Operator to version 2.0.1

Signed-off-by: Nitish Tiwari<EMAIL_ADDRESS>Thanks submitting your Operator. Please check below list before you create your Pull Request.

Flat operator directory structure is obsolete from 23-rd of October 2019, only nested directory structure will be accepted.

New Submissions

[ ] Does your operator have nested directory structure?
[ ] Have you selected the Project Community Operator Submissions in your PR on the right-hand menu bar?
[ ] Are you familiar with our contribution guidelines?
[ ] Have you packaged and deployed your Operator for Operator Framework?

[ ] Have you tested your Operator in all supported installation modes?
[ ] Is your submission signed?

Updates to existing Operators

[x] Is your new CSV pointing to the previous version with the replaces property?
[x] Is your new CSV referenced in the appropriate channel defined in the package.yaml ?
[ ] Have you tested an update to your Operator when deployed via OLM?
[x] Is your submission signed?

Your submission should not

[x] Modify more than one operator
[x] Modify an Operator you don't own
[x] Rename an operator - please remove and add with a different name instead
[x] Submit operators to both upstream-community-operators and community-operators at once
[x] Modify any files outside the above mentioned folders
[x] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[ ] Description about the managed Application and where to find more information
[ ] Features and capabilities of your Operator and how to use it
[ ] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[ ] Human readable name and 1-liner description about your Operator
[ ] Valid category name1
[ ] One of the pre-defined capability levels2
[ ] Links to the maintainer, source code and documentation
[ ] Example templates for all Custom Resource Definitions intended to be used
[ ] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here

@nitisht is this PR still valid? If yes, can you have a look at following error?
ERROR: crd spec.version not defined. [2.0.1/minioinstances.operator.min.io.crd.yaml]
ERROR: crd spec.version not defined. [2.0.1/mirrorinstances.operator.min.io.crd.yaml]
WARNING: MirrorInstance CRD does not have an entry in alm-examples - please add such an example CR. [174823a5-8a2a-4635-bb14-8db57368e9fb/minio-operator.package.yaml]
Resulting bundle is invalid, input yaml is improperly defined.

/test CVP


missing title tags in blogs

the blogs don't have a title set which looks a bit ugly to the eye. A simple Codedex Blog or the title would look cool too.

If possible, I want to help fix this and contribute!

This should be fixed! Closing! 🙏


Refresh status binding

Some kind of binding to have a programmatic ability to refresh content or just set view to refresh state
My use case is for when you refresh in subview but navigate back and navigate again to subview but refresh is no longer show
Task is launched in global ObservableObject to avoid stopping or losing progress since it's refreshing a lot of item

@gh123man is it possible to add


fix(scripts): issues with configuring typescript

Small issues that cropped up during actual installation of projects to do with paths to node_modules and working directories. Discovered when setting up tablekit-v3.
Small feature added to the precommit to validate lerna sub-package versions all match up.

📦 Published PR as canary version: Canary Versions

:sparkles: Test out this PR locally via:
npm install<EMAIL_ADDRESS>npm install<EMAIL_ADDRESS>npm install<EMAIL_ADDRESS>npm install<EMAIL_ADDRESS># or
yarn add<EMAIL_ADDRESS>yarn add<EMAIL_ADDRESS>yarn add<EMAIL_ADDRESS>yarn add<EMAIL_ADDRESS>

:rocket: PR was released in<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>:rocket:


Trk btrx 278 group names already voted

Notes to use this new end-point:
This end-point works only for Admin users. It should be use it via a REST client, such as Postman.
What it's needed?

Admin user token
point to /api/consents/group-name/
Headers: Accept: application/json Authorization: Bearer token_admin Content-Type: multipart/form-data
Body of the request: Key -> data; Value -> file

The info of the group names comes from the ORSP db. Run this query:
select  dur.vault_consent_id as consentId, i.summary as groupName
from issue i
inner join data_use_restriction dur on dur.consent_group_key = i.project_key
where i.type = 'Consent Group'
and dur.vault_export_date is not null;

Export to csv file. This file should be exported to JSON with the following format:
[
    {
        "consentId": "testId",
        "groupName": "lorem ipsum / 123"
    },
    {
        "consentId": "testId2",
        "groupName": "lorem ipsum / 124"
    },
    {
       "consentId": "testId3",
       "groupName": "lorem ipsum / 125"
    }
]

The result of this last export is the file that the end-point can process.

[x] Submitter: Include the JIRA issue number in the PR description
[ ] Submitter: Make sure Swagger is updated if API changes
[x] Submitter: Check documentation and code comments. Add explanatory PR comments if helpful.
[x] Submitter: JIRA ticket checks:

Acceptance criteria exists and is met
Note any changes to implementation from the description
Add notes on what you've tested

[ ] Submitter: Update RC_XXX release ticket with any config or environment changes necessary
[ ] Submitter: Update FISMA documentation if changes to:

Authentication
Authorization
Encryption
Audit trails

[ ] Submitter: If you're adding new libraries, sign us up to security updates for them
[ ] Tell the tech lead (TL) that the PR exists if they wants to look at it
[ ] Anoint a lead reviewer (LR). Assign PR to LR

Review cycle:

LR reviews
Rest of team may comment on PR at will
LR assigns to submitter for feedback fixes
Submitter rebases to develop again if necessary
Submitter makes further commits. DO NOT SQUASH
Submitter updates documentation as needed
Submitter reassigns to LR for further feedback

[ ] TL sign off
[ ] LR sign off
[ ] Product Owner sign off
[ ] Assign to submitter to finalize
[ ] Submitter: Verify all tests go green, including CI tests
[ ] Submitter: Squash commits and merge to develop
[ ] Submitter: Delete branch after merge
[ ] Submitter: Test this change works on dev environment after deployment. YOU own getting it fixed if dev isn't working for ANY reason!
[ ] Submitter: Verify swagger UI on dev environment still works after deployment
[ ] Submitter: Inform other teams of any API changes via hipchat and/or email
[ ] Submitter: Mark JIRA issue as resolved once this checklist is completed

Coverage decreased (-0.08%) to 61.603% when pulling 94395e1bcb5237138cefb44ce1338591b9c38523 on trk-BTRX-278-GroupNamesAlreadyVoted into 5aa2f8d21a447f912b4bc1bd0f8ef317ad369b68 on develop.

Coverage decreased (-0.08%) to 61.603% when pulling 94395e1bcb5237138cefb44ce1338591b9c38523 on trk-BTRX-278-GroupNamesAlreadyVoted into 5aa2f8d21a447f912b4bc1bd0f8ef317ad369b68 on develop.