bug(broker): fail to group by after groovy extraction when upgrading to 0.11

Slack ref: https://apache-pinot.slack.com/archives/C011C9JHN7R/p1668446311267249
We just upgraded to 0.11 from 0.10 and some of previously working queries started to fail:
SELECT groovy('{"returnType":"STRING","isSingleValue":true}', 'arg0.toList().join('';'')', JSONEXTRACTKEY("labels", '$.*')) FROM datasource_609bc534f46c000300b29dcf_REALTIME WHERE (("timestamp" >=<PHONE_NUMBER>565)) AND "labels" != '{}' GROUP BY 1 LIMIT 0,100

Yield:
[
  {
    "errorCode": 200,
    "message": "QueryExecutionError:\njava.lang.NullPointerException"
  },
  {
    "errorCode": 200,
    "message": "QueryExecutionError:\njava.lang.NullPointerException"
  }
]

In the broker log:
2022/11/14 17:06:15.764 INFO [BaseBrokerRequestHandler] [jersey-server-managed-async-executor-76] requestId=64701,table=datasource_609bc534f46c000300b29dcf_REALTIME,timeMs=50,docs=60000/374868,entries=204226/60000,segments(queried/processed/matched/consumingQueried/consumingProcessed/consumingMatched/unavailable):4/4/4/1/1/1/0,consumingFreshnessTimeMs=1668393656448,servers=2/2,groupLimitReached=false,brokerReduceTimeMs=0,exceptions=2,serverStats=(Server=SubmitDelayMs,ResponseDelayMs,ResponseSize,DeserializationTimeMs,RequestSentDelayMs);<IP_ADDRESS>_R=0,48,307,0,-1;<IP_ADDRESS>_R=0,42,299,0,-1,offlineThreadCpuTimeNs(total/thread/sysActivity/resSer):0/0/0/0,realtimeThreadCpuTimeNs(total/thread/sysActivity/resSer):0/0/0/0,clientIp=unknown,query=SELECT groovy('{"returnType":"STRING","isSingleValue":true}', 'arg0.toList().join('';'')', JSONEXTRACTKEY("labels", '$.*')) FROM datasource_609bc534f46c000300b29dcf_REALTIME WHERE (("timestamp" >=<PHONE_NUMBER>565)) AND "labels" != '{}' GROUP BY 1 LIMIT 0,100

However the query works if we remove the GROUP BY 1 but thats doesn't get the correct result anyway. I suspect that comes from the groovy part but again this was working previously in 0.10

@vmarchaud Can you try to add the Pinot controller/server config and check if it works after that? From 0.11.0, I believe that the default behavior is to disable Groovy functionality due to the security concern.
# Enable Groovy globally on Pinot broker
pinot.broker.disable.query.groovy=false

# Enable Groovy globally on Pinot controller
controller.disable.ingestion.groovy=false

@snleee Yeah i saw that in the changelog and i've re-enabled groovy, it actually gives another error if it's not enabled.

@vmarchaud Can you post the server side log to check where we get the NullPointerException?

@snleee I only get the following line:
nov. 17 19:49:36 pinot-hosts-3 bash[13646]: 2022/11/17 19:49:36.307 ERROR [BaseCombineOperator] [pqw-10] Caught exception while processing query: QueryContext{_tableName='datasource_609bc534f46c000300b29dcf_REALTIME', _subquery=null, _selectExpressions=[distinct(groovy('{"returnType":"STRING","isSingleValue":true}','arg0.toList().join(';')',jsonextractkey(labels,'$.*')))], _aliasList=[null], _filter=(timestamp >= '1667833781565' AND labels != '{}'), _groupByExpressions=null, _havingFilter=null, _orderByExpressions=null, _limit=100, _offset=0, _queryOptions={responseFormat=sql, groupByMode=sql, timeoutMs=10000}, _expressionOverrideHints={}, _explain=false}
nov. 17 19:49:36 pinot-hosts-3 bash[13646]: java.lang.NullPointerException: null

Actually this is not an aggregation group-by. Is the intention to get the distinct values? It didn't fail in 0.10.0 probably because the GROUP BY is ignored?
To get the stack trace, can you try restarting the server and then issue the same query again?

Is the intention to get the distinct values?

Yes it is.

It didn't fail in 0.10.0 probably because the GROUP BY is ignored?

Well we do get distinct values with 0.10, if i remove the group by on 0.11 i do get a result but not distinct.

To get the stack trace, can you try restarting the server and then issue the same query again?

Thanks for the tip to restart it, here's the error:
QueryExecutionError:\njava.lang.NullPointerException
org.apache.pinot.core.operator.transform.function.JsonExtractKeyTransformFunction.transformToStringValuesMV(JsonExtractKeyTransformFunction.java:90)
org.apache.pinot.core.operator.transform.function.GroovyTransformFunction.transformToStringValuesSV(GroovyTransformFunction.java:430)
org.apache.pinot.core.operator.docvalsets.TransformBlockValSet.getStringValuesSV(TransformBlockValSet.java:161)
org.apache.pinot.core.query.distinct.raw.RawStringSingleColumnDistinctOnlyExecutor.process(RawStringSingleColumnDistinctOnlyExecutor.java:44)

NPE is here but i'm not sure to understand how this can throw a NPE ...

