Make it possible to depend on haskell_libraries from statically linked cc targets

This PR is incomplete! I've only updated the files that were necessary to apply my patch (in the latest commit) without bringing the rest of the repo up-to-date. As such it will probably break horribly if anyone tried to run it here, but it should be good enough for a review.
Previously, only cc targets that were linked without the linkstatic setting
could depend on the Haskell libraries with foreign exports. Any attempt to
use them in a statically-linked target resulted in a "missing shared object"
error at runtime. The dep_on_haskell cc_tests are linked in shared mode (blaze
default for cc_test), but changing the targets to cc_binary is sufficient to
reproduce the failure.
The CL enables linking of Haskell libraries into static targets and adds a
respective test. The main trick is to avoid linking against shared objects
of cc deps directly when calling GHC to emit the Haskell .so, but instead
link all of them statically into a shared library (which blaze is explicitly
disallowed from compiling as a static library), and make the Haskell target
depend on that. This solves the problem of blaze thinking that it's ok to
simply link all the cc deps directly into the final executable, because every
Haskell .so is accompanied by a self-contained cc shared object.
This of course can introduce some inefficiency when multiple Haskell libs have
common cc dependencies. In that case, the dependencies will get compiled into
each library's private copy of the cc deps. Worse still, linking multiple copies
of a single library statically into a single process might result in some surprises
(e.g. Google flag libraries expect to only be linked in once). Due to that, this
setting is off by default, and can be explicitly opt into by wrapping a Haskell
library in haskell_static_foreign_library. This will create an alternative
name for the original library that can only be referenced from targets that expect
the CcInfo provider which will be similar to the one returned by the original target,
with the exception of all cc deps being compiled into self-contained bundles as
described above.

@judah this is the PR I mentioned the other day. It would be great if you could give some feedback about how well this change fits into the bigger picture.

@blackgnezdo @apaszke apologies for the delay in review.  Overall this is a neat approach to get things working! However, I’m wondering about the overall direction and have a couple of high-level thoughts.
First, it might help to clarify the intended use case? If I remember correctly, cc_binary with linkstatic=false already works for this purpose (similar to cc_test, as you called out). So I'm wondering how much burden that extra attribute actually is, compared to the issues you mentioned with this approach (multiple copies of C/C++ libraries getting linked in the same binary)? Especially given that the net result is the same: you end up with a cc_binary with many .so runfiles (including every Haskell library dependency).
Second, I actually don't remember why the "link Haskell in a cc_binary" setup used shared libraries in the first place. Given that Haskell rules also produce .a libraries, it should be possible to link them all into one static binary. That may be harder for some reason though, perhaps because we’d need to figure out the right flags for the final link step?
For some context, originally the google3 Haskell rules only used .a files, not .so, and the FFI support (for using C/C++ in Haskell programs) involved linking together a single .a out of all the C/C++ deps. As you may imagine, this approach was fragile, for example when loading multiple Haskell libraries with C/C++ deps into GHCi at once. In 2019 we switched to using *.so instead of .a for GHCi and Template Haskell, and once we worked out the edge cases the result was simpler: we could just link against the .so directly instead of needing the monolithic C/C++ .a  library. So this change feels like a bit of a regression to me over the previous trends.

@judah Thanks a lot for taking a look! It might be due to a regression, but the current state of those build defs does not allow to link Haskell foreign libraries against cc_binary targets that use linkstatic=True. As you point out, this is less of a problem in case of cc rules, but py_binary rules often use a very similar toolchain to cc_binary but they do not allow turning off static linking! And I am trying to make the Haskell-exported functions visible in a Python program.
It's interesting that you mention that the older approach was heavily static-library focused. Did that also support Haskell foreign libraries? IIUC GHC is only capable of producing their static versions on Windows, while on Linux it has to be a shared library. Though now that I think about it it might just be a Cabal limitation? In any case, I briefly tried this, but eventually failed because GHC seemed to have been emitting relocations that the standard CC toolchain couldn't process (they were 0-sized IIRC). Any tips as to how to get something like this to work would be greatly appreciated!


Client sending invalid frame

Client can in some cases send invalid frames.
connection closed by server 501 FRAME_ERROR - type 1, first 16 octets = <<0,60,0,20,0,0,22,119,101,98,104,111,111,107,46,97>>: {invalid_frame_end_marker, 0} 0 0

Will update with a stacktrace if it happens again.

fixed in v2.0.2


Remove messages when deleted on server - does not seem to work

Expected behavior
Mails deleted on the server should automatically be deleted in the K9 mail client
Due to check mark in  "Sync serve deletions:  Remove messages when deleted on server"
Actual behavior
Mails are not deleted in K9, when deleted on server.
I have around 50 mails in my inbox on the mail server, but 1000 i my K9 Inbox.
Steps to reproduce

Send mail to mail box.
See it in K9 Mail
Delete it with another client
Go back to K9 and check about also it is delted there

Environment
K-9 Mail version: 5.403
Android version:
8.0.0
One Plus 3 phone
Account type (IMAP, POP3, WebDAV/Exchange):
IMAP

On the one side you have the Expunge operation on the mailbox/folder, and on the other the ability to synchronize events.
So if you delete a message, it is possibly marked as deleted on server, then it needs to be expunged by any client and then you need to resynchronize the currently selected mailbox/folder.
Do you tell k9 to syncrhonze with the server and are you sure the messages are expunged (not just marked as \Deleted and therefore hidden in the other client)?

They mails are expunged on the server (checked with two different clients).
But if I manually use the function "Expunge" in K9 then the inbox show the correct mails.
Is there a way where I can set this Expunge to work automatically?

Under Settings > Account Settings > Fetching mails you see 'When I delete a message' and 'Erase deleted messages on server'.  Play with them.

I don't know, play with the settings.

Why cant K9 read .eml files?? Baffled!
Please fix. Also cant find the mystical sync setting to auto poll for new mail. Looked at every setting..

Please record a debug log while syncing the Inbox. See https://github.com/k9mail/k-9/wiki/LoggingErrors

ok
On 8 March 2019 1:51:38 pm AEDT, cketti<EMAIL_ADDRESS>wrote:

Please record a debug log while syncing the Inbox. See
https://github.com/k9mail/k-9/wiki/LoggingErrors
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/k9mail/k-9/issues/3450#issuecomment-470784920

I can also confirm the behaviour of myself, is there a solution in the meantime?
My Environment
K-9 Mail version: 5.600
Android version:
9.0.0
One Plus A6003 phone
Account type (IMAP, POP3, WebDAV/Exchange): IMAP

I can also confirm the behaviour of myself, is there a solution in the meantime?
K-9 Mail version: 5.600
Android version: 9.0.0
One Plus A6003 phone
Account type (IMAP, POP3, WebDAV/Exchange): IMAP

Please create a new issue if this is still a problem with K-9 Mail 5.7xx. Don't forget to include a debug log!


Checkbox is reset after filter

Hi,
I'm using in ng2 smart table and I want to add a checkbox column to select rows, I added a "selectMode: 'multi'" and the selected rows are reset after I filter column.
The issue reproducing in my custom filter and the default filter.
any suggestion?

Can you please elaborate it


Enable shortcut for triage bot

What does this PR try to resolve?
Enable shortcut for triage bot. See: https://github.com/rust-lang/cargo/pull/10167#issuecomment-1013815453
How should we test and review this PR?
We need to test it after the merge. But there should be no problem with the robot. I refer to the rust configuration file.
Additional information
I don't know if it is accepted to open it, if we don't want to open it please feel free to close my PR.

r? @ehuss
(rust-highfive has picked a reviewer for you, use r? to override)

Sounds good to me!
@bors r+