Wow, it is a bug.. Notice the second one is SV instead of MV..
    if (_stringValuesMV == null || _stringValuesSV.length < length) {

@Jackie-Jiang Thanks for the quick fix ! Wondering if you have a idea for the next release ? I don't expect it to be in the next two week but asking anyway, i'll do my own build if thats too far

@vmarchaud We'll probably cut the next release late Dec. or early Jan.


Installing graphicsmagick and imagemagick for the dmg icon generation in Github Actions  is unbearably slow

I integrated your create-dmg tool into my github actions workflow:
https://github.com/bjesuiter/macos-file-summoner/blob/master/.github/workflows/go.yml
However, when installing imagemagic and graphicsmagick, the automated build takes ages longer than without them, because they are so big.
I tried to combat this by using gihub cache actions and caching the homebrew cache dir, but since this thing has 2,4 gb this is also painfully slow.
Could you implement another solution which is more lightweight to update this dmg icon?

Please see this run of the workflow for checking homebrew cache sizes and timings:
https://github.com/bjesuiter/macos-file-summoner/runs/789695326?check_suite_focus=true
(This run threw an error because of a missing code signing identity, but I simply forgot to load my dev identity there)

Yes, it could be implemented as a simple Swift binary using CoreGraphics. However, it’s not something I have time to work on, but pull request welcome.

Thanks for looking into the issue! Unfortunately, I don't have any experience with swift, I recently started with this File Summoner App written in go and packaged manually as MacOS App Package.
But maybe this can be my starting point with swift 👍


Improve logging for external resources

Improve the logging for the external resources processed in the hxl.input module:

pass a JSON object up and down the functions in the module to accumulate information, starting with either data() or make_input()
catch exceptions, add the JSON info, and re-raise
log an info message at the end of successfully opening the resource with the info in the JSON object

The goal is for the HXL Proxy to be able to capture this information and log it more granularly. Information to capture includes the following:

external URL
status code returned by external (if any)
MIME type returned by external server (if any)
content size returned by external server (if any)
detected file extension (if any)
computed data type (may differ from MIME type)
computed data size (Excel files only)
computed download time (Excel files only)

The HXL Proxy application layer can add the IP address making the request and other server-layer information.

Info on how to do this: https://stackoverflow.com/questions/11232230/logging-to-two-files-with-different-settings

Added second logger "hxl.REMOTE_ACCESS" with basic messages about remote URL access. Will add the Javascript stuff in a future release if needed, but this provides the basics of what the HXL Proxy is trying to open and what responses it gets.

@davidmegginson Is there a PR that the ops team can review to make sure it will be sufficient? I'm not sure what the "javascript stuff" is that you're referring to so I'm not sure how to provide feedback on this...

Apologies, I meant JSON. Collecting multiple points of information into a json structure is a big piece of work, that @danmihaila  will have to triage; I put this small fix in place so that we will at least have the ability to see in the logs what external URLs are being accessed and what status codes are being returned.


Use directory-service instead of search-service

directory-service will provide us with more metadata, specifically OrcIDs, that will be useful for ScholarSphere: https://github.com/psu-libraries/scholarsphere/issues/518 .
FYI directory-service requires an API token.

I have put in another request to EIT to get access to this API so we can noodle around

Just a thought, instead of using directory-service instead of search-service, we implement a new class DirectoryService and wrap it in similar methods that search-service has? might seem a bit duplicative but the gem could house a lot of psu's identity apis?

Yeah, I think that's actually how Adam envisioned it.

#17


Question or FR? : Add local image

Thanks for your plugin! I didn't manage to add a local image to the slide, could you please help on this?

@AndyLiu9
Thank you for your comment.
The only solution in the current situation is to insert images with absolute paths as follows.
![](app://local/C:/Users/user/Pictures/picture.png)
However, it is not a best practice because of the following problems.

Relative paths cannot be used, making descriptions redundant.
If Obsidian Sync is used across multiple devices, the absolute path of the vault may be different for each device, which may break the link.
When exporting to PDF or other formats, local images cannot be accessed for security reasons (at least in HTML), so nothing is displayed.

The following method may allow images in the vault to be displayed as relative links and exported with the image data included.

Before passing Markdown content to marp-core, parse the image description, convert it to Bsae64 format, and embed it in the file.

This may not be a good idea because the content to be passed to marp-core will be larger, but it may be necessary when exporting to formats other than HTML.

Parsing HTML output from marp-core, convert src of <img> tag to Bsae64 format, and embed it in the file.

This is probably faster, but can only be used for HTML.

Please give me some time to try and implement this.
Also, if you have any ideas, please let me know!

Thanks for your detailed explanation! Will keep an eye on future updates. 👀

@AndyLiu9
I have released version 1.0.2 which fixes this problem!
Check it out: https://github.com/JichouP/obsidian-marp-plugin#embed-images
Inserting images is an important part of the slide structure, and since it is generally necessary to export the slides when they are used, we have implemented them as embedded in Base64 format for the time being.
However, for performance reasons, the preview only converts relative paths to absolute paths.
If you encounter any further problems, please create a new issue!


negative unmatched energy

@EllieKallmier just a reminder to discuss how the unmatched energy is used in the optimisation.
Looks to me like it can go negative in intervals where there is an oversupply of renewables, and this could allow netting off in the unmet_cfe_score constraint. Anyway, just want to check that I'm understanding things correctly.

I think the lower bound in definition of the unmatched variable being set to zero should stop this - the check at the bottom of the function (lines 127-130) should flag whether that variable is being calculated correctly. Let me know if this still isn't looking right to you.


Date.parse should return a Double, not an Int

Hi,
In library/src/main/scala/scala/scalajs/js/Date.scala, the parse method of the Date object is declared as returning an Int. This should be changed to Double.

@michelschinz  Out of curiosity, why Double and not Long?

Because Long is an opaque type: it doesn't map to any JavaScript type.

...and because parse returns NaN in case of error.

Oh, I didn't even know that ^^


Allow the user to override winget's locale setting

I moved this from a comment to its own issue because it seems to be unique enough to warrant a dedicated feature request.
Description of the new feature/enhancement
I'd like to override the winget locale to change its output language. My OS locale is not English so localized tools make it more difficult to post tutorials and posts for an international audience on my tech blog. This would also help you as developers to get output for bug reports in a language that you can understand.
Proposed technical implementation details (optional)
I'd be really happy if you added an environment variable that would enable me to override the winget locale (like LANG=en_US.UTF-8 <command> or LC_MESSAGES en_US.UTF-8 <command> in Linux):
https://www.gnu.org/software/gettext/manual/html_node/Locale-Environment-Variables.html

For example, assume you are a Swedish user in Spain, and you want your programs to handle numbers and dates according to Spanish conventions, and only the messages should be in Swedish. [...] [S]et the LANG variable to es_ES.UTF-8 and the LC_MESSAGES variable to sv_SE.UTF-8 [...].
LC_ALL is an environment variable that overrides all of these. It is typically used in scripts that run particular programs. For example, configure scripts generated by GNU autoconf use LC_ALL to make sure that the configuration tests don’t operate in locale dependent ways.

Other options could include a winget command line parameter though that would need to be provided on every winget call.
A third option is to store it in the proposed JSON configuration (#416) to have a means of persisting the locale override.

Might be related to #396 Settings Command.

[Policy] Area-Settings

I'd very much like this


[C++] ARROW_PYTHON misses ARROW_ACERO dependency

Describe the bug, including details regarding any error messages, version, and platform.
PyArrow wants it.
Component(s)
C++

This is needless because ARROW_PYTHON depends on ARROW_ACERO implicitly: ARROW_PYTHON -> ARROW_DATASET -> ARROW_ACERO


Type with "Companion" name causes compile error

Version
3.7.3
Summary
When a graphql schema contains a type with the name "Companion" it causes the project to not compile.
Steps to reproduce the behavior

Create a schemea with a type named "Companion" ex:

type Companion{
   name: String
}

Compile the project

Logs
Conflicting declarations: public companion object, public final data class Companion

Thanks for raising this 🙏 . We'll add auto escapes rules for that. In the meantime, you can workaround by using @tragetName (source)
Add an extra.graphqls file next to your schema with these contents:
extend type Companion @targetName(name: "Companion_")

That should use Companion_ in the generated code. Hope this helps, let us know if that did!

Hi, thank you for responding so quick!
I've tried your solution but it didn't work, the same error appears on compilation. Do you think it may be related to having various schemas in the project?
This is an example of the folder structure I have with two schemas: one with a "Companion" type. I added the exta.graphqls file to the folder with the service2 schema, which is the schema that has the problem.
graphql/
├─ service1/
│  ├─ service1schema.graphqls
├─ service2/
│  ├─ extra.graphqls
│  ├─ service2schema.graphqls

On my app build.gradle I have defined the two apollo schemas like this:
apollo {

    service("service1"){
        srcDir("src/main/graphql/service1")
        packageName.set("com.mo2o.melia.apollo.service1")
    }

    service("service2"){
        srcDir("src/main/graphql/service2")
        packageName.set("com.mo2o.melia.apollo.service2")
    }

}

I hope this helps! Thank you again!

Could it be that the issue is on a companion field (and not on the Companion type)? I don't have any issue with a class named Companion at the top level but indeed it fails if it's nested with another actual companion object.
Do you have anything like this in your queries?
query GetFoo {
  companion {
    bar
  }
}

If yes, then the workaround would be to use aliases in your query:
query GetFoo {
  companion_ {
    bar
  }
}

That's was it! Thank you for helping me!

Nice, thanks for confirming.
I'll keep this issue open to see if we can  auto-escape this


Update work-with-networks.md

Corrected a small formatting error.

Proposed changes

Unreleased project version (optional)

Related issues (optional)

Thanks, @tiilikainen :)


Discard .obj.vili cache when quitting Editor

Otherwise, you have to exit the engine to see changes in .obj.vili

You will have to look at : https://github.com/Sygmei/ObEngine/blob/master/include/Core/Script/GameObject.hpp
One of the way to do it would be to add a method to the GameObjectDatabase class which can empty the cache

Done in https://github.com/Sygmei/ObEngine/commit/6fec2fd03a346cdb9d331198f4bbd861068c8a2a


Reduce function calls to var's during requested column computation

Postgresql does not reduce some function calls in target list when used in union all queries. This change uses pull_var_clause() to detect Var's used in target list when detecting which columns should be returned for the query on cstore table.

We should change function's comment which says; "This function is unchanged from mongo_fdw."
It is not related with this change but here we have nested loop over columns of the table. It could be bottleneck when column count is high. We can remove duplicates with one loop and having a bool array or set to mark already added columns. It is up to you to decide if it is worth to effort.

I am not sure but is it possible to test new behavior?

Added user reported issue as test case

Looks good :ship:


Add example solution to large request body section

The current content for Avoid reading large request bodies or response bodies into memory describes the problem but does not provide suggestions for mitigation. This commit adds a link to other documentation that can help solve the large request body issue.

Hello @thomasdane ... That's not a solution to the problem. I would guess something more like a custom streaming approach. Also, that's a bit too specific for this doc. This is a general problem, not just pertaining to file uploads.
Ping @mjrousos ... and note Mike that in our upload large files scenario, I think the guidance violates the guidance you provide here. 🙈 ... We probably need an issue to address that in the topic if so, but idk who would have time to work it these days.


chore: export media_stream_impl.dart

Fixes: https://dart-lang.github.io/linter/lints/implementation_imports.html lint
Quick question, any other files that could be used and might need a export later?

LGTM


Contribute data to Episode endpoint

Reopened to include Season 3 Episodes
The /episode endpoint is currently in progress.
Contribute data for individual episodes of Final Space in the given schema.
Resource: https://final-space.fandom.com/wiki/Final_Space_Wiki
P.S. You can leave the field for img_url.
You can send a PR with the data in JSON format to the endpoint branch under episode folder.
Here is the schema for /episode endpoint:

Key
Type
Description

id
int
The id of the episode.

name
string
The name of the episode.

air_date
array
The air dates of the episode.

director
string
Director of the episode.

writer
string
Writer of the episode.

characters
array
List of characters who have been seen in the episode.

img_url
string (url)
Image from the episode.

[x]   Indicates that the data exists for that episode.

Here is the complete list of episodes we need data for

[x] Chaper 1

[x] Chaper 2

[x] Chaper 3

[x] Chaper 4

[x] Chaper 5

[x] Chaper 6

[x] Chaper 7

[x] Chaper 8

[x] Chaper 9

[x] Chaper 10

[x] The Toro Regatta

[x] The Happy Place

[x] The Grand Surrender

[x] The Other Side

[x] The Notorious Mrs. Goodspeed

[x] The Arachnitects

[x] The First Times They Met

[x] The Remembered

[x] The Closer You Get

[x] The Lost Spy

[x] The Set Up

[x] The Descent Into Darkness

[x] The Sixth Key

I would like to help, can you assign me this issue?

Ofcourse @GerryLarios
You can find the data here
https://final-space.fandom.com/wiki/Final_Space_Wiki
Let me know if have any questions.
Thanks 😊

Hello @lelouchB, where can I put the JSON with the episode's data?

Hey @GerryLarios
I am creating a new branch endpoint
You can send the PR to that branch.
You will find a folder named  episode  there. You can create the JSON file under it.
Thanks 😊

@lelouchB Thanks! Working on it

@GerryLarios  Amazing work 👍
Really appreciate it,
I will ping you once the endpoint is live.
Thanks

Hey @GerryLarios
I have shipped this to production
Here is the blog for the same
https://finalspaceapi.com/blog/episode/

Hey @GerryLarios
If interested, please let me know. Else I will re assign this issue to someone else.
Thanks


docs(README.md): add Pug name

Added a '/Pug' instead of rename Jade as a whole, due to the fact that Jade is now Pug.

I signed it!


Safety Rules SGX with Teaclave

Motivation
This PR sets up the basic framework to integrate safety rules with SGX using Teaclave Rust SGX SDK.
There are a few notable changes made to enable Libra code to run inside SGX with Teaclave:

Changes of directory structure: ( * means newly added)
consensus/
|--Makefile *
|--safety_rules/
| -- build.rs *
|--enclave/ *
| -- Enclave.edl
| -- Makefile

File explanation:

Makefiles: Teaclave works closely with Intel SGX SDK, which works with C. Hence Teaclave follows the same convention in using Makefiles to invoke functions Intel SGX SDK to process the enclave binary (e.g. take measurement and sign enclave). Two Makefiles are important:

consensus/Makefile: this is the main driver Makefile. It drives normal Cargo build to compile the non-enclave code for setting tup ECALLs/OCALLs in Rust API.
consensus/enclave/Makefile: this Makefile drives xargo to compile enclave code.

build.rs: the build script to make the non-enclave code link against enclave library

Enclave.edl: the file specifies each ECALL/OCALL!

Using Xargo: SGX is a different STD environment, which requires the Rust code to be linked against SGX libstd, i.e. sgx_tstd. Xargo is used here to achieve this goal, which automatically swaps the Rust STD with sgx_tstd at compile time. The usage of Xargo can be found in enclave/Makefile.

Updating dependencies for enclave code: Virtual Cargo.toml files are added to handle the proper dependencies needed by enclave code.
To work with SGX, all dependencies that rely on libc must be substituted with respective SGX-supported ones, e.g. serde -> serde-sgx. However due to Cargo limitation, one crate cannot have different source paths, even with conditional compilation (https://github.com/rust-lang/cargo/issues/2524) -- this makes in-place dependency modification of the crates impossible.

Virtual Cargo.toml solve this by pointing its library path to the original crate, while having a completely substituted dependency graph. A good example is the pair of common/lcs/Cargo.toml with its virtual one: sgx-deps/lcs/Cargo.toml.

All future virtual Cargo.tomls for SGX will be put under sgx-deps/ and enclave code use them to compile. This is demonstrated in enclave/Cargo.toml which relies on modified lcs in sgx-deps/lcs.

Additional code snippet must be added to the original crate's lib.rs to work with Xargo, shown below:

#![cfg_attr(
    all(target_env = "sgx", target_vendor = "mesalock"),
    feature(rustc_private)
)]

This allows Xargo to read the SGX libstd (e.g. sgx_tstd) from sysroot. Otherwise it will fetch from crates.io, although it's unclear what can go wrong if SGX libstds are fetched from crates.io.

What third-party dependencies are supported?

Those that support no_std (i.e. allows default-features=off) and do not rely on libc should compile out-of-box.
Those that support no_std but rely on libc might compile so long as sgx_trts implements its respective backend (e.g. libc::iovec is supported by sgx_trts).
Those that rely on Rust libstd but not libc might compile with minor code changes (e.g. SGX libstd asks the user to modify std::Mutex into std::SgxMutex manually so the user is aware of this)
Those that rely on Rust libstd and libc might compile with moderate code changes (i.e. need to handle both SGX version of libc and std)
Those that rely UNSUPPORTED features of SGX libstd (i.e. sgx_tstd) and SGX libc (i.e. sgx_trts) do not compile.

To embed inside currently LSR, the framework needs to setup a new SafetyRulesSGX which implements TSafetyRules traits. I leave this out since this is implemented in the Fortanix PR. (https://github.com/zaxguo/libra/pull/1)

The enormous insertions are caused by adding teaclave as a subtree in sgx-sdk/ in commit 5eb3fe5. Simply ignore it.

Have you read the Contributing Guidelines on pull requests?
Yea
Test Plan
safety rules test suites
Related PRs
None

Note: Virtual Cargo.toml is not working due to compiler bug:

   Compiling libra-crypto-sgx v0.1.0 (/root/libra/sgx-deps/crypto/crypto)
     Running `rustc --crate-name libra_crypto_sgx --edition=2018 sgx-deps/crypto/crypto/../../../crypto/crypto/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="fiat_u64_backend"' --cfg 'feature="std"' -C metadata=2abde04a8a907454 -C extra-filename=-2abde04a8a907454 --out-dir /root/libra/target/x86_64-unknown-linux-sgx/release/deps --target x86_64-unknown-linux-sgx -L dependency=/root/libra/target/x86_64-unknown-linux-sgx/release/deps -L dependency=/root/libra/target/release/deps --extern aes_gcm=/root/libra/target/x86_64-unknown-linux-sgx/release/deps/libaes_gcm-7ae0b99463761f96.rmeta --extern anyhow=/root/libra/target/x86_64-unknown-linux-sgx/release/deps/libanyhow-7bec40881e8f2a69.rmeta --extern bytes=/root/libra/target/x86_64-unknown-linux-sgx/release/deps/libbytes-b5898f000100a0d9.rmeta --extern curve25519_dalek=/root/libra/target/x86_64-unknown-linux-sgx/release/deps/libcurve25519_dalek-5f8eec768d5b9b55.rmeta --extern digest=/root/libra/target/x86_64-unknown-linux-sgx/release/deps/libdigest-847d3d4ba1a0ab15.rmeta --extern ed25519_dalek=/root/libra/target/x86_64-unknown-linux-sgx/release/deps/libed25519_dalek-061ce9257c7b0366.rmeta --extern hex=/root/libra/target/x86_64-unknown-linux-sgx/release/deps/libhex-7ab07dfb4a50f9af.rmeta --extern hmac=/root/libra/target/x86_64-unknown-linux-sgx/release/deps/libhmac-73f2759a563acf83.rmeta --extern lcs=/root/libra/target/x86_64-unknown-linux-sgx/release/deps/liblibra_canonical_serialization_sgx-c535a28d7bf61ae4.rmeta --extern libra_crypto_derive=/root/libra/target/release/deps/liblibra_crypto_derive_sgx-0e641a92182123b4.so --extern libra_nibble=/root/libra/target/x86_64-unknown-linux-sgx/release/deps/liblibra_nibble_sgx-e124c664f04a770e.rmeta --extern mirai_annotations=/root/libra/target/x86_64-unknown-linux-sgx/release/deps/libmirai_annotations-441655a8fac29971.rmeta --extern once_cell=/root/libra/target/x86_64-unknown-linux-sgx/release/deps/libonce_cell-4aeff9923e5c33c7.rmeta --extern rand=/root/libra/target/x86_64-unknown-linux-sgx/release/deps/librand-43074630855ec19c.rmeta --extern rand_core=/root/libra/target/x86_64-unknown-linux-sgx/release/deps/librand_core-e33578d89c6e5912.rmeta --extern serde=/root/libra/target/x86_64-unknown-linux-sgx/release/deps/libserde-c0e4b3da85fb6ab9.rmeta --extern serde_name=/root/libra/target/x86_64-unknown-linux-sgx/release/deps/libserde_name-94ba8f703c47f70a.rmeta --extern serde_bytes=/root/libra/target/x86_64-unknown-linux-sgx/release/deps/libserde_bytes-c082891d450e979f.rmeta --extern sha2=/root/libra/target/x86_64-unknown-linux-sgx/release/deps/libsha2-552462fa2b8341fc.rmeta --extern sha3=/root/libra/target/x86_64-unknown-linux-sgx/release/deps/libsha3-f37697c1951e4c97.rmeta --extern thiserror=/root/libra/target/x86_64-unknown-linux-sgx/release/deps/libthiserror-cd9cfcfa769b7418.rmeta --extern tiny_keccak=/root/libra/target/x86_64-unknown-linux-sgx/release/deps/libtiny_keccak-93c88d64c0b16a5c.rmeta --extern x25519_dalek=/root/libra/target/x86_64-unknown-linux-sgx/release/deps/libx25519_dalek-542585517eb5ce2b.rmeta -Z force-unstable-if-unmarked -Z macro-backtrace --sysroot /root/.xargo -L native=/root/libra/target/x86_64-unknown-linux-sgx/release/build/clear_on_drop-4b2ac08fbc780388/out`
  21: rustc_interface::passes::configure_and_expand_inner
  22: rustc_interface::passes::configure_and_expand::{{closure}}
  23: rustc_data_structures::box_region::PinnedGenerator<I,A,R>::new
  24: rustc_interface::passes::configure_and_expand
  25: rustc_interface::queries::Queries::expansion
  26: rustc_interface::interface::run_compiler_in_existing_thread_pool
  27: scoped_tls::ScopedKey<T>::set
  28: rustc_ast::attr::with_globals
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports

note: rustc 1.44.0-nightly (6dee5f112 2020-04-06) running on x86_64-unknown-linux-gnu

Deal with untrusted components -- general approach "trust the untrusted system" b swapping them:

Mutex
Time
FS

Specifically, components that need human auditing:

Utc::now(), depend on chrono feature ["clock"], currently unsupported: replacce with SystemTime::now()
Mutx as SgxMutex


Adding changelog

I noticed there was no changelog in the repo. You might be interested in using this plugin to generate it.
Else, just feel free to close this PR =)

@tomasbjerre
Do you know if there is a way to have the changelog template somewhere other than pom.xml ?

Yes there is a configuration attribute for that, templateFile.

Can you make that change and update the PR?  I'll merge when that is completed.

Yes, I can change it later today.

@gmessner Updated.

@tomasbjerre
As always, thank you for your contribution.

@tomasbjerre
I am getting the following error in the pom.xml:
Plugin execution not covered by lifecycle configuration: se.bjurr.gitchangelog:git-changelog-maven-plugin:1.59:git-changelog (execution: GenerateGitChangelog, phase: generate-sources)

Also, when importing into Eclipse I get the following error:
No marketplace entries found to handle git-changelog-maven-plugin:1.59:git-changelog in Eclipse.  Please see Help for more information.

Can these be corrected?

Looks like you can tell m2e to ignore the plugin: https://stackoverflow.com/questions/6352208/how-to-solve-plugin-execution-not-covered-by-lifecycle-configuration-for-sprin

Or, you want it out of the pom. You can do:
mvn se.bjurr.gitchangelog:git-changelog-maven-plugin:git-changelog

And rename the template to changelog.mustache.
And issue this command manually whenever you want to update the changelog.

@tomasbjerre
Enclosing the plugins in a <pluginManagement> tag in the pom fixed the error.  Thanks for this info.


PneumaticCraft helm crashes client when searching a Crate

http://pastebin.com/qbWjmMwu

Thanks for also reporting it to the PneumaticCraft tacker!
MineMaarten/PneumaticCraft#809
I will respond there.

Thank you for replying there, copygirl. I try to report issues to both trackers when I find a crossmod crash, so you're welcome on that front.


BE469ZP nonce expired on keypad operations

Checklist:

[x] I am not using HomeAssistant. Or: a developer has told me to come here.
[x] I am not using ZWaveJS2MQTT. Or: a developer has told me to come here.
[x] I have checked the troubleshooting section and my problem is not described there.
[x] I have read the changelog problem was not mentioned there.

Describe the bug
When performing a keypad unlock on a BE469ZP the communication (and thus notifications) for actions appear to be dropped due to an expiring nonces.
Manual thumb turns reflect appropriately, it's only lock / unlock operations from the keypad.
Device information
Which device(s) is/are affected (make/model)?   Allegion Shclage BE469ZP
What are the node IDs? 26
Did you change anything?

[ ] Yes: (please describe)
[X] No

Did this use to work before?

[X] Don't know, this is a new device
[ ] No, it never worked anywhere
[ ] Yes, in: (specify application with versions)

How are you using node-zwave-js

[X] zwavejs2mqtt (latest) docker image -- App 2.1.1 | ZwaveJS 6.6.0 | Zwave-js-server 1.1.0
[ ] zwavejs2mqtt (dev) docker image
[ ] zwavejs2mqtt Manual Docker build

node-zwave-js branch:
zwavejs2mqtt branch:

[ ] ioBroker.zwave2 adapter
[ ] HomeAssistant version XYZ
[ ] Pkg
[ ] Manual Docker build

node-zwave-js branch:
zwavejs2mqtt branch:

[ ] Manually built (as described in the docs)
[ ] Other:

To Reproduce
Steps to reproduce the behavior:

Add a BE469ZP to your mesh
Unlock and lock manually with thumbturn and confirm status
Unlock with code from keypad
See error in logs | Status does not reflect

Additional context
Logfile:
zwavelogsnippet.txt

This seems to be a persistent problem with those locks. They request a nonce (number used once) twice in quick succession, the second request invalidates the first nonce and then they use the first nonce twice, also in quick succession.
Unfortunately, this is nothing we can fix or work around without breaking compliance with the Z-Wave specs.
Unless you included the lock with zwave-js, you could try and reset, then re-include the device to see if that changes its behavior.

I did include the lock with zwave-js.  That's where I'm a bit stuck--this model works fine with Smartthings and even open-zwave.
I have two locks -- one a bit older that was included in ozw 1.6 and continues to work fine and this one (node 26) that works mostly fine, but for the issue here.  It was a replacement of a BE468 which gave me a ton of trouble in zwve-js.  I assumed it was because it was a non-plus device with the v1 notifications so I upgraded to since my other BE469ZP works fine.
This one is a brand new device added to zwave-js via zwave-js-mqtt and it doesn't work properly.  My other BE469ZP works totally fine, but was added via HomeAssistant / OZW 1.6.

Just to clarify as well, the BE469ZPs are nodes 25 and 26.  25 is about 9 months old, 26 is about 2.   It replaced a BE468.   The manufacturer specific values are the same for the BE269ZP.  This makes me feel like it's something in the way they're included rather than an issue with the device itself.

I did include the lock with zwave-js.

Any chance you have a portable stick and moved that around for the inclusion? Or maybe you moved the device after inclusion? I'm starting to suspect that a lot of the weird issues that get reported all boil down to bad routes.
Please try healing the network (this can take quite a while) to fix the routes and rule that out.

I’ll run a heal today.
Definitely did not do the walk around with the stick option.
I haven’t moved anything, but I did remove a plug-in unit (on the other side of the house from the lock.)
The working door lock is a lot closer to the stick so It’s possible that non-working lock was somehow routing through that plug-in unit?  Odd the routes wouldn’t update when I removed it.
Anyway, I’ll heal and update you!  Thanks for looking into this one!

Odd the routes wouldn’t update when I removed it.

AFAIK that only happens on demand because updating the routes is a very traffic intensive operation.

Ah, good to know.  I assumed removing it from the controller updated the routes.   The OZW folks used to advise against running a heal because of the network traffic load .   I'm betting you're right about some of the weird issues.  I think a lot of us Home Assistant zwave users see the "heal network" button as a "make things worse" button.
That said, the heal worked!   The lock is reporting everything properly and I have no nonce errors in my log.  Also, heal is significantly faster with zwave-js than it was with OZW.

Also, heal is significantly faster with zwave-js than it was with OZW.

That's weird - we're doing more work (at least last I checked)

Looking at my timestamps, 44 zwave plus devices took 8 minutes to heal.
On OZW, it was about 25.
Anyway, thanks again for looking into this one and seriously thank you for creating such an awesome project.


Fix not enough arguments

Close #7

Ah, yeah. That's due to https://github.com/caddyserver/certmagic/pull/155, so this plugin stopped being compatible with the latest version of Caddy.
Thanks for the fix!

I think the go.mod should be updated as well, probably, since it now targets a newer version of certmagic and Caddy by making these changes.

That's weird. 🤔  I believe go.mod will also need to be updated to the latest versions of CertMagic / Caddy, as currently this change is not compatible with the pinned versions.

@francislavoie @mholt Thank you for bringing this to my attention. I ran into the error while compiling in xcaddy, I didn't realize I needed to update go.mod at the time, I've since updated it.
Please let me know if you require any other changes.


A little question about loading checkpoint.

Great work! I have a little question about loading checkpoints. The checkpoint in your project saved in this way:
 state = {
            'arch': arch,
            'epoch': epoch,
            'state_dict': self.model.state_dict(),
            'optimizer': self.optimizer.state_dict(),
            'monitor_best': self.mnt_best,
            'config': self.config
        }
filename = str(self.checkpoint_dir / 'checkpoint-epoch{}.pth'.format(epoch))
torch.save(state, filename)

And I just want to load the checkpoint in a very simple way for some reason, just like this:
checkpoint = torch.load('model_best.pth', map_location=torch.device('cpu'))

But an error occurred：

Traceback (most recent call last):
File ".\test.py", line 11, in
checkpoint = torch.load(Path('model_best.pth'), map_location=torch.device('cpu'))
File "C:\Users\user\anaconda3\envs\luoqiuhong\lib\site-packages\torch\serialization.py", line 593, in load
return _legacy_load(opened_file, map_location, pickle_module, **pickle_load_args)
File "C:\Users\user\anaconda3\envs\luoqiuhong\lib\site-packages\torch\serialization.py", line 773, in _legacy_load
result = unpickler.load()
ModuleNotFoundError: No module named 'parse_config'

Is there any way can do this simple checkpoints loading(without 'parse_config')?
Thanks in advance.

Calling torch.load('model_best.pth') will require parse_config module, since that dictionary has config object as an item.
You can remove this item by simply commenting out that line in the base_trainer.py.
 state = {
            'arch': arch,
            'epoch': epoch,
            'state_dict': self.model.state_dict(),
            'optimizer': self.optimizer.state_dict(),
            'monitor_best': self.mnt_best,
            # 'config': self.config
        }

Then refering to test.py#L34-L37, load checkpoint.
Unfortunately, checkpoints saved this way would not be usable for resuming training process.
If you don't want this or have to use existing checkpoint which was already saved with config object, you can make a simple script removing the config object from checkpoint file.
import torch

checkpoint_path = 'model_best.pth'
checkpoint = torch.load('model_best.pth', map_location=torch.device('cpu'))
del checkpoint['config']
torch.save('updated_model_best.pth')

Then, run this script at the project root dir, since it requires parse_config module.

Thanks a lot.

@SunQpark
I think you are missing checkpoint in torch.save(checkpoint, 'updated_model_best.pth')


No picture for Tuscan Style Pork even though I've provided one in pix

Maybe it was missed. Just wanted to bring it to your attention

Did you link it in the Markdown file?

Open a PR to add it in the page if you originally forgot.


tests/charm++/megatest hangs on netlrts-win-x86_64-smp build

Original issue: https://charm.cs.illinois.edu/redmine/issues/1960

../../../bin/testrun  ./pgm +p4  ++local
Charmrun> started all node programs in 0.702 seconds.
Converse/Charm++ Commit ID: v6.8.2-853-g4146bf788
Charm++> Disabling isomalloc because mmap() does not work.
Charm++> scheduler running in netpoll mode.
CharmLB> Load balancer assumes all CPUs are same.
Charm++> Running on 1 hosts (1 sockets x 4 cores x 2 PUs = 8-way SMP)
Charm++> cpu topology info is gathered in 0.219 seconds.
Megatest is running on 4 nodes 4 processors.
test 0: initiated [groupring (milind)]

This was also seen in last night's autobuild output: http://charm.cs.illinois.edu/autobuild/old.2018_08_08__01_01/netlrts-win-x86_64-smp.txt

Original date: 2018-08-08 19:02:56

I was unable to reproduce this with a non-production debug build (-g -O0)

Original date: 2018-09-20 18:20:10

Last night it got through megatest but not simplearrayhello.  So there is something peculiar going on in our windows smp target.
make[3]: Entering directory '/home/nikhil/autobuild/netlrts-win-x86_64-smp/charm/netlrts-win-x86_64-smp/tests/charm++/simplearrayhello'
../../../bin/charmc -optimize -production  -optimize -production   hello.ci
../../../bin/charmc -optimize -production  -optimize -production  -c hello.C
hello.C
../../../bin/charmc -optimize -production  -optimize -production  -language charm++ -o hello hello.o
moduleinit7476.C
   Creating library hello.lib and object hello.exp
../../../bin/testrun  ./hello +p4 10  ++local
Charmrun> started all node programs in 1.045 seconds.
Converse/Charm++ Commit ID: bb22b1d
Charm++> Disabling isomalloc because mmap() does not work.
Charm++> scheduler running in netpoll mode.
CharmLB> Load balancer assumes all CPUs are same.
Charm++> Running on 1 hosts (1 sockets x 4 cores x 2 PUs = 8-way SMP)
Charm++> cpu topology info is gathered in 0.032 seconds.
Running Hello on 4 processors for 10 elements
[0] Hello 0 created
[0] Hello 1 created
[0] Hello 2 created
[0] Hi[17] from element 0
[0] Hi[18] from element 1
[0] Hi[19] from element 2

Original date: 2018-10-08 17:52:37

Juan found what looks to be the culprit, a buggy implementation of CmiNodeBarrierCount on Windows.

Original date: 2018-10-11 16:16:26

Fix: ~~https://charm.cs.illinois.edu/gerrit/#/c/charm/+/4664/~~ https://github.com/UIUC-PPL/charm/commit/5733fb9de815a9e79328fdaa62e888c9e899fbfb


Remove old image

Why?
This image is deprecated and replaced with a new one.
What?
Update Finniverskit and Warp
Remove duplicate ad image noImage and use FinniversKit placeholder ad image
Version Change
Minor
UI Changes

how does theses work?

how does theses work?

How does what work? 🤔

how does theses work?

How does what work? 🤔

Right 😃

Tests ..


bosh deploy fails when Waiting for the agent on VM

When I try to deploy a new bosh director in Softlayer using bosh-init, I get the error Post https://admin:[PASSWORD-REMOVE]@bosh-softlayer.softlayer.com:6868/agent: dial tcp: lookup bosh-softlayer.softlayer.com on <IP_ADDRESS>:53: no such host
How can I fix this?
Full log:
$ bosh-init deploy ./bosh.yml
Deployment manifest: '/Users/pego/workspace/my-bosh/bosh.yml'
Deployment state: '/Users/pego/workspace/my-bosh/bosh-state.json'

Started validating
  Downloading release 'bosh'... Skipped [Found in local cache] (00:00:00)
  Validating release 'bosh'... Finished (00:00:01)
  Validating release 'bosh-softlayer-cpi'... Finished (00:00:01)
  Validating cpi release... Finished (00:00:00)
  Validating deployment manifest... Finished (00:00:00)
  Downloading stemcell... Skipped [Found in local cache] (00:00:00)
  Validating stemcell... Finished (00:00:00)
Finished validating (00:00:02)

Started installing CPI
  Compiling package 'golang_1.7.1/591034a93e2a5aaf008f76b69a1f23fc61e642d8'... Finished (00:00:00)
  Compiling package 'bosh_softlayer_cpi/2933b13c68cb998aae4bb03a899a759dbcc65d07'... Finished (00:00:00)
  Installing packages... Finished (00:00:04)
  Rendering job templates... Finished (00:00:00)
  Installing job 'softlayer_cpi'... Finished (00:00:00)
Finished installing CPI (00:00:05)

Starting registry... Finished (00:00:00)
Uploading stemcell 'bosh-softlayer-xen-ubuntu-trusty-go_agent/3312.12'... Skipped [Stemcell already uploaded] (00:00:00)

Started deploying
  Creating VM for instance 'bosh/0' from stemcell '1443361'... Finished (00:08:32)
  Waiting for the agent on VM '27250573' to be ready... Failed (00:09:59)
Failed deploying (00:18:32)

Stopping registry... Finished (00:00:00)
Cleaning up rendered CPI jobs... Finished (00:00:00)

Command 'deploy' failed:
  Deploying:
    Creating instance 'bosh/0':
      Waiting until instance is ready:
        Sending ping to the agent:
          Performing request to agent endpoint 'https://admin:[PASSWORD-REMOVED]@bosh-softlayer.softlayer.com:6868/agent':
            Performing POST request:
              Post https://admin:[PASSWORD-REMOVED]@bosh-softlayer.softlayer.com:6868/agent: dial tcp: lookup bosh-softlayer.softlayer.com on <IP_ADDRESS>:53: no such host

bosh.yml:
---
name: bosh

releases:
- name: bosh
  url: https://bosh.io/d/github.com/cloudfoundry/bosh?v=260.1
  sha1: 7fb8e99e28b67df6604e97ef061c5425460518d3
- name: bosh-softlayer-cpi
  url: file:///Users/pego/workspace/bosh-softlayer-cpi-release/dev_releases/bosh-softlayer-cpi/bosh-softlayer-cpi-3.0.5+dev.7.tgz

resource_pools:
- name: vms
  network: default
  stemcell:
    url: https://bosh.io/d/stemcells/bosh-softlayer-xen-ubuntu-trusty-go_agent?v=3312.12
    sha1: 8416bb3191065670e3220331333caecf7c23d884
  cloud_properties:
    Domain: softlayer.com
    VmNamePrefix: bosh-softlayer
    EphemeralDiskSize: 100
    StartCpus: 4
    MaxMemory: 8192
    Datacenter:
      Name: dal09
    HourlyBillingFlag: true
    PrimaryNetworkComponent:
      NetworkVlan:
        Id: 1113225
    PrimaryBackendNetworkComponent:
      NetworkVlan:
        Id: 1113235
    NetworkComponents:
    - MaxSpeed: 1000

disk_pools:
- name: disks
  disk_size: 40_000

networks:
- name: default
  type: dynamic
  dns: [<IP_ADDRESS>]

jobs:
- name: bosh
  instances: 1

  templates:
  - {name: nats, release: bosh}
  - {name: postgres, release: bosh}
  - {name: blobstore, release: bosh}
  - {name: director, release: bosh}
  - {name: health_monitor, release: bosh}
  - {name: powerdns, release: bosh}
  - {name: softlayer_cpi, release: bosh-softlayer-cpi}

  resource_pool: vms
  persistent_disk_pool: disks

  networks:
  - name: default

  properties:
    nats:
      address: <IP_ADDRESS>
      user: nats
      password: [PASSWORD-REMOVED]

    postgres: &db
      listen_address: <IP_ADDRESS>
      host: <IP_ADDRESS>
      user: postgres
      password: [PASSWORD-REMOVED]
      database: bosh
      adapter: postgres

    blobstore:
      address: <IP_ADDRESS>
      port: 25250
      provider: dav
      director:
        user: director
        password: [PASSWORD-REMOVED]
      agent:
        user: agent
        password: [PASSWORD-REMOVED]

    director:
      address: <IP_ADDRESS>
      name: bosh
      cpi_job: softlayer_cpi
      db: *db
      user_management:
        provider: local
        local:
          users:
          - {name: admin, password: [PASSWORD-REMOVED]}
          - {name: hm, password: [PASSWORD-REMOVED]}

    hm:
      director_account:
        user: hm
        password: [PASSWORD-REMOVED]
      resurrector_enabled: true

    dns:
      address: <IP_ADDRESS>
      domain_name: bosh
      db: *db
      webserver:
        port: 8081
        address: <IP_ADDRESS>

    softlayer: &softlayer
      username: [USERNAME-REMOVED]
      apiKey: [API-KEY-REMOVED]

    agent: {mbus: "nats://nats:[PASSWORD-REMOVED]@bosh-softlayer.softlayer.com:4222"}

    ntp: &ntp [0.pool.ntp.org, 1.pool.ntp.org]

cloud_provider:
  template: {name: softlayer_cpi, release: bosh-softlayer-cpi}

  mbus: https://admin:[PASSWORD-REMOVED]@bosh-softlayer.softlayer.com:6868

  properties:
    softlayer: *softlayer
    agent: {mbus: "https://admin:[PASSWORD-REMOVED]@bosh-softlayer.softlayer.com:6868"}
    blobstore: {provider: local, path: /var/vcap/micro_bosh/data/cache}
    ntp: *ntp

cc @suhlig @smoser-ibm

@petergtz Did you enable SL VPN on your machine where to run bosh-init? The bosh-init machine need to be able to access Softlayer private network.

@mattcui Yes, I did. But I just saw that I also have to run bosh-init with sudo. It can reach the agent now.
Shouldn't this be documented on http://bosh.io/docs/init-softlayer.html?

@petergtz Yes, because there needs to update /etc/hosts.
@gu-bin Please help update the document accordingly, thanks.

https://github.com/cloudfoundry/docs-bosh/pull/270 will update the doc

@mattcui Is it possible to make bosh-init tell me that it cannot continue, because it cannot update /etc/hosts, instead of trying to continue with a wring configuration? Right now, it's extremely difficult to find the root cause of the problem.

@petergtz We already had PR 170 to address this issue, waiting for merge.


Various minor API changes

This issue summarizes a number of various minor API changes open for discussion:

[x] consider storing n_subsystems rather than compute it on the fly (see also #34)
[x] rename all variable/properties beginning with n_ to be num_ (this is more inline with Qiskit, e.g. num_qubits on circuits and operators)
[x] revisit the naming of some public attributes e.g. RandomizedProjectionMeasurements.msmt_qc
[x] revisit naming of some function arguments e.g. obs should be observable in BaseDUAL.get_omegas
[ ] re-evaluate the private/public attribute distinction on a number of classes

Extracting the last task to #45


chore: bump changeset versions

Motivation
Need these updates to continue migrating casts.
Change Summary
Ran yarn changeset version.
Merge Checklist
Choose all relevant options below by adding an x now or at any time before submitting for review

[x] The title of this PR adheres to the conventional commits standard
[x] The PR has been tagged with the appropriate change type label(s) (i.e. documentation, feature, bugfix, or chore)

Published successfully.
⨠ yarn changeset publish
yarn run v1.22.19
$ /Users/sds/src/hubble/node_modules/.bin/changeset publish
🦋  info npm info eslint-config-custom
🦋  info npm info @farcaster/js
🦋  info npm info @farcaster/protobufs
🦋  info npm info @farcaster/utils
🦋  warn eslint-config-custom is not being published because version 0.0.0 is already published on npm
🦋  info @farcaster/js is being published because our local version (0.2.6) has not been published on npm
🦋  warn @farcaster/protobufs is not being published because version 0.1.5 is already published on npm
🦋  info @farcaster/utils is being published because our local version (0.2.6) has not been published on npm
🦋  info Publishing "@farcaster/js" at "0.2.6"
🦋  info Publishing "@farcaster/utils" at "0.2.6"
🦋  info This operation requires a one-time password from your authenticator.
🦋  Enter one-time password: · ******
🦋  success packages published successfully:
🦋<EMAIL_ADDRESS>🦋<EMAIL_ADDRESS>🦋  Creating git tags...
🦋  New tag<EMAIL_ADDRESS>🦋  New tag<EMAIL_ADDRESS>✨  Done in 11.77s.


Is there a way of copying aof file with command ?

I need to backup aof files. Is there a command of copying the aof file?

There is the AOF command. It allows for downloading part of all of the AOF file.
Though if you have access to the machine then it may be better to copy the aof file directly, which is safe to do while the server is operating.


Fix ApplyTask patch behavior

What this PR does / why we need it:
The ApplyTask patch method currently uses a StrategicMerge patch, which by default merges some lists, for example, containers in a Deployment-PodTemplate. This makes it impossible to have a conditional container in an operator.
Added a test harness test.
Fixes #1286
Issue
The Big Problem is that applying new versions of rendered resources from KUDO to the cluster is not as easy as it seems: We generally render full resources from the OperatorVersion templates, but there is no easy way to update existing resources in the cluster:
Patch with StrategicMerge
This is the solution we use at the moment. The issue is, that a strategic merge does not replace certain lists - for example, the list of containers in a PodTemplate is merged, not replaced by default. If a list (or map) is merged instead of replaced depends on the annotations in the resource types:
	// +patchMergeKey=name
	// +patchStrategy=merge
	Containers []Container `json:"containers" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,rep,name=containers"`

It is possible to overwrite this behavior for strategic merges: https://www.disasterproject.com/kubernetes-kubectl-patching/
We can add an entry $patch: replace to a list or a map to replace instead of merge. But we can't add these entries to all maps and lists, as this would trigger the replacement of immutable fields which leads to an error by the k8s API. We would have to maintain a list of all places to add these patch-entries.
Replace
We could replace resources instead of patching them. This approach does not work as a lot of resources have immutable fields that can't be updated - for example the ServiceSpec.ClusterIP. As this field is usually filled in by k8s, it's not filled when we generate the resource from the KUDO template. A replace would then complain that ClusterIP will be updated with "" which is not allowed.
It might be possible to Force-Replace. This allows us to update immutable fields by doing a delete/create instead of a replace; the downside is that it would, for example, assign a new ClusterIP and be a disruptive update (https://kubernetes.io/docs/concepts/cluster-administration/manage-deployment/#disruptive-updates)
ServerSideApply
This should theoretically work best. All creations and updates should be done via:
c.Patch(context.TODO(), newObj, client.Apply, client.FieldOwner("KUDO"))

and k8s should figure out what actually changed and apply it. There are some problems on the integration tests (no darwin binaries for kube-apiserver > 15.5), and bugs in the server side apply feature itself. Might be an option for the future.
Client Side Threeway-Diff
This is the only real way to do this at the moment.
First approach was to reuse code from kudectl apply, but that fails for various reasons. kubectl isn't really expected to be used as a library.
I rewrote the code similar to kudectl apply though, it still needs some polishing but it should work for now.

This PR introduces a backwards incompatible change:
When used on an already installed instance of an operator, the deployed resources are missing the new "kudo.dev/last-applied-configuration", which will fail the patch process, as no originalConfiguration can be found for the ThreeWayMerge.
There are multiple options to work around this issue, all of which are a bit problematic:
(1) Bail out on old deployed Instances - This is the current state after this PR
(2) Automatically Delete/Recreate the resource - This is problematic, as we would make a disruptive update without the user explicitly acknowledging or allowing this.
(2a) Allow the user to specify a --force flag when using k kudo update and then use Delete/Recreate. This is detailed in #1335 and probably the most usable approach
(3) Patch the resources as we did before this PR - Not a good solution, as we would leave the deployed instances in weird unknown states, which doesn't solve anything
(4) Calculate the originalConfiguration from the old parameters and metadata of the Instance - This would theoretically work, but is a lot of effort and probably error prone, as there are a lot of edge cases and things to consider.

We need to think about this one. It's one thing to make breaking changes without some form of automated migration for the operator development side, it's another thing entirely to do something that can cause data loss. Can we introduce some sort of migration to handle this for the future? Or can we at least come up, while noting this, a clear way for any existing users of our operators to preserve their data?  Even if we don't have any users now, this is a good practice to establish early.
I understand there's probably no great way to actually perform a migration of existing instances though, and overall the PR itself LGTM.

@gerred I have a proposal to use --force on a parameter update, see #1335 That would allow users to continue using their existing installation, at the downside of having one disruptive update of the operator.
As long as the operator does not manually create a PV, that should not lead to any data loss.

it's another thing entirely to do something that can cause data loss.

In the proposed implementation, KUDO manager won't find the needed annotation, three-way-merge will fail and so will the step/plan (a transient ERROR if I'm correct). So no data loss should occur @gerred

@zen-dog Not a transient error anymore. In my last commit I changed a couple of the errors to fatalExecutionError, as they won't recover.
Apart from that you're correct, no data loss (but no change to the deployed resource possible either)

Right, but we're telling them the only way to move forward is to re-create the instance. Deleting the instance will destroy the existing instance. It might not get rid of PVs, but we're now in a manual situation where data loss can occur if I don't manually ensure that my PV is used or backed up/restored, right?

True, this is exactly as any prior breaking change situation when instances had to be recreated in the new KUDO version.

@gerred As you already mentioned, this would be a prime example for a migration process. I'll take that chance and prioritise working on KUDO upgrades and try to get a migration for this in.


how to use catalogue for components that require state

If not solved yet, could we have a discussion on how to do stuff like Modal where you pass it a show true/false.
To use a modal (from this lib) you need a liveview or a live component that controls it.
How do we set up demos in surface catalogue for componets like that?

Hey @olivermt!
Examples and Playgrounds are liveviews, i.e. they can hold state. All you have to do is to initialize data propsand pass it to the subject, in your case, the Dialog. Then you can manipulate props as much as you like. The tool will update the component accordingly. I don't have the code of your dialog but here's an example of a fake one so you can see how it works:
defmodule SurfaceBulma.FakeDialog do
  use Surface.Component

  prop show, :boolean
  prop message, :string

  def render(assigns) do
    ~H"""
    <div
      style="background: white; border: 1px solid; padding: 1.5rem; margin: 1.5rem; text-align: center;"
      :show={{ @show }}>
      {{ @message }}
    </div>
    """
  end
end

defmodule SurfaceBulma.FakeDialog.Playground do
  use Surface.Catalogue.Playground,
    subject: SurfaceBulma.FakeDialog,
    catalogue: SurfaceBulma.Catalogue,
    height: "200px"

  alias SurfaceBulma.Button

  data props, :map, default: %{show: false, message: "A fake message"}

  def render(assigns) do
    ~H"""
    <Button label="Open" color="info" click="show" disabled={{ @props.show }}/>
    <Button label="Close" color="danger" click="hide" disabled={{<EMAIL_ADDRESS>}}/>
    <!-- This is the subject of this Playground. It must receive @props  -->
    <FakeDialog :props={{ @props }}/>
    """
  end

  def handle_event("show", _, socket) do
    {:noreply, update(socket, :props, &%{&1 | show: true})}
  end

  def handle_event("hide", _, socket) do
    {:noreply, update(socket, :props, &%{&1 | show: false})}
  end
end

You should see something like this:

Fantastic!

@olivermt just in case you need some fast feedback, feel free to create a PR as soon as you have any of the new components + examples/playground ready. I'll be glad to review it.
BTW, I don't think you need to create examples/playgrounds for all components before releasing surface_bulma. We can add them incrementally in later patch versions.

I didn't even plan to do a single one before releasing :D
A bit off topic for this issue, but my plan before releasing is:

Modal
Card, Card.Header, Card.Footer
Add a sortable prop to Column in Table that materializes as clickable icon
Add a sort_by prop to Table

Then I'll release 0.1.0. If I am not done with more than the modals/cards by thursday I'll clean up and release on friday regardless :)

Nice! One question. Have you tried the latest Bulma v0.9.1? Surface's website is still on v0.8.2, but feel free to move on and update it if you like. Last time I moved from 0.7 to 0.8 was straightforward. The only thing I noticed was a couple of minor differences regarding colors and shadows. The components behaviour didn't change at all. In the worst case, I can still point to an earlier version of the lib for a while.

I will look into upgrading after first release, then we will just sit on 0.9.1 until I am done with the form and form components (which will mark 1.0.0 release).

works like a magic charm :)