:pushpin: Commit 22bcd7a7ed19f8177742600056e848632847fbc4 has been approved by ehuss

:hourglass: Testing commit 22bcd7a7ed19f8177742600056e848632847fbc4 with merge e778b3d90a9d9cd510a5ce5eeded3fedc36547c5...

:sunny: Test successful - checks-actions
Approved by: ehuss
Pushing e778b3d90a9d9cd510a5ce5eeded3fedc36547c5 to master...


[Bug] center of entity gizmo should has same offset as entity's center to its pivot

LDtkToUnity: v3.1.3
Unity 2020.3.38LTS

My main argument for having the icons at the object's position is to not communicate any possible reason that the GameObject's pivot point is actually where it is and not offset in a direction which could be disorienting to the user if they think that their object's origin point is in the middle when it was really top left. but I'm open to discussion


[GOBBLIN-1748] Add logs to debug multi-hop flows creation, progression, and cleanup

Dear Gobblin maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[X] My PR addresses the following Gobblin JIRA issues and references them in the PR title. For example, "[GOBBLIN-XXX] My Gobblin PR"

https://issues.apache.org/jira/browse/GOBBLIN-1748

Description

[X] Here are some details about my PR, including screenshots (if applicable):
Seeing race condition of a sort where sometimes a multi-hop DAG is cleaned up after a first step is completed but the other hops are pending or in progress.

Tests

[X] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[X] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Codecov Report

Merging #3608 (6ae1615) into master (12ba403) will decrease coverage by 3.15%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #3608      +/-   ##
============================================
- Coverage     46.88%   43.73%   -3.16%
+ Complexity    10686     2061    -8625
============================================
  Files          2125      408    -1717
  Lines         83149    17627   -65522
  Branches       9262     2154    -7108
============================================
- Hits          38984     7709   -31275
+ Misses        40585     9060   -31525
+ Partials       3580      858    -2722

Impacted Files
Coverage Δ

...a/org/apache/gobblin/util/limiter/NoopLimiter.java
40.00% <0.00%> (-20.00%)
:arrow_down:

.../gobblin/cluster/GobblinHelixTaskStateTracker.java
62.50% <0.00%> (-6.25%)
:arrow_down:

...a/org/apache/gobblin/cluster/GobblinHelixTask.java
60.21% <0.00%> (-2.16%)
:arrow_down:

...lin/util/filesystem/FileSystemInstrumentation.java
92.85% <0.00%> (ø)

...blin/service/modules/orchestration/DagManager.java

...service/modules/orchestration/DagManagerUtils.java

...rvice/modules/spec/JobExecutionPlanDagFactory.java

...obblin/runtime/template/InheritingJobTemplate.java

.../service/monitoring/LocalFsJobStatusRetriever.java

...che/gobblin/runtime/api/GobblinInstanceDriver.java

... and 1712 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


HTTP Error 413

Trying to upload an image on 13 MB I get an HTTP error 413
{
 "type": "about:blank",
 "title": "Payload Too Large",
 "status": 413,
 "detail": "Maximum upload size exceeded",
 "instance": "/api/studies/b7a4d433-c267-4d2c-b182-67bbbc37279b/files",
 "properties": null
}

We should be able to upload files & images.

This is defined in application.yml under spring.servlet.multipart.maxfile-size and max-request-size.
change this on environment specific yml files and re-deploy once we agrees to a new maximum. ps: consider videos also

Set it to 30 MB for now.


Enviroment specific variables in home variables files and project variables files

--- # $CWD/.gitlab-ci-local-variables.yml or $HOME/.gitlab-ci-local/variables.yml
SOMEVARIABLE:
  *stage*: 'the calm before the storm'
  *prod*: 'I'm da bomb'

prod:
  environment: prod
  script: echo ${SOMEVARIABLE}
# Prints 'I'm da bomb'

stage:
  environment: stge
  script: echo ${SOMEVARIABLE}
# Prints 'the calm before the storm'

Nice & clever implementation 🤩


server.database is not a function

I'm trying to test out Sails with Arangodb using your connector.
I've got a basic sails installation, nothing added except a call to sails generate api.
When I run sails lift, I get the following error:
An error has occured when trying to connect to ArangoDB:
/Volumes/WORK/test-sails/node_modules/sails-arangodb/lib/connection.js:410
      throw err;
      ^

TypeError: server.database is not a function
    at module.exports.ensureDB (/Volumes/WORK/test-sails/node_modules/sails-arangodb/lib/connection.js:26:9)
    at module.exports.getDb (/Volumes/WORK/test-sails/node_modules/sails-arangodb/lib/connection.js:44:16)
    at module.exports.connect (/Volumes/WORK/test-sails/node_modules/sails-arangodb/lib/connection.js:397:7)
    at Object.module.exports.create (/Volumes/WORK/test-sails/node_modules/sails-arangodb/lib/connection.js:418:14)
    at module.exports.getConn (/Volumes/WORK/test-sails/node_modules/sails-arangodb/lib/adapter.js:51:19)
    at Object.module.exports.adapter.registerConnection (/Volumes/WORK/test-sails/node_modules/sails-arangodb/lib/adapter.js:114:7)
    at /usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline.js:203:29
    at /usr/local/lib/node_modules/sails/node_modules/waterline/node_modules/async/lib/async.js:162:20
    at /usr/local/lib/node_modules/sails/node_modules/waterline/node_modules/async/lib/async.js:230:13
    at _arrayEach (/usr/local/lib/node_modules/sails/node_modules/waterline/node_modules/async/lib/async.js:81:9)
    at _each (/usr/local/lib/node_modules/sails/node_modules/waterline/node_modules/async/lib/async.js:72:13)
    at Object.async.forEachOf.async.eachOf (/usr/local/lib/node_modules/sails/node_modules/waterline/node_modules/async/lib/async.js:229:9)
    at Object.async.forEach.async.each (/usr/local/lib/node_modules/sails/node_modules/waterline/node_modules/async/lib/async.js:206:22)
    at Array.async.auto.registerConnections (/usr/local/lib/node_modules/sails/node_modules/waterline/lib/waterline.js:176:13)
    at /usr/local/lib/node_modules/sails/node_modules/waterline/node_modules/async/lib/async.js:590:38
    at _arrayEach (/usr/local/lib/node_modules/sails/node_modules/waterline/node_modules/async/lib/async.js:81:9)

I've added a console.log to ensureDB to dump the server variable and I guess this:
Database {
  _connection:
   Connection {
     config:
      { url: 'http://localhost:8529',
        databaseName: '_system',
        arangoVersion: 20300,
        agentOptions: [Object],
        headers: [Object] },
     _request: [Function: request],
     promisify: [Function] },
  _api:
   Route {
     _connection:
      Connection {
        config: [Object],
        _request: [Function: request],
        promisify: [Function] },
     _path: '_api',
     _headers: undefined },
  name: '_system' }

Am I missing something?

Versions info:
sails -v
0.11.3
node -v
v4.1.1
npm -v
3.3.4

I recently (about 1 week) took the ownership of this project. I was not able to run the original one but I am currently working on integrating ArangoJS 4.1.0. Take a look at the following branch: convert-to-4.0.1. This is still a work in progress but it should stabilize in the next few weeks :)

@gabriel-letarte
Thanks for the heads up. I'll give it a spin with the convert-to-4.0.1 branch.

Seems to work ok for the (very) brief test I did with the convert-to-4.0.1 branch :+1:

(after updating the connection setting, which had changed)

Im glad to hear that. I will close this issue once I merge convert-to-4.0.1 to master and update the README.md

The NPM module has been updated to 0.2.0
https://www.npmjs.com/package/sails-arangodb


Define 4 levels of project transparency which specify how project classes and dependencies should be shared with test suites