Client files not autorefreshing on linux

Steps to reproduce:

Autorun file

AddCSLuaFile("test.lua")
include("test.lua")

Put a print statement inside test.lua
Change the print statement's contents inside test.lua
Save test.lua
The server correctly refreshes with the new print statement's contents
You will see the client does not

Tested on:

Linux, Ubuntu 22.04
Default garry's mode branch
using gmcl_moonloader_linux.dll,  gmsv_moonloader_linux.dll

Are you using moonloader v1.3.0 or v2.0.0-rc6?

Are you using moonloader v1.3.0 or v2.0.0?

I do not remember, I believe moonloader v1.3.0. However, I just tested with v2.0.0 and the same result happens. The client does not receive the updated file.

Just to clarify. Are you creating test.lua or test.yue? If test.lua then it means that moonloader breaks Garry's Mod autorefresh, right?

Just to clarify. Are you creating test.lua or test.yue? If test.lua then it means that moonloader breaks Garry's Mod autorefresh, right?

I am creating test.yue. After retesting, I see it isn't refreshing on the server either now either..
I will clarify all steps, maybe i'm doing something wrong.
Addon directory:
~/new_server/garrysmod/addons/test_addon ❯ tree                                                                                12:17:51 PM
.
└── lua
    ├── autorun
    │   └── run.lua
    └── test.yue

lua/bin/
~/new_server/garrysmod/lua/bin ❯ tree                                                                                12:18:21 PM
.
├── gmcl_moonloader_linux.dll
└── gmsv_moonloader_linux.dll

test_addon/lua/autorun/run.lua contents:
if SERVER then
    require "moonloader"
    AddCSLuaFile("test.lua")
end

include("test.lua")

test_addon/lua/test.yue contents:
print "Hello from Moonscript! ##{i}" for i = 1, 5

It does print
Hello from Moonscript! #1
Hello from Moonscript! #2
..

However, after I change the contents of test_addon/lua/test.yue to
print "Bye!!!!!! from Moonscript! ##{i}" for i = 1, 5

and then save test_addon/lua/test.yue, then save test_addon/lua/autorun/run.lua to trigger a refresh, it runs the previous code of test.yue, and not the new code.

https://github.com/Pika-Software/gm_moonloader/assets/75004732/7007cb57-7f24-446c-bb88-1c1f020d0df1

I have made a VM with Ubuntu, will try to reproduce your issue.

Can you please download this dev binary and test again?
gmsv_moonloader_linux.dll.zip

Can you please download this dev binary and test again?
gmsv_moonloader_linux.dll.zip

It appears to still not being working for me. I see the Trying to auto refresh file 'lua/test.lua' but it doesn't work still.