Lots of testing to demonstrate the differences between levels.
No updates to docs or samples yet.

@bot-gradle test QFL

OK, I've already triggered the following builds for you:

QuickFeedbackLinux build

After talking with @big-guy about this, we want all relationships between test suites and production code to only go through dependency management - we don't want to do extend configurations to accomplish this.
The eventual goal might be to do this even for the default test suite, drawing a horizontal line underneath compileOnlyApi, implementation, runtimeOnly in this diagram and severing those connections, replacing them with dependency management.
We might want to consider small methods that aren't Test Suite specific like:
dependencies {
  implementation(internalView(project))
}

// OR

dependencies {
  implementation(externalView(project))
}

which could perhaps be wrapped within the context of Test Suites to avoid mentioning dependencies (similar to how this PR exposes a new method).
We also want to consider a way to undo adding this dependency/setting a transparency level when we design a DSL for it.
We definitely want these relationships to be visible in Build Scans as dependencies on specific project variants.
We don't want to relate test suites at all (even as an intermediate workaround) and should encourage people to use configure.all or reusable methods/blocks to apply the same dependencies to multiple suites - extending configurations should not be the answer.


scribble_autotype_fade_out just fades in text

Example project included. Maybe I'm using this function incorrectly, in which case, sorry!
Seems to be no functional difference between scribble_autotype_fade_in and scribble_autotype_fade_out
jujuplsfix.zip

Hiya, taking a look at this now

I belieeeeve this is fixed for v6.0.8. Please could you retest at your leisure

Yep, this fixed it. Thanks!


is it possible to remove ember-cli-head-start and ember-cli-head-end?

is it possible to remove the <meta name="ember-cli-head-start"> and <meta name="ember-cli-head-end">

+1 is this possible?

@krachtstefan looks like no, will need to submit PR that sets a conditional in the template which can be set in environment/config to disable the default wrapper tags:
https://github.com/ronco/ember-cli-head/blob/master/addon/templates/components/head-layout.hbs

edit: that may be naive as those tags might be used for fastboot etc

That's what I thought :)

+1. 2019 year, friends

Would be nice if this issue explained the motivation. Why do these meta tags matter? What do you gain from removing?
For the most part these meta tags support server side rendering (which is actually a very common use case for this addon).

To be honest, I can not reproduce why I needed this back then. We may close this one, except anyone can come up with a good explaination :)

I don't remember exactly why I was trying to remove them as it was during work on a previous project, but could have just been cosmetic to eliminate cruft

OK, going to go ahead and close this for now. Happy to reopen if I've missed something here...


Boba and OMG not transfer

I transferred my OMG and my Boba from my metamask on the Boba L2 network to 2 platforms and my crypto did not arrive?
How do I get them back?
M.Duval

There is no way to directly transfer from Boba to other chains/platforms, unless you are using other tools. As noted the Transfer modal, the transfer functionally is only for transferring funds from one account on Boba L2 to another account on the Boba L2.
          CAUTION: This function is only for transfers from one L2 wallet to another L2 wallet.
          You cannot directly transfer funds from an L2 wallet to an L1 address.
          Your funds will be lost.

To move funds from Boba to another chain, DEX, CEX, or Mainnet, you have to use a bridge, such as the one in the gateway.boba.network.

Hi, I have problem with bridge from L1 to L2 on BOBA network. There is no pop-up confirmation window on Metamask when I try fast bridge OMG to L2
I use ETH Mainet end there is ETH for fees on fast bridge to L1. Also there is BOBA L2 Network at Metamask , please help if somebode know isue.


Add setup instructions

Hello !
I specified the module versions in environment.yml so that everyone has the same installation.
The last downloadable anaconda version offers Python 3.10 so I presumed that everyone would have that version.

Thanks very much for this, @bmaz!
I'll discuss it with @maikia just to confirm we are on the same page.

Dear @bmaz,
Would you mind resolving the conflicts in environment.yml to include pandas (and pin a version for it)?
Thank you!
Marianne

Hello @mkcor ,
Done !
Best,
Béatrice

Dear @bmaz,
Are you able to include the proposed changes, say, tonight? Let me know just so I can organize: If not, I'll take over your PR, because I'd like to publish the instructions tomorrow. Thanks!

Hello! I'm writing from my cellphone, so I won't be able to do the changes tonight. Tomorrow before 10:30 is more realistic.
I fully agree about Miniconda and about testing the setup. However, I think that explaining how to open a notebook and how to run a cell is already part of the first lesson. I would go for something simpler, such as python --version and jupyter lab.

In the end I added the pandas import + plot.
I also tested the installation on Windows: people need to use the Anaconda prompt and not the standard command prompt.


option to change outbound caller id

this could be useful if forwarding an existing non twilio helpline number to twilio. my local area helpline number is owned by callexperts.com and is set to forward to twilio, the helpline volunteers see the twilio number when called, it would be nice if they could see the actual helpline number. we are in the process of buying the number and porting it to twilio but this process will take some time and apparently $$$$$. this number would obviously have to be a verified twilio number.

Porting a number to Twilio is free.

I'm actually porting a Grasshopper number over to Twilio as of last night.

yes but buying it to be able to port it from callexperts.com is not, they want $400 to release the number. still over the course of time we will still save lots

Wow.  That it's insane.  Just get rid of the old number.  Phase it out.

I know thats what I suggested but all the old timers are like we have had this number for 25 years...

My ASC is paying $24.95 a month for a year, swapping out schedules (and other places with the new number).

how do you initially get the letter of Authorization from twilio, I want to transfer martha;s vineyrd number which is grasshopper to twilio

Can we take this conversation to Slack?

On May 24, 2018, at 10:34 PM, pjaudiomv<EMAIL_ADDRESS>wrote:
how do you initially get the letter of Authorization from twilio, I want to transfer martha;s vineyrd number which is grasshopper to twilio
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/radius314/yap/issues/77#issuecomment-391923429, or mute the thread https://github.com/notifications/unsubscribe-auth/ABw9u1nr4o2ZD8bagun1WxlkF6DubstBks5t122dgaJpZM4UNPgY.

I tested this and works as expected


Calculation of MaxChargeCurrent and MaxDischargeCurrent for different configurations

Hello,
this is an addendum to https://github.com/Dr-Gigavolt/dbus-aggregate-batteries/issues/10
I'm running 3 different systems:

single phase system
1x MultiPlus-II 48/5000/70-50 (connected to a single phase)
1x Fronius Symo 12.5-3-M (connected to all 3 phases)
1x 18 LiFePO4 batteries with JK BMS 2A24S20P in 18S1P configuration

single phase system
1x MultiPlus-II 48/5000/70-50 (connected to a single phase)
1x Fronius Symo 12.5-3-M (connected to all 3 phases)
2x 18 LiFePO4 batteries with JK BMS 2A24S20P in 18S2P configuration

three phase system
3x MultiPlus-II 48/5000/70-50 (one per phase)
1x Fronius Symo 20.0-3-M (connected to all 3 phases)
3x 18 LiFePO4 batteries with JK BMS 2A24S20P in 18S3P configuration

All three systems are running the same Venus OS 2.92, dbus-serialbattery and your dbus-aggregate-batteries.
I know, aggregate-batteries is not needed for the 1st system, but I want to keep the software the same for all.
I always noticed quite a great cell drift in the 2nd system and now found the reason, a wrong charge and discharge current calculation.
In this configuration the currents have to be divided by two, because 2 batteries are connected to one MultiPlus.
So I added a new setting NR_OF_BATTERIES_PER_MULTIPLUS and divide MaxChargeCurrent and MaxDischargeCurrent by this value.
Not sure if this interferes with anything. Does this make sense ?
In addition I added a state-machine to prevent a battery-low warning and added a safety feature, but that's another topic.
It's fully tested in all 3 configurations and works flawless so far ...
The source code is attached, changes are marked by "lakeroe" and files are renamed to .txt
If you're interested feel free to add it (or parts) in your source code.
Best regards,
lakeroe
aggregatebatteries.txt
settings.txt