From my understanding, it seems that lua/test.lua isn't being recompiled

Since you saw message about trying to auto refresh, Moonloader must have catched that you changed the file, recompiled it if last file modified date has changed, and sent to Garry's Mod a signal to autorefresh it.
I have tested on my side, it refresh the file.
Currently have no clue what the issue might be something related to filesystem and update date.

I'll add more debug messages, let's see what is on your side

gmsv_moonloader_linux.dll.zip
Now I see that NeedsCompile=0, that means that moonloader detects like file haven't changed at all, and decides not to recompile it. Can you send if it is the same on your side?

gmsv_moonloader_linux.dll.zip
Now I see that NeedsCompile=0, that means that moonloader detects like file haven't changed at all, and decides not to recompile it. Can you send if it is the same on your side?

https://github.com/Pika-Software/gm_moonloader/assets/75004732/db676cf9-7a13-44e3-889c-ba878b4fc0ef

Well, you have found an interesting bug! If you will create a .yue file at the root of lua/, compiler will create a folder with the same name and GetFileTime will return a last edit time of created folder, not of .yue file. Easy fix, just need to change the RemoveFilename function

https://github.com/Pika-Software/gm_moonloader/actions/runs/9618898147
If everything runs fine on your side, I'll push it to main branch

Well, you have found an interesting bug! If you will create a .yue file at the root of lua/, compiler will create a folder with the same name and GetFileTime will return a last edit time of created folder, not of .yue file. Easy fix, just need to change the RemoveFilename function

Interesting, glad it's been found :D

https://github.com/Pika-Software/gm_moonloader/actions/runs/9618898147
If everything runs fine on your side, I'll push it to main branch

I tested it on client and server, both seem to be working properly and refreshing. Thanks!

Unfortunately currently Linux build is relaying on lua_refresh_file command since native autorefresh for some reason don't work. And I can't hide Trying to auto refresh file 'lua/test.lua' message :(
Also I see that during initial load for some reason file is being loaded two times. Tommorow will investigate why and how to fix it. Probably some Garry's Mod shenanigans

@Riddle1001 completely fixed autorefresh issues on Linux, try out latest release!


Dfu programming error when multiple devices detected

Hi!
Thank you for this inspiring project.
Compilation was very smooth, but I ran into a minor issue when programming over USB.
make program-dfu exited before programming with the following error:
dfu-util: More than one DFU capable USB device found! Try `--list' and specify the serial number or disconnect all but one device

dfu-util -l showed this:
Found Runtime: [05ac:8290] ver=0167, devnum=4, cfg=1, intf=5, path="20-8", alt=0, name="UNKNOWN", serial="UNKNOWN"
Found DFU: [0483:df11] ver=0200, devnum=11, cfg=1, intf=0, path="20-5", alt=1, name="@Option Bytes   /0x5200201C/01*128 e", serial="200364500000"
Found DFU: [0483:df11] ver=0200, devnum=11, cfg=1, intf=0, path="20-5", alt=0, name="@Internal Flash   /0x08000000/16*128Kg", serial="200364500000"

That "Runtime: [05ac:8290]" device is actually present on my machine (2015 Macbook Pro, 10.14) even with no USB devices connected. I did some sleuthing, and it looks to be the computer's internal bluetooth/wifi peripheral.
It's hard to suggest steps for reproduction because that device is definitely the culprit. I figured if anything, it would be good to open an issue to see if anyone else has the same problem.
I noticed that the program-dfu rule in the Makefile does not use the --device option. Adding that option as --device 0483:df11,0483:df11 resolved the issue for me, but I'm not confident hard coding the chipset is the right move. --device , might be a more general solution, as it will only be tripped up when another device in DFU mode is detected.
Hopefully this illustrates the issue sufficiently, but let me know if you would like any more information. Now the fun begins!

Noted! I'll look into adding the --device flag this weekend. Since the system bootloader has its own vid/pid pair I think that hard coding it should be okay, but I'll do some double checking.

We've added the -d flag for the specific vid/pid combo for the Daisy Seed's Bootloader which fixes this.


ingore files under .cabal-sandbox when using fuzzy file find

When using sandbox inside a project, lots of files are generated under .cabal-sandbox. This increases dramatically the loading time when using fuzzy file find. Therefore I suggest ignore this folder in fuzzy file find plugin.

:+1: :100:
This has been annoying me too, thank you!


Adds zed ros wrapper to auv.launch

Solves #136

Changes have been made @chrstrom

Changes have been made @chrstrom

Does the  -DCMAKE_BUILD_TYPE=Release flag work with catkin build? I have stuck with just catkin build and nothing else 😄

Looks good now👍 For future reference is the zed-ros-wrapper supposed to be launched with the simulator as well, or just the real system?

I suppose it's only really needed when you're actually using the ZED camera. So unless the simulations are pretending to use a camera I guess it's not needed


Move ExpressionEvaluators and SchemaFieldExtractor from pinot-spi to pinot-core

Moving the ExpressionEvaluators to pinot-core, so that it can be alongside the FunctionExpressionEvaluators related code.
Also moved SchemaFieldExtractorUtils to pinot-core, and renamed it to SchemaUtils. This SchemaUtils (which contains validate) and the SchemaUtils in pinot-common (which contains from/to ZnRecord), should be merged into 1 eventually. Can be done when pinot-core and pinot-common modules get merged.

LGTM. This one has conflict with #5309. Let's figure out which one to merge first

As discussed offline, I'll merge this first. Thanks!

https://github.com/apache/incubator-pinot/issues/5352


bootloader: Support sel4 loading and booting on icicle target

Signed-off-by: Jouni Ukkonen<EMAIL_ADDRESS>Please use PX4 Discuss or Slack to align on pull requests if necessary. You can then open draft pull requests to get early feedback.
Describe problem solved by this pull request
A clear and concise description of the problem this proposed change will solve.
E.g. For this use case I ran into...
Describe your solution
A clear and concise description of what you have implemented.
Describe possible alternatives
A clear and concise description of alternative solutions or features you've considered.
Test data / coverage
How was it tested? What cases were covered? Logs uploaded to https://review.px4.io/ and screenshots of the important plot parts.
Additional context
Add any other related context or media.

This looks good; needs "make format" and re-push, and testing that it still boots the PX4 even if there are no linux or sel4 on the memory card

Done, Also tested booting without u-boot and sel4, it prints failures but px4 still boots properly.


Inlined CSS is not working in SSR after 2.9 release

Describe the bug
I have a setup where I write inlined CSS in index.html file. I expect this inlined CSS to work as it is in dev-server and it did work before 2.9 however after 2.9 the inlined CSS turns into something like this in the source -
<script type="module" src="/?html-proxy&index=0.css"></script>

Apparently, it is happening during vite.transformIndexHtml API. It returns new HTML with proxy script instead of actual inlined css. Due to this the CSS is not applied during the dev-server.

The build continues to work fine.
Reproduction
https://stackblitz.com/edit/github-12zodn-vbxsug?file=index.html&terminal=dev
Exactly same example on Vite 2.8.6 - https://stackblitz.com/edit/github-12zodn-34x7n1?file=package.json&terminal=dev (works as expected)
System Info
System:
    OS: macOS 11.4
    CPU: (8) x64 Apple M1
    Memory: 520.12 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.5.0 - ~/.nvm/versions/node/v16.5.0/bin/node
    Yarn: 1.22.15 - ~/.yarn/bin/yarn
    npm: 7.19.1 - ~/.nvm/versions/node/v16.5.0/bin/npm
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 100.0.4896.127
    Safari: 14.1.1

Used Package Manager
npm
Logs
/?html-proxy&index=0.css:1 Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec.

Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Thank you very much for your work to solve this issues. after my PR will return actual inlined css. But I use you repo can not find the issues what you said, can you help me to test it ?

Thank you very much for your work to solve this issues. after my PR will return actual inlined css. But I use you repo can not find the issues what you said, can you help me to test it ?

So I pulled your branch locally and tested out the changes there. They are working as expected. Your PR will resolve this issue 🕺🏼

Also created this github repo if you want to replicate it on your end https://github.com/saurabhdaware/vite-290-inlined-css-bug-replication
Added how to replicate in README


Bug in example code

The supplied example code is not working.
Instead of:
api_instance = artikcloud.DeviceTypesApi
You should write
api_instance = artikcloud.DeviceTypesApi()

@maneeshsahu Please take care of this. Thanks

Updated. Thanks @giladfr


Handlebars {{else if}} and {{each}}{{else}} not formatting

Hi,
There are couple of Handlebar blocks which do not indent as expected. Using JS Beautify (only option).
In Ember the {{else if}} block:
// Expected

{{#if isValid1}}

Is valid 1

{{else if isValid2}}

Is valid 2

{{else}}

Is neither

{{/if}}

// What happens instead

{{#if isTrue1}}

Is valid 1
 {{else if isTrue2}}

Is valid 2

{{else}}

Is neither

{{/if}}

Also in Ember the {{else}}  blocks within  {{each}} blocks:
// Expected

{{#each clinics as |clinic|}}

{{clinic.name}}

{{else}}

Unfortunately no clinics found.

{{/each}}

// What happens instead

{{#each clinics as |clinic|}}

{{clinic.name}}

  {{else}}

Unfortunately no clinics found.

{{/each}}

Atom debug log: https://gist.github.com/janwerkhoven/9a20c4b21b2ee3ce0555
Love your package :+1:

I think Pretty Diff is the default beautifier for Handlebars templates.  When I supply the code samples to http://prettydiff.com the result looks correct.  I will continue to look at this.

There is only 1 option ...

I am alerting @bitwiseman that there may be an issue with JS Beautify.  I will also work on adding Pretty Diff as a secondary beautifier for Handlebars.

@Glavin001 Why is Handlebars not listing Pretty Diff as a beautifier?  It appears to be properly indicated in the code: https://github.com/Glavin001/atom-beautify/blob/master/src/beautifiers/prettydiff.coffee#L72

@prettydiff, @janwerkhoven - handlebars support is very spotty in beautifier.
https://github.com/beautify-web/js-beautify/issues?utf8=✓&q=is%3Aissue+is%3Aopen+handlebars
Please file this as an issue of there.  Thanks!

Done: https://github.com/beautify-web/js-beautify/issues/870


PickerCell exception the second time

Version: 0.2.9 (previous versions are ok)
Platform: iOS (i suppose Android too)
I think the error is related to issue 16
I will try to explay..If you need, I'll try to post an example.
I have a ContentView with a ListView..suppose only one row.
when I click the row of this listview I open a SettingsView page, with inside EntryCell, PickerCell etc etc.
The first time the page is loaded without error.
When I save (or if I tap Back) I pop to the previous listview (ok)
The Problem: When I tap the second time the row, I have the following exception on Handle_ItemTappedAsync (the method I call to load the SettingsView page) on clearing  the ObservableCollection binded to the SelectedItems of the PickerCell (BackupSelectedUnitaMisuraItems.Clear();)
           <sv:PickerCell Title="{local:TranslateExtension Text=UnitaMisuraText}" ItemsSource="{Binding LstUnitaMisuraItems}" DisplayMember="Descrizione" MaxSelectedNumber="1"              SelectedItems="{Binding BackupSelectedUnitaMisuraItems}" KeepSelectedUntilBack="true" PageTitle="{local:TranslateExtension Text=SelezionaText}"  />
The exception is:
System.NullReferenceException: Object reference not set to an instance of an object
at AiForms.Renderers.iOS.PickerCellView.UpdateSelectedItems (System.Boolean force) [0x00006] in :0
at AiForms.Renderers.iOS.PickerCellView.SelectedItems_CollectionChanged (System.Object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) [0x00000] in :0
at System.Collections.ObjectModel.ObservableCollection1[T].OnCollectionChanged (System.Collections.Specialized.NotifyCollectionChangedEventArgs e) [0x0000f] in <8294fc839f2d4b799a08e766e2dfa68e>:0    at System.Collections.ObjectModel.ObservableCollection1[T].OnCollectionReset () [0x00007] in <8294fc839f2d4b799a08e766e2dfa68e>:0
at System.Collections.ObjectModel.ObservableCollection1[T].ClearItems () [0x00022] in <8294fc839f2d4b799a08e766e2dfa68e>:0    at System.Collections.ObjectModel.Collection1[T].Clear () [0x00014] in <3c7b99a36820490fb2cbc5a6fc6b06d8>:0
at InimInstallatori.WizardResocontoAreePage+<Handle_ItemTappedAsync>d__3.MoveNext () [0x00076] in /Progetti.....

@matteopiccioni
Thank you for your report.
I started to survey this issue just now.
Please wait for some while.

@matteopiccioni
I published ver.0.3.0 just now.
I think this issue may be solved by this version.
Please try it a little later.
Thanks.

With 0.30 the problem is gone
Thanks for you great, save time, library!


Distribution of r2dbc-mysql

How do you intend to ship r2dbc-mysql? I used a local build to test R2DBC MySQL with Spring Data (no obvious obstacles in our test suites so far, great job!).
You might want to consider https://jitpack.io/ for a start as that's a minimal-invasive way to provide at least snapshot builds.

@mp911de I have pushed it to a milestone version. And the README has updated yet.


modular templates

As a CobiGen user and template-developer I want a more modular approach for templates so that maintenance is easier.
Currently CobiGen Templates are IMHO still handled monolithic. There is one CobiGen_Templates projekt respected by the Eclipse plugin. If that is missing the "default plugins" from https://github.com/devonfw/cobigen/tree/master/cobigen-templates are used.
With #1108 the same approach is planned to be added for cobigen-cli.
What is the problem?
If I want customize something, I have to fork everything and therefore can not participate in updates of other templates without manual steps as upstream merging.
My suggestion would be to rethink the approach and

allow the CobiGen user to provide custom collection templates either as JAR or as an extracted folder structure
find a way how such a collection of templates could declare a ID (such as devon4j, devon4ng, ...) so that CobiGen will be able to distinguish if you want to replace an existing collection of templates from the default or you want to add something new.

This way one could simply

extend with additional templates but still use the latest default templates
customize and override a modular collection of templates such as devon4j without effort for updating other collection of templates
potentially even only choose a subset of the collections of templates to speedup CobiGen (e.g. in case I only use devon4ng).

Actually it seems to me as most of the ideas are already prepared:

cobigen can get multiple collections of templates as maven dependencies
to replace an existing collection with a customized one it is possible to "replace" this dependency with the one pointing to the customized templates.
Currently I have to modify a pom.xml
With my suggestion above it might be worth to think if it is possible to have a simple templates folder where I can dropin the custom plugins (or as already prepared download existing default collections and extract them for customizations).
The only thing to rethink and change is the structure of this templates folder and the way that CobiGen could detect the template collection ID (easiest way by filename).

Maybe some CobiGen expert even has a better idea how to address the demand.


Add a way to chose the component storage type from scripting.

Add a way to chose the component storage type from scripting.
Each component can have different storages:

DenseVectorStorage stores the components in a condensed vector.
BatchDesenseVectorStorage can store more components per each entity, in a condensed vector.

You can:

Find the batch storage documentation here: https://github.com/GodotECS/godex/pull/29
See an example: https://github.com/GodotECS/godex/blob/main/tests/test_ecs_system.h#L465-L493

Moving the proposal to discussions to keep the issue just for things to fix.


Conflict resolution in notebooks while rebasing

be one commit behind origin:master that changes your notebook
locally change the notebook and commit
rebase
-> conflict in the SCM viewlet
click on the conflict
-> empty notebook editor opens

good catch, didn't think about this scenario. Since the conflict is line based, we should open the text editor other than a richer editor.


where to find private keys when launching from AppImage?

Operation System:
 $ uname -a
Linux host 3.16.0-6-amd64 #1 SMP Debian 3.16.57-2 (2018-07-14) x86_64 GNU/Linux

Beaker version:
beaker-browser-0.8.0-prerelease.7-x86_64.AppImage*

Accidentally deleted a project folder and am wondering if it is possible to restore the writer privileges somehow?
I think I am asking where the private key for each site lives?

Likely related to #815
But I couldn't quite figure out how to transpose the info there to my particular case.

BTW - have loved working with beaker so far. THANK YOU to everyone involved in making it happen :)

Ok - answered my own source directory question:
 $ ./beaker-browser-0.8.0-prerelease.7-x86_64.AppImage
zenity, kdialog, Xdialog missing. Skipping /tmp/.mount_beakerGbeidz/AppRun.
Logfile: /home/user/.config/Beaker Browser/debug.log

Ok - turns out a system restore fixed the issue I was having... as far as I can tell, you can delete the project directory and then redownload the files and you're still able to make edits...
Thanks again all!


Sdk 46 ibcv3

Description
I put this together pretty quickly because I am updating craft to the latest sdk, but I think it works!
(passes all tests)

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against correct branch (see CONTRIBUTING.md)
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Code follows the module structure standards.
[ ] Wrote unit and integration tests
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
[ ] Added relevant godoc comments.
[ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Review Codecov Report in the comment section below once CI passes

Closing this pr as the bump to beta2 for the feature branch has already been made in #1205, thanks anyways @faddat

Yeah, I think that #1205 will need rework too and thanks a ton for your work Colin.
:)


Clarification on starlette

You have cited that responder is powered by starlette, does this mean all features supported by starlette can be used in responder or is it limited to the features listed and described in the responder documentation?
Asking specifically about features like Routing, WebSocket, and WebSocketEndpoint

It does not.


what is the minimal actions required for azure CNI with custom subnet

[Enter feedback here]
what is the minimum actions required for azure CNI with custom subnet
and why exactly do we need the below actions?
•	Microsoft.Network/virtualNetworks/subnets/write
•	Microsoft.Network/publicIPAddresses/join/action
•	Microsoft.Network/publicIPAddresses/write

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

ID: 25a0d502-ce71-76d4-bf8a-060e63913b52
Version Independent ID: 69d7fa26-1a37-e477-0a2c-db58ce19a84f
Content: Service principals for Azure Kubernetes Services (AKS) - Azure Kubernetes Service
Content Source: articles/aks/kubernetes-service-principal.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

@lissff Thank you for sharing your query! We are currently investigating and will get back to you shortly on this.

@lissff Those are the permission levels that can be given to a service principle using custom roles. Suppose your ACR needs access to a VNET, Subnet or PIP in another resource then you should define these role permissions accordingly,
Microsoft.Network/virtualNetworks/subnets/read
Microsoft.Network/virtualNetworks/subnets/write
Microsoft.Network/publicIPAddresses/join/action
Read action on subnets allows you to just see the resources in that subnet, Write lets you to modify whereas action can do things like creating and deleting.
EX: If you have created a custom role which needs to deploy a VM in a particular subnets of a VNET then you need to provide write permission action for that role. Else, you will encounter this kind of errors;
Missing write permissions {'Microsoft.Network/VirtualNetworks/subnets/write'} for the following subnet(s):'MySubnet'
Network contributor roles should be least one which has all the actions required from the networking side like, reading, actions, writing.

@lissff
Hope the provided information is helpful.
We will now close this issue. If there are further questions regarding this, please tag me in a comment. I will reopen it and we will continue the discussion.

But i did try with Azure CNI network model, and i don't need this action at all: Microsoft.Network/virtualNetworks/subnets/write
My role only have below two actions, and it can create internal/external loadbalancer type of service without any issue:
Microsoft.Network/virtualNetworks/subnets/join/action
Microsoft.Network/virtualNetworks/subnets/read
Can you explain when do i need to have write role ?https://docs.microsoft.com/en-us/azure/aks/kubernetes-service-principal#networking

@psmanhas  can you check with production team if we really need Microsoft.Network/virtualNetworks/subnets/write and update the document accordingly?

@lissff Apologies for delayed response since I missed notification.
Sure I can discuss issue with Product Team and will keep you poste on same.


Route triggering twice in server but only once in localhost

Laravel Version: 5.5
PHP Version: 7.0

Description:
Server Configuration::
Ubuntu 16.04 with LAMP stack configured, composer and php extensions enabled
hosted as vhost in subdomain :: test.domain.com
Local Environment::
Ubuntu 16.04 with LAMP stack configured, composer and php extensions enabled
hosted as vhost with custom domain in localhost
Problem
Everything works fine in localhost
In server, every route loads twice which is confirmed from operation log that records same method twice at same time. This makes it harder to create/edit the forms with validation errors as the form submission redirects to index of the controller.
There is nothing on the console logs and no error records found yet.
Updates
it is supposed to be pjax error but I am not able to find what is causing the error.
xhr request is supposed to cause redirects but not sure how and why.

I tried and retried, but unable to find the root of the problem.
The validation is automatically being redirected to index of the resource. I know this, but I don't know where the redirection is taking place. Someone else here who is having the issue of similar type ?

There are 2 log entries for every get method.
Just figured this out but still don't know what is making the app behave so.
To my greatest surprise, there is only one log entry for same get method in local environment.

Can't reproduce your issue,  , Maybe check nginx configuration

I don't know what is causing the issue. I have been trying for a week and still cannot figure out anything.
There is nothing suspicious on the code as it is running well in localhost.
There is nothing suspicious I know on the server as I set up server myself.
I don't know what to do anymore. Got nothing from http headers as well.
Here's what I tried::

Reinstalled laravel and added laravel-admin in the server
Tried debugging pjax mechanism
tried debugging routes
tried tweaking .htaccess
reinstalled php extensions and rechecked ini settings

still nothing.

I also face the same issues, In localhost it works fine and no issues, but when i deply the app in digital ocean server, it generate twice records and also humberger menu does not work..
Any suggestions?

@pcfjojo check your php extensions. You might have installed the php extensions separately and also enabled on your php.ini which seem to conflict the actual settings. (it was dom-php, I guess)
I solved mine by re-configuring the server settings, might be the same case in yours.


OpenAI not found in Maven Project

Description
Hi Folks!
I'm trying to use this library in a Maven + Kotlin + Spring Boot project. I can add the openai-client library to my pom.xml and it installed fine. But when I try and use the library in Intellij, it's unable to find OpenAI.
When I create a project from scratch using Gradle as my build system, it works fine.

<dependency>
  <groupId>com.aallam.openai</groupId>
  <artifactId>openai-client</artifactId>
  <version>3.2.5</version>
</dependency>

Steps to Reproduce

[First Step]
[Second Step]
[And so on...]

Environment

openai-kotlin version: 3.2.5
Kotlin version: 1.8.21
OS: Mac M1

Additional Info
Add any other relevant context here.

Ah figured it out. Had to change it to openai-client-jvm. It seems to have brought in the Kotlin Native deps by default when using Maven.
<dependency>
 <groupId>com.aallam.openai</groupId>
 <artifactId>openai-client-jvm</artifactId>
  <version>3.2.5</version>
</dependency>


Update LA: Add Housing Dept /police bonus/LAPD PAC info

-Mention of excessive force in June protests (https://www.latimes.com/california/story/2020-06-09/hundreds-were-arrested-for-peacefully-protesting-here-are-their-stories)
-Contextualizing LAPD's $3 billion/ discretionary $1.8 billion with housing efforts, furloughing workers/cutting money in a department that is serving immediate critical needs while police offers receive bonuses (https://la.curbed.com/2020/6/2/21277088/defund-police-los-angeles-lapd-budget)
-LAPD PAC contributions to city council elections (http://thefutureleft.com/carenotcops)

Hey @jessicazhou is there a linking issue here that was approved by the approval and editorial team? If so, can you please attach it to the PR?

Hi, apologies I didn’t open an issue as it was a preexisting email — will
keep that in mind for the future!
On Fri, Jun 12, 2020 at 3:58 AM bing bong<EMAIL_ADDRESS>wrote:

Hey @jessicazhou https://github.com/jessicazhou is there a linking
issue here that was approved by the approval and editorial team? If so, can
you please attach it to the PR?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/defund12/defund12.org/pull/1460#issuecomment-643210632,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACPR4HPS2MIXNNBY7LEZUGTRWIC7FANCNFSM4N4F3LNA
.

--
Jessica Zhou | about.me/jessica.zhou http://about.me/jessica.zhou
[image: Twitter]  https://htmlsig.com/t/000001CNXTYS [image: LinkedIn]
https://htmlsig.com/t/000001CP99N5 [image: Instagram]
https://htmlsig.com/t/000001CNTCGE

Unfortunately we are only processing PRs that have stemmed from issues so they can be reviewed by our community of editors - feel free to follow this process and we'll get this updated!


⚠ HopeAlley Ecards has degraded performance

In f227464, HopeAlley Ecards (https://hopealley.com/ecards) experienced degraded performance:

HTTP code: 200
Response time: 5918 ms

Resolved: HopeAlley Ecards performance has improved in a54ef84.


Support multi-path swaps on chain-abstraction sdk - Offchain

Problem
https://github.com/connext/connext-integration/commit/5105962b149539d63cae6c1c9954f7efabcc630a
The Swapper contracts have been updated to support multipath swapping.
We need to change offchain code of chain-abstraction SDK as well.
https://github.com/connext/monorepo/blob/688c8687cd9cedbf4746ab943fbc54597de23281/packages/agents/chain-abstraction/src/helpers/swapdata.ts#L59
Impact
We can support all swapping which is from any token to any token.
Proposed Solution
Basically we need to find the best path for given from and to asset address on SDK side.
https://github.com/joshstevens19/simple-uniswap-sdk
Acceptance Criteria

[ ] Find the best swap path for Uniswap V2
[ ] Find the best swap path for Uniswap V3

Working on this, investigating Uniswap SDKs.

Integrating Uniswap V3 SDK into chain abstraction SDK.

Still working on this, depri until subgraph issue taken care of.

Progressing, works with Uniswap, need to figure out Pancake.

Looking at Gnosis chain stuff. Need to figure out how to query HoneySwap properly, there is no SDK that we can find.

Honeyswap SDK is giving weird errors/responses.

Started writing tests, Honeyswap still an issue.

PR is created.

https://github.com/connext/monorepo/pull/4609