Hello and thank you. I'll review your code at the next opportunity.

I've just looked through your hardware description.  All 3ph parallel? Does the Symo accept it?
Why don't you add one more Multi (resulting in 2 x 3ph system) and put all batteries in parallel? That is what Victron recommends. What you do cannot work properly. The most full (or most empty) battery will limit another two.

The description is probably a bit unclear. The phases are only regarding the Victron Multiplus, all Fronius Symo are connected on 3 phases ...

Back to your system, why don't you connect all batteries in parallel as recommended by Victron?

I mean all batteries in one system should be connected in parallel, only one DC busbar per system. If not, how should batteries Nr. 2 and 3 be fully charged if the battery Nr. 1 says "I am full" and the battery driver, either SerialBattery or Aggregate Batteries, stops charging?

In the measurement/balancing wires. I see no (small) fuses there.

Yes you're right. I haven't seen anybody using fuses in the balancing wires so far.
In case of a short circuit i reckon the small wires or connectors vaporize within a very short time.
But I agree, it's not the most secure or elegant solution ...

Please find a VERY simplified schematic diagram from all my 3 systems below:

After all it is as I understood initially. What is the reason not to make 3x ((18s x 2p) + BMS)) and connect all in parallel? Are they faraway each from other? In this case they should have separate Venus devices.

I really don't understand what you mean. All of my 3 systems work perfectly and I won't change anything. I also think I wired everything exactly as Victron recommends in there "Wiring unlimited" book.
Maybe that's not clear for you: All 3 systems are at 3 different locations a few km apart ...
My intention when opening this post was to share my experience with different configurations and if you want, to make your driver more flexible to various configurations, not to discuss different wirings.
Anyway thanks for your great work !

I need to understand why you needed do change the code. So all three systems are completelly independend, in different locations. That is what I wanted to need. I thought they are in one house with one common Venus device. OK, now I can look on your code modification. Thanks.

I'm reviewing your code modification now and cannot understand the problem. You reuse charge/discharge parameters from SerialBattery, let's make an example:
Batteries = 2
Battery1: I_charge_max1 = I_discharge_max1 = 100A
Battery2: I_charge_max2 = I_discharge_max2 = 80A
Results:
I_charge_max = I_discharge_max = 2*min(100A, 80A) = 160A
If the resistances of batteries and cables are equal, both batteries will be charged or discharged by max. 80A.
Further, I don't understand PER_MULTIPLUS. If Multis are connected in parallel or as 3 phases they act as a single device.
Thanks for the 0,1A limitation of discharge current, I'll implement it on next commit.

I see you use VeDbusItemImport. I don't recommend it due to its inefficiency. Better is to get all what you need by Dbus monitor. It was a solution of one of first issues (the program was too slow).

Okay, let me try to explain:
The settings for my 3 different systems are:
System                         1  2  3
NR_OF_BATTERIES                1  2  3
NR_OF_BATTERIES_PER_MULTIPLUS  1  2  1
Regarding the calculation of MaxChargeCurrent/MaxDischargeCurrent the only thing I changed is dividing by NR_OF_BATTERIES_PER_MULTIPLUS:
MaxChargeCurrent     = self._fn._min(MaxChargeCurrent)     * NR_OF_BATTERIES / NR_OF_BATTERIES_PER_MULTIPLUS
MaxDischargeCurrent = self._fn._min(MaxDischargeCurrent) * NR_OF_BATTERIES / NR_OF_BATTERIES_PER_MULTIPLUS
Try to think about all 3 configurations and it should make sense (in any system the current should be the lowest allowed).
NR_OF_BATTERIES_PER_MULTIPLUS is only needed in my 2nd system.
Everything else (the state machine below) is just adding different security levels to prevent charge, discharge and battery-low warning, but that's a different story.
Regarding VeDbusItemImport:
Like you, this is my first Venus OS / Python project and I still don't understand everything. I "stole" some ideas from here:
https://github.com/t0bias-r/venusos_acload_prioritize
The "utils import *" is to get access to MIN_CELL_VOLTAGE and MAX_CELL_VOLTAGE.
I know it's not the most elegant solution but works for me.

Okay, let me try to explain:
The settings for my 3 different systems are: System 1 2 3 NR_OF_BATTERIES 1 2 3 NR_OF_BATTERIES_PER_MULTIPLUS 1 2 1
Regarding the calculation of MaxChargeCurrent/MaxDischargeCurrent the only thing I changed is dividing by NR_OF_BATTERIES_PER_MULTIPLUS: MaxChargeCurrent = self._fn._min(MaxChargeCurrent) * NR_OF_BATTERIES / NR_OF_BATTERIES_PER_MULTIPLUS MaxDischargeCurrent = self._fn._min(MaxDischargeCurrent) * NR_OF_BATTERIES / NR_OF_BATTERIES_PER_MULTIPLUS
Try to think about all 3 configurations and it should make sense (in any system the current should be the lowest allowed). NR_OF_BATTERIES_PER_MULTIPLUS is only needed in my 2nd system.

In the case 1 and 3 it is clear, of course. But my case is similar as yours, I have 3 Multis and 2 batteries. I just disabled my own parameter calculation to reproduce your preferences.

Each physical battery:

AggregateBatteries:

The max. 200A is spread into 2 batteries, each gets or gives max. 100A - correct.

Everything else (the state machine below) is just adding different security levels to prevent charge, discharge and battery-low warning, but that's a different story.
Regarding VeDbusItemImport: Like you, this is my first Venus OS / Python project and I still don't understand everything. I "stole" some ideas from here: https://github.com/t0bias-r/venusos_acload_prioritize

Thanks a lot for this proposal, I'll test later when will have some time for it.

The "utils import *" is to get access to MIN_CELL_VOLTAGE and MAX_CELL_VOLTAGE. I know it's not the most elegant solution but works for me.

I prefer to collect data from SerialBatteries and calculate everything by my tool.

And now I'm thinking about Low Battery warning if max. discharge current is zero. Why should we avoid this warning? Is there any reason to set it to zero if the battery is not low?

In my case the "Low Battery warning" often pops up if the battery is far away from empty and for sure not low ...

In my case the "Low Battery warning" often pops up if the battery is far away from empty and for sure not low ...

But then there is no reason to set max. discharge current to zero. Or what do I misunderstand?

That's exactly the point.
If MaxDischargeCurrent is zero (or below 0.1A) the warning occurs, if greater 0.1 then not.
That's my solution:
MaxDischargeCurrent = max (0.1 * NR_OF_BATTERIES / NR_OF_BATTERIES_PER_MULTIPLUS, MaxDischargeCurrent) # to prevent battery-low warning MaxDischargeCurrent is not allowed to be below 0.1A per Multiplus

That's exactly the point. If MaxDischargeCurrent is zero (or below 0.1A) the warning occurs, if greater 0.1 then not.
That's my solution: MaxDischargeCurrent = max (0.1 * NR_OF_BATTERIES / NR_OF_BATTERIES_PER_MULTIPLUS, MaxDischargeCurrent) # to prevent battery-low warning MaxDischargeCurrent is not allowed to be below 0.1A per Multiplus

I understand the calculation. But not the reason. How can happen MaxDischargeCurrent = 0 if the battery is not empty? Bug in SerialBattery? In my case the alarm was always on before I set everything to False in SerialBattery. Even if I calculate parameters myself, I had some features of SerialBattery active to observe the results on the Dbus.

How can happen MaxDischargeCurrent = 0 if the battery is not empty? Bug in SerialBattery?

MaxDischargeCurrent = 0 happens when MIN_CELL_VOLTAGE (i.e. 3.00V) in dbus-serialbattery is reached. This only means to stop discharge, but not an empty or low batterie which is for example 2.60V.
There are many posts about this "problem" in the Victron Community, for example:
https://community.victronenergy.com/questions/191406/false-low-battery-voltage-alerts.html
https://community.victronenergy.com/questions/190864/multiplus-2-483000-unexplainable-low-battery-alarm.html
This is a "bug" or behaviour of the Multiplus II firmware not dbus-serialbattery.

Yes you're absolutely right, and that's how it is connected, one DC busbar per system ... For example have a look at the three-phase system, I think the bus bar is clearly visible. And it works just perfect !

Hello, nice setup you have there. I noticed you are using an other BMS from JK than i'm currently using.
But have you got a clue how to connect them to the Cerbo? I now use an canbus type-A cable from victron.
Link to inverte BMS from JK:
https://nl.aliexpress.com/item/1005007359327060.html?spm=a2g0o.productlist.main.5.55357Hn47Hn4IS&algo_pvid=41955a04-71e4-409e-936a-80b6b5380a09&algo_exp_id=41955a04-71e4-409e-936a-80b6b5380a09-2&pdp_npi=4%40dis!EUR!414.57!129.67!!!3084.59!964.79!%402103868817342712294145373ed978!12000040415687914!sea!NL!0!ABX&curPageLogUid=W5U1itOHZ6T1&utparam-url=scene%3Asearch|query_from%3A


build: link to static libasan

Changes

v2 (since #702)

fixed s/asan/ubsan/;
removed san intrumentation for no-san option;

Rationale
In the commit 202bff12f21b114d39b818b887ff94771a034c4d we changed the
sanitze dependencies to also force linking against libasan - in the
commit message we state that this would be harmless to newer gcc
versions. I turns out not to be true, if we're linking against the
shared libasan we should make sure to preload the lib or make sure it is
the first DSO name[1].
To avoid this kind of runtime issues we're forcing libasan to be
statically linked.
[1] -
https://github.com/gcc-mirror/gcc/blob/master/libsanitizer/asan/asan_linux.cc#L112
Signed-off-by: Leandro Dorileo<EMAIL_ADDRESS>

It does the job and seems a reasonable way to workaround the problem :+1:


kinfu crash when cover sensor

Using latest code on Azure-Kinect-Samples, with OpenCV 4.1.2. (Note that there is no issue tracker on that repo; it says to use this one.)
To reproduce:

start the opencv-kinfu sample
cover the sensor

The sample stops and prints the error:
[ERROR:0] global H:\OpenCV-4.1.2\sources\modules\core\src\ocl.cpp (3039)
cv::ocl::Kernel::set OpenCL: Kernel(fillPtsNrm)::set(arg_index=14, flags=260):
can't create cl_mem handle for passed UMat buffer (addr=0000004D17DAE480)

This is unexpected behavior. Covering the sensor to reset the tracking is an established action, as seen in demos of KinectFusion elsewhere.
(Bug may be in opencv code upstream but needs triage here to identify the cause.)

@timhutton hi tim, the sample code is simply using the opencv kinfu module, and the crash you mentioned is inside of opencv kinfu. You may better open this issue in opencv contrib github repo. https://github.com/opencv/opencv_contrib/issues

OK, thanks. Created: https://github.com/opencv/opencv_contrib/issues/2404


Configurations: Add -latomic on Linux

A build of alpha13 fails on armel (arm-linux-gnueabi, armv5te) POWER
32bit, mipsel (32bit MIPS little endian) and m68k failed to link due to
missing __atomic_fetch_or_8() in CRYPTO_atomic_or() among other calls.
Some platforms require to link against libatomic in order to provide
these functions while other can inline the needed bits.
Add -latomic to every Linux port. On armhf (arm-linux-gnueabihf,
armv7-a) resulted with no extra linking against libatomic with gcc-10.
With gcc-8 it linked against libatomic but was not needed because the
function was inlined.
One alternative would be to add it to the platforms that need it (either
in the generic template for mips and powerpc) or in our Debian rules.
Another alternative would be to use a compile test at configure time for
an autodetect.
I'm not aware of any query interface for this.
Signed-off-by: Sebastian Andrzej Siewior<EMAIL_ADDRESS>

I think it should be added only on platforms that need it.

Could you please try #15086 to see if it works for you?

The #15086 was merged. Closing this. If you still see some architecture that needs -latomic, please reopen.

Apparently I'm slow. I don't think adding it where it fails apart is low maintenance.
A compile test and configure time would be better but I failed at that.
I'm going to throw the alpha16 on Debian but based on your diff it looks good.


List of broken things

As stated in #19 , here's a list of things I've found broken or not themed.
:warning: Not everything listed here is easily accessible without being lucky and have the features enabled or spoofing the client into thinking you actually have these in your server.

All issues on GitHub so far.
There's a STATUS text overlapping on the bio, and if there's no custom status, there are two dividers visible.

[❎ 38ffde7 partially fixed, missed the ones in server notifs settings and hidden games library] All X's are not themed.

The old deprecated select menu in discovery settings.

This guidelines in forum settings (?).

Unsure if this looks good or not, but some stuff inside are weird, like hovers on buttons (e.g. Select a role button).

The profile picture of the new owner has a gray border.

Like seen above, almost all modals have an issue where the top border is without any margin from the elements inside. More examples in the images below.

Feature a message in home feed.

GIF text and that circle.

Button color should be the same as the streaming mode notice.

Issue on the text input in server discovery after 38ffde7.

[✅ 38ffde7] That box inside is different than the background on normal Discord theme. But in essence is transparent, making the text white on white background when in light mode.

[✅ 38ffde7] These two are different, even if its the same page but in different places.

[✅ 38ffde7] Text input in server discovery.

[✅ 38ffde7] That purple text and green progress bar looks weird.

[✅ 38ffde7] Text input is transparent in welcome channel settings.

[✅ 38ffde7] Stickers upload preview.

[✅ 38ffde7] No hover on this button in roles settings.

[✅ 38ffde7] Maybe this must be all the same color.

[✅ 38ffde7] Unsaved changes popup. Unsure if this can be themed properly, because it should turn to red if you are trying to exit without saving.

took care of most of these but couldn't get everything rn

edited the issue with more stuff and separated the things fixed.


Reference to a non-existing item

"When you install Visual Studio 2019, select the »Desktop development with C++ workload«." There is no such. The closest one is "Windows Desktop Application".

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

ID: 5930505f-6810-b2a2-86b5-3c678aae7f89
Version Independent ID: 28315cf8-f06f-23ad-2088-9d51d08efe0d
Content: Download the Windows Driver Kit (WDK) - Windows drivers
Content Source: windows-driver-docs-pr/download-the-wdk.md
Product: windows-hardware
Technology: windows-devices
GitHub Login: @windows-driver-content
Microsoft Alias: windowsdriverdev

Version:
Microsoft Visual Studio Community 2019
Version 16.3.9
VisualStudio.16.Release/16.3.9+29509.3

Bill, can you look at this quickly?

@EliotSeattle Reviewing now.

AB#146084

@ern0, the option will appear in the Visual Studio Installer rather than in Visual Studio. You can open the installer directly from your menu, or when you go to "Create a new project" you'll see a prompt for "Install more tools and features" which will open Visual Studio Installer for you.


Add AD and AD-Dashboard 2.7 manifests

Description
Add AD and AD-Dashboard 2.7 manifests
Issues Resolved
https://github.com/opensearch-project/anomaly-detection-dashboards-plugin/issues/454
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #3375 (37e7aa1) into main (3fe0229) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main    #3375   +/-   ##
=======================================
  Coverage   91.46%   91.46%
=======================================
  Files         172      172
  Lines        4991     4991
=======================================
  Hits         4565     4565
  Misses        426      426

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


MOE Sync 2019-11-21

This code has been reviewed and submitted internally. Feel free to discuss on
the PR, and we can submit follow-up changes as necessary.
Commits:
 Add tests that method matchers work for method references
And make them actually work for constructor references
4fe8578a87b53ae87731a5e9bd14b6e8c37d25d3

 Fix ParameterName comment regex to correctly match varargs comments.
0ce2394024d9b33b342a4ab475b5b0281ed6c776

 Fix IllegalArgumentException in ParameterName when varargs are empty.
8e1c71604da7efbdc868484844377a2108152f35

@eaftan Regarding commit https://github.com/google/error-prone/commit/0ce2394024d9b33b342a4ab475b5b0281ed6c776, did you consider writing a test confirming that the given regex pattern works successfully, by any chance?

@jbduncan there's both a test and a fix coming in the next sync :)

@eaftan Oh great, I'm glad to hear that! Thank you for the quick response. :)


[incubator/vault] Added option for VAULT_LOG_LEVEL.

Signed-off-by: Jonathan Davies<EMAIL_ADDRESS>What this PR does / why we need it: Only way to enable debug logging.

/lgtm


Move to netlify-templates org?

@AustinGreen I'd like to pull this template into the netlify-templates org so we can maintain alongside the others. That said, if you're still up for actively maintaining, I'm cool with continuing to do things here.
Let me know what you think?

I don't have the bandwidth to give this project the time it deserves, so I think that's a good idea. I appreciate all you've done Shawn!

For sure! If you change my status on this repo to "Owner", I can move it on over.

If you make me a collaborator on netlify-templates I'll be able to initiate the transfer. I'm having trouble granting you owner permission.

Ah, owner isn't really a thing for non-org repos I see. Can you just transfer to me?

Getting an error that I don't have permission to create repo's on netlify-templates, let me know the best way to proceed

Sorry about that, fixed!

@erquhart Is there any reason to keep this issue open?

Nope, good catch.
Sent with GitHawk


[KOGITO-3510] Deploy/Promote pIpelines: set credentials as params

https://issues.redhat.com/browse/KOGITO-3510
Many thanks for submiting your Pull Request :heart:!
Please make sure that your PR meets the following requirements:

[x] You have read the contributors' guide
[x] Pull Request title is properly formatted: [KOGITO-XYZ] Subject
[x] Pull Request contains link to the JIRA issue
[x] Pull Request contains description of the issue
[x] Pull Request does not include fixes for issues other than the main ticket
[ ] Your feature/bug fix has a unit test that verifies it
[ ] You've tested the new feature/bug fix in an actual OpenShift cluster

Tested with https://github.com/kiegroup/kogito-pipelines/pull/68

@spolti if you are good with my last comment, then feel free to merge :)


Add project.lock.json to CS samples

Hi @msalehmsft, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;


Feature: nvim_lsp support

It would be awesome to have preview functionality. Any ideas?

It's a hard problem.
I'm now using vim-lamp with nvim-compe.
the preview feature implemented in vim-lamp side.
I thinking now to move preview-feature into nvim-compe but it is hard...

It's a hard problem.

I'm going to look into it.
Also, @hrsh7th it would be great if we can have a feature map for nvim_lsp, that also can answer what completion nvim_lsp features can implemented with  nvim-compe. I only know of preview, is there any other?

Sorry. I'm not a native English speaker... So I didn't understand what you want maybe.
completion-nvim

chain completion
opt-{in,out} filter algorithm
document/signature_help preview
automatic insert ()
neosnippet/ultisnips support
more sources than nvim-compe
more configuable

nvim-compe

well supported isIncomplete
good fuzzy matcher

You're English is great, you understood exactly what I meant.

chain completion: .... it sounds awesome, not sure if it a priority in your case. I think it makes things more complex for the user, specially
opt-{in,out} filter algorithm: .... what is that?
document/signature_help preview: .... very very important
automatic insert (): .... it didn't actually work for me when testing completion-nvim, but it is nonetheless something important
neosnippet/ultisnips support: .... I see a lot of user use ultisnips so I think its important, for me personally I want support for  norcalli/snippets.nvim if you can give me a tell me of how things work in vim-compe, I can start working on adding
norcalli/snippets.nvim suppot
more sources than nvim-compe: .... like what?

Is there any other features, specially nvim_lsp specific ?
Specking of nvim-compe:

can you tell me more about isIncomplete?
can you tell me more about trigger/keyword position?
Yes the fuzzy matcher is amazing, even better than what completion-nvim has.

chain-completion

I have no plan to implement it.

opt-in,opt-out filter algorithm

completion-nvim has let g:completion_matching_strategy that makes the ability to customize matching algorithm by the user.

documentation preview

I have the plan to add this but it bit hard.

signature_help preview

I have no plan to implement it (I think it should be good to implement into lsp-client instead of completion-engine)

automatic insert ()

completion-nvim will insert () when CompletedItem's kind is function or method.

I have no plan to add it because it is not a Language Server Protocol way.

But vim-vsnip and vim-vsnip-integ provide similar behavior.

neosnippet/ultisnips/snippets.nvim support

I have no plan to add this. sorry.
I think it should be implemented in separated plugin like vim-vsnip-integ.

more sources than nvim-compe

completion-nvim has a lot of sources.

completion-tags
completion-tabnine
completion-treesitter
etc...

isIncomplete
The Language Server Protocol defines isIncomplete=true/false for the response of completion.
This can be used to determine whatever the client should send completion requests to each keypress.
completion-nvim has isIncomplete support but nvim-compe handles it better than it (cache/debounce/empty handling etc).
trigger/keyword position
It is hard to explain... (and maybe nvim-compe has a bug related to it)

For 3 and 4 I will open a PR and see what I can do. For 6, I'll use vim-vsnip-integ as an example for creating a snippet source for  snippets.nvim. For 7, treesitter sound something I'd love to see supported.
Thanks for clarifying  things out

If you can use vim-vsnip and vim-vsnip-integ, nvim-compe already has a source for it.

I'd love to use vim-vsnip and I'm sure it as great as nvim-compe. But snippet.nvim has some additional stuff that can be done with lua and I'm sure you've seen some demo or code examples, and that is why I went to use it.

snippets.nvim is super powerful than vim-vsnip because it can be customized by lua.
vim-vsnip has a benefit that it has a vim-vsnip-integ.
If you create a plugin for snippets.nvim that similar to vim-vsnip-integ, it is very useful for some of snippets.nvim users.

I think this issue purpose isn't clear any more, I''ll rename it and close it


 Tried different image types and sizes in kB. This happens to all images I tried, approx 6 different images all have the same issue. See attached example below.

Unfortunately can't make tweaks to the machine learning model since I'm using an API with a pre-trained model.


:memo: rename 'settings' to 'config'

Description
Update outdated get-started.md. The example still used settings instead of config leading to errors about unable to destructure from something that's undefined.
Scope of Changes

renames settings to config

UPDATE 1:
Okay, this is more likely a problem from my workspace rather than the package. Sorry about that. When I'm running my app locally and importing from the build folder and run my index.js, setting the config instead of settings seems to successfully run my server.
But if I were to import directly in system-panda (src/index.ts) or import system-panda that's downloaded from NPM, settings is accepted.

Fixed: closing PR


Improve docs

After using the library for a while, I think the documentation can be improved by organizing it in different categories:
Schema

Creating a schema
Validating / sanitizing arbitrary objects
Error handling
Required / optional values
Default values
Null values
Nesting schemas
Multiple types
Loaders

Validation

Built-in validation (provided by types / transformers)
Custom property validation hook (provided at schema-setting level)
Custom value validation hook (provided at schema level)

Casting (sanitation)

Built-in cast (provided by types / transformers)
Custom property cast hook (provided at schema-setting level)
Custom value cast hook (provided at schema level)

Types (transformers)

Array
BigInt
Boolean
Date
Function
Number
Object
Promise
Set
String
Creating a custom type

Introduced in v2.8.3


Azure Gateway VS 3rd part NVA's for VPN set up

I want to decide setting up VPN between my Azure Vnet to few of my on-premises small sites ,but we already have 3rd party NVA firewall (From azure Market place) so now customer wants to have VPN setup using NVA itself rather than Azure VPN gateway.Do you have any article which provides Pro's and Con's of setting VPN using 3rd party NVA's rather Azure VPN gateway.

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

ID: 45d7ab31-fdf3-9b0f-1439-6a01fb257aab
Version Independent ID: af13a45f-3061-2f0e-7452-b52d700b4805
Content: VPN Gateway Overview: Create cross-premises VPN connections to Azure virtual networks
Content Source: articles/vpn-gateway/vpn-gateway-about-vpngateways.md
Service: vpn-gateway
GitHub Login: @cherylmc
Microsoft Alias: cherylmc

@kiranjshetty Thanks for the feedback! We are currently investigating and will update you shortly.

@kiranjshetty I am not finding a Pro/Con document but I can provide you a reference architecture that allows for either a VPN Gateway or ExpressRoute to be implemented. Please let me know if there is something specific you need additional information about. Regards, Mike

But if I already have NVA that is capable of creating VPN then still  why do customers pay extra for Azure VPN gateway. Is there any specific feature that can't be achieved using NVA VPN than Azure VPN gateway..

@kiranjshetty Do you have specific throughput requirements or need to support a specific number of tunnels?
The specific instructions for setting up routing for an NVA can be found here: Route network traffic with a route table using the Azure portal
If you do not have a very specific requirement that cannot be met by the NVA's, that leaves price as the main differentiator.
I am including links to pricing so you may calculate and compare your specific cost analysis: Azure VPN Gateway Pricing
VPN Gateway Pricing Calculator


CCM-redirects-CJ

Added redirects to CCM doc links. There are quite a few links (close to 60). Tested local yarn build - the redirects are working.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app


Nest 7.10: Indexing a document with an id ending with a period/dot is not working as expected

NEST/Elasticsearch.Net version: 7.10
Elasticsearch version: 7.10
.NET runtime version: 4.8
Operating system version: Windows
Description of the problem including expected versus actual behavior:
We upgraded from a previous version of ElasticSearch (6.2) to 7.10 (data was migrated between two ElasticSearch servers, while being adjusted to the new format). In the new version of ElasticSearch and Nest library I am not able to index a document with an id ending with a period/dot. I am able to index it from Kibana so it is not an ElasticSearch limitation. It seems that the Nest library is stripping the period at the end.
This is the instance of the model populated with the data I am passing to the Index function:

The code I am using to do it:
if (string.IsNullOrWhiteSpace(product.Id))
product.Id = $"{product.Client}_{product.Rno}";
var ret = _client.Index(product, s => s.Index(aliasErpimport).Refresh(Refresh.True));

You can see from the call's url that the period is removed from the url.
I am using the default json serializer.
Expected behavior
I expect to have the id saved with the period sign at the end. If I take the request from the debug information dialog and I append a period at the end and run it in Kibana, it will save a document with the expected id.

After a few days of investigating the problem I came to the solution. After creating a new project from scratch and running the same code, it worked so I had to figure out what was breaking it in the current code.
Web.config had a line of code similar to this one:
<httpRuntime maxRequestLength="2147483647" maxQueryStringLength="32768" maxUrlLength="65536" />
The problem, turns out, is that httpRuntime is lacking the targetFramework property.
This fixed it:
<httpRuntime targetFramework="4.8" maxRequestLength="2147483647" maxQueryStringLength="32768" maxUrlLength="65536" />


Bonds of the Skies [PCSE01368]

App summary

App name: Bonds of the Skies
App serial: PCSE01368
App version: 1.00

Vita3K summary

Version: v0.1.5
Build number: 2692
Commit hash: https://github.com/vita3k/vita3k/commit/067135d2
CPU backend: Dynarmic

Test environment summary

Tested by: gymzatan
OS: Windows 11
CPU: AMD Ryzen 7 5800H
GPU: AMD Radeon(TM) Graphics
RAM: 16 GB

Issues
Game doesn't respond to any button at the menu screen.
Screenshots

Log
vita3k.log
Recommended labels

Menu
input bug
unity

App summary

App name: Dragon Fantasy: Volumes of Westeria
App serial: PCSE01086
App version: 1.00

Vita3K summary

Version: v0.1.5
Build number: 2715
Commit hash: https://github.com/vita3k/vita3k/commit/d23a32ce
CPU backend: Dynarmic

Test environment summary

Tested by: gymzatan
OS: Windows 11
CPU: AMD Ryzen 7 5800H
GPU: AMD Radeon(TM) Graphics
RAM: 16 GB

Issues
Fully playable after enabling libhttp.
Screenshots

Log
vita3k.log
Recommended labels

Playable


⚠ Mobitopup has degraded performance

In 6a46d12, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 10435 ms

Resolved: Mobitopup performance has improved in 1756bb0.


My explorer can not show it normally

I use firefox explorer, when I run the flask project, the firefox only show font and links, the CSS can not show normally. Then, I test it in '双核浏览器'(chrome core) and IE explorer, they also can not show normally.

Please try to clear your browser cache. If it doesn't work, go check the network tab in the developer tools of your browser.

I'm clear them at all, but it's useless. Thank you for your suggestion. May be I should edit start over in myself.

Provide a screenshot of the network tab may be helpful.

中文识别问题，这个怎么生效。我改了语言不生效。还有登录的为什么不放到上面。

I find the solution that '出现错误的原因应该是网页文档类型的不一致导致的（）。我们只要把网页的头部“”删除，网页的显示就正常了 '. Then my brower(firefox) can show it normally. Thanks.


Handle CHIP Pro

The NTC CHIP Pro is a smaller CHIP with the GR8 SOC that is designed for embedded applications.
The IO of the CHIP Pro is slightly different from the CHIP.
Need to come up with an elegant way to handle IO on the CHIP Pro while maintaining compatibility with the CHIP/PocketCHIP.

Would love to discuss how this should be implemented. I have a method in mind and most likely so do you. Feel free to message me in the forums. I can implement this in a few days.

I really didn't have a method in mind just yet, was moreso going to try it on the CHIP Pro (something you're already doing) and see where things failed miserably.
I was going to add another field to the pins_t struct that denotes CHIP/CHIP Pro support.  The XIOs and most of the LCD pins are definitely not on the CHIP Pro, but I haven't dove into and really researched everything yet.

Add per PWM channel cleanup since there are 2 PWM channels on the CHIP Pro.  This would help chip-python-aREST...

Forgot to add the issue tag to this commit: https://github.com/xtacocorex/CHIP_IO/commit/c5dbede3c4cd37552f37af7f5396fd1c5af72a87


Appstudio update test-mvp-component-sybl

Pipelines as Code configuration proposal

Pipelines as Code CI/test-mvp-component-sybl-on-pull-request has failed.PipelineRun has no taskruns

Pipelines as Code CI/test-mvp-component-sybl-on-pull-request has failed.PipelineRun has no taskruns


Asset load error on game start and close

Phew - this error took me ages to track down to this mod. They keep appearing in groups of 4 if it helps narrow down what's causing it.
Running KSP 1.3.1 with TST 7.1.0 as the only other mod installed.
These errors appear both on game load and game shutdown. I can't tell what it's looking for as the error isn't specific enough to help me know it was (I'm assuming) TST causing it.
[ERR 20:52:44.845] Trying to reload asset from disk that is not stored on disk
[ERR 20:52:44.914] Trying to reload asset from disk that is not stored on disk
[ERR 20:52:44.924] Trying to reload asset from disk that is not stored on disk
[ERR 20:52:45.079] Trying to reload asset from disk that is not stored on disk
Tested with a new career game
KSP.log https://ufile.io/wfhd2
 KSP_x64Data https://ufile.io/koj3w
Tested with a Sandbox game -
KSP.log https://ufile.io/sup71
KSP_x64_Data https://ufile.io/la74g

It's a known stock bug regarding KSPedia files.


Wrapping other Errors without losing diagnostics

I’m having trouble figuring out how to directly (i.e. not with a set of errors like related) wrap another Miette-embellished error type without losing its diagnostic information.
I started with (for example):
#[derive(Error, Diagnostic, Debug)]
pub enum Error {
    // …
    #[error("Input file had a syntax error")]
    #[diagnostic(code(mylib::syntax_error))]
    SyntaxErr(#[from] knuffel::Error),
}

However, when printing this drops the diagnostic information from the knuffel::Error.
It seems like source/diagnostic_source are the solution to this (and from implies source), however if I use them like this:
#[derive(Error, Diagnostic, Debug)]
pub enum Error {
    // …
    #[error("Input file had a syntax error")]
    #[diagnostic(code(mylib::syntax_error))]
    SyntaxErr{
        #[from]
        #[source]
        #[diagnostic_source]
        source: knuffel::Error,
    },
}

… I get problems with the Diagnostic macro:
error[E0599]: the method `as_ref` exists for reference `&knuffel::Error`, but its trait bounds were not satisfied
  --> src/lib.rs:8:17
   |
8  | #[derive(Error, Diagnostic, Debug)]
   |                 ^^^^^^^^^^ method cannot be called on `&knuffel::Error` due to unsatisfied trait bounds
   |
  ::: …/knuffel-2.0.0/src/errors.rs:27:1
   |
27 | pub struct Error {
   | ---------------- doesn't satisfy `knuffel::Error: AsRef<_>`
   |
   = note: the following trait bounds were not satisfied:
           `knuffel::Error: AsRef<_>`
           which is required by `&knuffel::Error: AsRef<_>`
   = note: this error originates in the derive macro `Diagnostic` (in Nightly builds, run with -Z macro-backtrace for more info)

For more information about this error, try `rustc --explain E0599`.

#[diagnostic_source] actually doesn’t fail if I lift it onto the enum variant (as opposed to its field) but then it doesn’t seem to have any effect.
I feel like this should be something straightforward, what am I missing? 😊

/cc @matthiasbeyer looks like something might have gone sideways with diagnostic_source?

I believe this is fixed by https://github.com/zkat/miette/pull/169 ?
@Porges could you potentially try that branch?

#169 seems to fix the compilation error but I still don’t get any diagnostics from the nested error.
Current code is:
#[derive(Error, Diagnostic, Debug)]
pub enum Error {
    // …
    #[error("Input file had a syntax error")]
    #[diagnostic(code(mylib::syntax_error))]
    SyntaxErr(
        #[from]
        #[diagnostic_source]
        knuffel::Error,
    ),
}

Output is:
Error: mylib::syntax_error

  × Input file had a syntax error
  ╰─▶ error parsing KDL

(Have tried the variant with a single-field struct as well, with the same result.)

https://github.com/zkat/miette/pull/169 seems to fix the compilation error but I still don’t get any diagnostics from the nested error.

Indeed, this is something that is being discussed here, where I suggested a potential path forward, but a deeper discussion on where the crate should head then started: https://github.com/zkat/miette/pull/170

Heya, I'd like to revive this discussion.
I've been keeping my project compatible with miette, and the structure of how the framework is used is something like the following:
consumer --> framework_plugin (potentially many of these)
      \             \
       \             v
        '--------> framework

Each of these 3 crates provides mietee::Diagnostic error types:

Example error types:
// Framework crate
#[derive(miette::Diagnostic)]
enum FrameworkError {
    One {
        #[source_code] source: miette::NamedSource,
        #[label]       error_span: Option<miette::SourceOffset>,
    },
}

// Plugin crate, depends on framework
#[derive(miette::Diagnostic)]
enum PluginError {
    One {
        #[source_code] source: miette::NamedSource,
        #[label]       error_span: Option<miette::SourceOffset>,
    },
    Two { .. },

    FrameworkError(
        #[diagnostic_source]
        #[source]
        FrameworkError,
    ),
}

// Consumer crate, depends on Framework and Plugin crates
#[derive(miette::Diagnostic)]
enum ConsumerError {
    One {
        #[source_code] source: miette::NamedSource,
        #[label]       error_span: Option<miette::SourceOffset>,
    },

    FrameworkError(
        #[diagnostic_source]
        #[source]
        FrameworkError,
    ),

    PluginError(
        #[diagnostic_source]
        #[source]
        PluginError,
    ),
}

Currently when an error is returned, the FrameworkError and PluginError diagnostics aren't shown, unless the consumer deconstructs and descends into each diagnostic source variant manually (see main.rs, env_deploy_cmd.rs):
// error is a `ConsumerError`
let diagnostic: &dyn Diagnostic = match error {
    // Repeat this for all the plugins
    ConsumerError::PluginError(PluginError::FrameworkError(e)) => e,
    ConsumerError::PluginError(e) => e,

    ConsumerError::FrameworkError(e) => e,
    _ => error,
};

So ideally the printing of those inner diagnostics could / would be automatic, since the #[diagnostic_source] attribute is already deliberately opt-in.
Given the above, I propose the following behaviour:

If a struct or enum variant is a newtype with just one #[diagnostic_source] field, and optionally a PhantomData, then the rendering of the diagnostic should be transparent (like serde).
If a struct or enum variant is a Diagnostic, has its own #[source] and #[label]s as well as a #[diagnostic_source] field, then:

The struct / variant's diagnostics are rendered.
The field's diagnostics may also be rendered:

Whether members' diagnostics are rendered by default is controllable through the MietteHandlerOpts.
Maybe limit how deep the renderer will proceed into diagnostic_source sub-fields

Would that be the right direction for miette?


Add SemVer stability badge to README

Adds a SemVer stability badge to the readme that displays the percentage of CI runs that pass when updating serde between SemVer compatible versions. Data comes from Dependabot (disclosure: I built it).
Here's what the badge looks like:

The score isn't quite 100%, maybe because of users' flaky tests. I do my best to filter those out, but hopefully a 98% score still makes it clear that users can be confident that serde follows SemVer pretty much perfectly 🙂

👍 - I'll let you know once that work is done!


fix: reduce buttons

Description

Collapse the buttons introduced by #142 .
Related Issue

Motivation and Context

How Has This Been Tested?

The click event will be executed correctly.

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Fixed the problems pointed out.
Also added a fix for the error message being hidden in the toggle.


Product startegy and plan refinement

Description

Updated the Product Strategy towards "Low-Code IIoT Application Platform"
Introduced Product Plan for Q3 and Q4

@MarianRaphael Had a few notes now, but want to take some time to think about this before merging.

@MarianRaphael This is still a draft, I think it should be marked as ready to review?


Update the attrs.xml content of the readme to match the actual project one

Some values of the readme were not the same than the actual attrs.xml file, so it was harder to understand for newcomers.

Thanks!

Most welcome :·)