Course statistics: Add type filtering to average scores chart and refactor coloring

Checklist
General

[ ] I tested all changes and their related features with all corresponding user types on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[ ] I chose a title conforming to the naming conventions for pull requests.

Client

[x] I followed the coding and design guidelines.
[x] I added multiple integration tests (Jest) related to the features (with a high test coverage), while following the test guidelines.
[x] I documented the TypeScript code using JSDoc style.
[x] I added multiple screenshots/screencasts of my UI changes.
[x] I translated all newly inserted strings into English and German.

Motivation and Context

This PR changes some existing functionality and adds some details to the average score chart on course statistics page
Description

Data label: Above the chart bars, a data label now displays now the represented average exercise score numerically.
Content order: The exercises are now ordered ascending in their average score.
Dynamic chart coloring: Previously, all bars representing an average score >= 90% were colored green and all bars representing an average score <= 25% were colored red. We decided to change this logic. Now, the in average lowest performing third of the course exercises is colored red and the in average best performing third is colored green. Note, that the exercises might not be necessarily separated in exact thirds. This depends on the general amount of exercises and the average score distribution. If for example 5 out of 10 exercises share the lowest score, it would not make much sense to declare 3 of them as lowest third and 2 of them as part of the average third.
Color legend: A color legend is added in order to explain the color code. By clicking on an arbitrary legend entry, filtering of the chart is possible:

When selecting an interval that is already selected, all other selected intervals get deselected
When selecting an interval that is currently the only one selected, all intervals get selected again
When selecting an interval that is currently deselected, it is added to the current filter

Type filter: Additionally, it is now possible to filter the chart by exercise types.

Additional change:

I changed the page structure a bit and moved the tab switcher manipulating the displayed time span below the average scores chart and separated it with a light grey border from the other charts. I think this reduces the confusion of the user since the current layout might imply that the average scores chart is time span sensitive as well and can be manipulated by the tab switcher (which is not the case apparently).

Steps for Testing

Prerequisites:

1 Instructor
1 Course with some contributions

Log in to Artemis
Navigate to Course Administration
Select "Statistics" of the corresponding course and inspect the first chart
Make sure that the exercises are ordered by their average score
Play around with the filter options (Type and interval filter). Make sure both work as expected. Note, that the interval filter will always reset the type filter. This is done in order to prevent undesired side effects.

Review Progress

Code Review

[ ] Review 1
[ ] Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

Test Coverage

File name
Branch coverage (%)
Line coverage (%)

exercise-scores-chart.component.ts
79.41
98

chart-exercise-type-filter.directive.ts
50
100

statistics-average-scores-graph.component.ts
79.41
95.86

Screenshots

Code looks good, just added a few remarks.
Additionally, after testing this on TS1, I'd like to suggest to provide an easier way to get back to selecing all "performance thirds" after having selected one. This must not necessarily be in this PR, though.. For example, if I select the "Lowest performing third", everything works, but there is no easy way to revert this selection and see all thirds again other than selecting the other two one by one. A solution could be that if someone selects a third and then clicks it again (while it's the only selected one), it goes back to selecting all instead.

Thanks for your feedback. I incorporated it in 34629c9.

I think this is how this error occurs:

Select the two intervals -> exercisesScoresFilteredByPerformanceInterval contains the exercises within both intervals (togglePerformanceInterval 2x times)
De-selecting the filter for an exercise type -> currentlyDisplayableExercises is set to empty (toggleType)
Selecting the third interval: the exercises in the third interval are added to exercisesScoresFilteredByPerformanceInterval and to currentlyDisplayableExercises.
Here, the problem occurs. In line 276, exercisesScoresFilteredByPerformanceInterval is assigned with the currentlyDisplayableExercises which only contains the exercises within the third interval (togglePerformanceInterval). Therefore, only exercises in this interval are shown.

Good catch, I'm starting to realize that handling two separate filters is quite messy. My changes in c0c8799 should resolve the problem.

I only resolved a merge conflict. No implementation logic has been changed, therefore the reviews are still valid.

Tested on ts2. Everything works as expected and I was not able to replicate the issue reported by @ole-ve. Nicely done. 👍🏻


Fix ui methods

Status
Type
⚠ Core Change
Issue

Ready
Bug//Hotfix
No
#89

Problem
What problem are you trying to solve?
See #89
Solution
How did you solve the problem?
Changed GetUiAvailableBalance to use the correct token decimals
Changed GetUiMarketMarginAvailable to use the correct divisor

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 2 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 80.43%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

Solnet.Mango/Models/MangoAccount.cs
0
2
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2425

Relevant Lines:
2972

💛  - Coveralls


fix bug: search query overlaps search result

Fixes Issue #1218

Changes proposed
Removed TopBar component as it was impractical.
Files deleted

components/TopBar/CategoryDescriptions.ts
components/TopBar/TopBar.tsx
components/TopBar/index.ts

Files modified

components/Header/Header.tsx
pages/[subcategory]/index.tsx
pages/search.tsx

Screenshots

Before this PR

After this PR
LinksHub.webm
Checklist:

[x] My code follows the guidelines of this project.
[x] I have performed a self-review of my own code.
[ ] I have commented my code, particularly wherever it was hard to understand.
[ ] I have made corresponding changes to the documentation.

Note to reviewers
Hey @rupali-codes, @CBID2, @ujjawaltyagii  please review this PR.
Thanks.

Thanks for merging the PR.
Please add gssoc23 label and level to the PR, otherwise my PR won't count.

Ohh sorry. You didn't check the GSOC box in the issue form. That's why I didn't pick it @harmeetsingh11

@CBID2 & @k-deepak04 you guys should be a little careful, they have removed the entier section of topbar

I'm reverting this PR because of the glitched have been made, @harmeetsingh11 please make a sperate PR and be careful

@rupali-codes I'm sorry for the inconvenience caused by the glitches in the PR.
I have made a fresh PR, please review it.
Thanks

@CBID2 & @k-deepak04 you guys should be a little careful while merging the PRs, they have removed the entier section of topbar

I'm reverting this PR because of the glitched have been made, @harmeetsingh11 please make a sperate PR and be careful

i noticed that he removed the thing query ="typed in the search box", but i thought it was okay to remove that as user knows what he typed and not that relevant.
i'll make sure to ask you before making decesion myself, soory for the inconvinence :(
won't happen again

@k-deepak04 its fine, you don't have to be sorry, just be a little careful :)


vulnerability fixes

chore: This commit fixes the following CVEs:

CVE-2023-37788:  github.com/elazarl/goproxy Denial of Service (DoS)
CVE-2022-1996: github.com/emicklei/go-restful Authorization Bypass Through User-Controlled Key
CWE-285: github.com/emicklei/go-restful Authorization Bypass
CWE-400: github.com/prometheus/client_golang Denial of Service (DoS)

Motivation
Modifications
Result

/hold
depends on https://github.com/opendatahub-io/modelmesh-runtime-adapter/pull/38

/unhold

@spolti it failed ci,could you please take a look at this?

@Jooho I'll close this and sync with community when this is merged https://github.com/kserve/modelmesh-runtime-adapter/pull/76

replaced by: https://github.com/kserve/modelmesh-runtime-adapter/pull/76


[Feature] please add settings page with on/off for features

In settings allow toggle on / off for features
like disable default templates
Prompts
Etc
show ui element x
To make it more customizable
Allow store of these in config file so dev can set custom config for ui🙏

Not in plan, you can fork this project and implement it by your self.

@Yidadaa
I would be interested in adding some environment variables to customize based on language.
Example use case: I am only an english speaker so I would like to disable the CN masks and prompts to clean up the UI as I will never need them.
If I was to implement this and open a pull request, would you merge it in?
Thank you.


fix: fix shim return status (return gits)

I noticed that the return code isn't forwarded by the shim. Didn't notice a particular bug nor tested the solution, but this makes more sense to me.

Oops! Don't know why I had it just returning 0. 🤦 Anyways, thank you for this fix! I'll cut a release after work today.


IO_URING as epoll alternative

Since Linux 5.1 there’s a new mechanism for high-performance batched asynchronous IO called io_uring. While it was primarily designed for disk io, it also works for network requests: https://blog.cloudflare.com/io_submit-the-epoll-alternative-youve-never-heard-about/
Is this something that would make sense for netty?

@gliwka yes! In fact its something I plan to do if its not done as part of GSOC:
https://github.com/netty/netty/wiki/Google-Summer-of-Code-Ideas-2020#add-io_uring-based-transport

Is it happening as part of GSOC still @normanmaurer?

@ijuma yes! .... See https://github.com/netty/netty/issues/10142


Fix code scanning alert - Constructor Deserialization Remote Code Execution

Tracking issue for:

[ ] https://github.com/bcgov/nr-spar/security/code-scanning/21

Once we upgrade to Spring Boot 3.1.0 we can update snakeyaml as well. Follow this thread: https://stackoverflow.com/questions/74781733/vulnerable-dependency-mavenorg-yamlsnakeyaml

Fixed! Removed from the project dependency on PR 610: https://github.com/bcgov/nr-spar/pull/610

postgres: https://github.com/bcgov/nr-spar/blob/main/backend/pom.xml#L114
oracle-api: https://github.com/bcgov/nr-spar/blob/main/oracle-api/pom.xml#L80


Sometimes upgrade resource fails: invalid variables: violate ui schema: invalid password: minimum string length is 16

Describe the bug

Steps to reproduce

Create a resource using built-in redis type.
Upgrade the resource.

Result

Sometimes upgrade fails and prompt: invalid variables: violate ui schema: invalid password: minimum string length is 16.

Expected behavior

Environment

Walrus version: main a12b753f2e823aa7a7456110215dceed4da46ba1
UI version: dev-07fa8db

Additional context
Add any other context about the problem here.

Could not reproduce with 192fc6469767ae105ce2662048495585d12e5114

Environment

Walrus version: main 66f1bd1681cc926d6b35a6caed7ec5f793ae103a
UI version: dev-88faa21

Test Result: This issue can be reproduced when the password is set as a referenced variable.

Environment

Walrus version: main 73e6ce88f4205e030d30ff4276e82d687c0ccdd0
UI version: dev-860ae96

Test Result: pass


azure: functioning ResourceGroup resource

This commit adds the functionality of creating Azure Resource Groups, which can be referenced by other existing and future Azure resources. The Resource Groups are functional, but there may be a need to refactor some of the design decisions, and additional testing must be added.
Signed-off-by: HashedDan<EMAIL_ADDRESS>
Description of your changes:
With the proposed changes, Azure Resource Groups are able to be created and referenced in Crossplane. There are multiple design decisions that may need to be iterated upon, most notable that the Reconciliation function attempts to Create or Update the resource group on every reconciliation. While the functionality is fine, I am not certain that this is the most elegant approach. I anticipate multiple changes to the code proposed in this commit. The testing of the Resource Group controller also needs significant improvement / addition.
TODO

[x] Address decision of whether to call CreateOrUpdate or CheckExistence during reconciliations following initial creation
[ ] Design an effective test suite for the Resource Group controller
[ ] Expand test on Resource Group client
[x] Discuss decision whether to restrict fields (such as name) with kubebuilder comments or with checks in client (current functionality). This applies to other resources as well.

Which issue is resolved by this Pull Request:
Resolves #277
Checklist:

[x] Documentation has been updated, if necessary.
[ ] Pending release notes updated with breaking and/or notable changes, if necessary.
[ ] Upgrade from previous release is tested and upgrade user guide is updated, if necessary.
[x] Code generation (make generate) has been run to update object specifications, if necessary.
[x] CRD manifests generation (make manifests) has been run to update CRD manifests yaml file specifications, if necessary.
[ ] Update dependencies (make vendor) has been run to update Gopkg.lock file, if necessary
[ ] All related commits have been squashed to improve readability.
[x] Comments have been added or updated based on the standards set in CONTRIBUTING.md

Hi @HashedDan, is this PR ready for another round of feedback, or were you planning on implementing anything else before we take another look?
There are a couple merge conflicts to handle now, see if you can take care of this and let me know if you need any assistance.  Thanks!

@jbw976 Ready for the next round of reviews! I will make sure to take care of the merge conflicts. I am also implementing some testing, but was waiting to determine how we were going to address fakes directory structure. Now that I have some direction ( #349 ) I will make sure to build the tests in that manner. Thanks!


PCP-36: Switch to use TiDB's Duration memory layout for Copr Duration

Description
Currently TiKV's Duration is implemented using bit flags. It can be changed to stick to TiDB's Duration memory layout (which uses gotime.Duration directly) so that Coprocessor can support executing over TiDB's Chunk format directly in future.
Goals:

Removes the fsp in current Duration implementation.
Change to use the same memory format for the Duration.
Your new implementation should be compatible with the Chunk format.

Difficulty

Medium

Score

2700

Mentor(s)

@breeswish
@iosmanthus

Recommended Skills

Rust and Golang programming

/pick-up-challenge

Alright then

@andylokandy Remember to do it in non-working time :)

/pick-up-challenge


Tutorial error

location: https://github.com/PaddlePaddle/InterpretDL/blob/master/tutorials/GradCAM_Segmentation.ipynb
🐛 Bug
in funciton GradCAMSegInterpreter._build_predict_fn( ).predict_fn( ) :
# paddle gradient computation changes since 2.4
paddle_version=tuple(map(int, paddle.__version__.split(".")))
if paddle_version>=(2,4,0):
       loss.backward(retain_graph=True) #since paddle 2.4
       gradients = paddle.grad(
             outputs=[target], inputs=[self._feature_maps[self._target_layer_name]])[0]
else:
       oss.backward()
       gradients = self._feature_maps[self._target_layer_name].grad

error: target is not defined,it should be loss

Thanks for pointing this out! We tested on 2.3.2 and didn't find the error with 2.4+.
After changing target to loss, is it working now? Would you mind proposing a PR to fix this issue?

yeah. After the change, it works very well.  I will propose a PR later.

Thanks!


[11.x] Fix query builder whereBetween with CarbonPeriod and Carbon 3

This PR fixes the query builder's whereBetween() and havingBetween() methods by calling getStartDate() and getEndDate() on CarbonPeriod, instead of using its $start and $end properties. Currently, using Carbon 3, $period->start is always 2000-01-01 and $period->end is always null (see https://github.com/briannesbitt/Carbon/issues/2982).
In Carbon 2 this is actually exactly what $start and $end already do—they are not defined, so they go through the CarbonPeriod class's __get() method, which calls getStartDate() and getEndDate() (https://github.com/briannesbitt/Carbon/blob/2.x/src/Carbon/CarbonPeriod.php#L757).
In Carbon 3 those getters are all still set up exactly the same way, but they don't work (I assume this was unintentional). CarbonPeriod now extends PHP's DatePeriod class, which actually defines $start and $end properties, so the getters are never called.

In Carbon 3 those getters are all still set up exactly the same way

No, they are no longer getters because readonly properties are set in the parent DatePeriod constructor so we don't have control of them in the sub-class.
In Carbon v2 CarbonPeriod was not extending DatePeriod (because PHP didn't allow it properly before 8.1)
I'm trying to rethink the CarbonPeriod constructor so to have them set at creation. But using getStartDate() and getEndDate() would be a good move anyway. BTW those methods also exist on DatePeriod so it could be supported too.
And a last note and DatePeriod (and CarbonPeriod) don't always have an end, it can have a number of recurrences instead.

No, they are no longer getters because readonly properties are set in the parent DatePeriod constructor so we don't have control of them in the sub-class.

Yeah that's more or less what I meant—the getters don't work that way anymore but looking at the code it seems like they were intended to, because the mappings for start, end, etc. are still listed where all the getters are handled.

BTW those methods also exist on DatePeriod so it could be supported too.

Cool, didn't realize that! whereBetween() can probably be updated to support that too then yeah.


Clarify license of packages.json

If other people want to use or rehost packages.json it would be useful to clarify the license.

It should be MIT.

MIT is for software and requires distributing the license together with the software. I'd prefer CC-BY or CC0 because they are better suited for this purpose and don't require distribution of the license.

Fine with me.

With me too.

I'd go for CC-BY because I see no reason why attribution would be difficult. Should I create a PR for it?

Yes, please.


Problems with requesting permissions programmatically as described in the API section

Issue Description
I’m trying to defer rendering <CameraKitCamera />, and instead request permissions programmatically the first time my component is shown (the first time the feature is needed by the user).
Steps to Reproduce / Code Snippets / Screenshots
The way I’m trying to go about doing this is...
requestPermissions = async () => {
    const deviceCameraAuthorizationStatus = await CameraKitCamera.checkDeviceCameraAuthorizationStatus()

    if(deviceCameraAuthorizationStatus === true) {
        this.setState({ isCameraAuthorized: true })
    } else if(deviceCameraAuthorizationStatus === false) {
        this.setState({ requestingCameraAuthorization: true })
        const isCameraAuthorized = await CameraKitCamera.requestDeviceCameraAuthorization()

        this.setState({
            requestingCameraAuthorization: false,
            isCameraAuthorized
        })
    } else {
        console.warn('Could not determine camera authorization')
    }
}

render() {
    const { requestingCameraAuthorization, isCameraAuthorized } = this.state

    return (
        <View style={styles.container}>
			{!!requestingCameraAuthorization && <ActivityIndicator />}
            {(!!isCameraAuthorized && !requestingCameraAuthorization) && (
                <CameraKitCamera ref={node => { this.camera = node }} style={styles.camera} />
            )}
            {(!isCameraAuthorized && !requestingCameraAuthorization) && (
                <Text>Y u dont gief permissions</Text>
            )}
        </View>
    )
}

The requestPermissions method runs as instructed, but I don’t get any system prompts. It works flawlessly when I just render the <CameraKitCamera /> component, though.

Environment

React Native ~Navigation~ Camera Kit version: 6.2.4
React Native version: 0.55.3
Platform(s) (iOS, Android, or both?): iOS (haven’t tested it on Android yet)
Device info (Simulator/Device? OS version? Debug/Release?): Simulator/iPhone X/11.3/Debug

This was my bad. I was confused by ‘not determined’ thinking it meant something else than ‘missing permission or denial from user’, and that the default state was false.


New version: Min.Min version 1.30.0

Pull request has been created with WinGet Automation :rocket:
Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

Here is the Setup Log.


Error after install: 403 Forbidden

Following the Getting Started guide letter for letter, visiting http://wp.docker.localhost:8000/ displays 403 Forbidden. Tried a second time, same result.
I'm on macOS running Docker for Mac Version 17.03.1-ce-mac5 (16048).

I've just tried and couldn't reproduce. I rebuilt php image just in case with fresh wodby/php, so you can try pulling image wodby/wordpress-php:7.0-2.0.0 again and see if it helps.
If not, please show the logs via docker-compose logs php|nginx.

I just had the same thing happen, in my case my project directory didn't have anything other than my docker-compose.yml. I created an index.php file and it showed up properly, so I'm guessing the issue is not having a WP install in the folder.

With new docker4wordpress 2.1.0 you can now deploy vanilla WordPress without mounting your own codebase: http://docs.docker4wordpress.org/en/latest/#1-run-vanilla-wordpress-from-image-default


Adding -bird-live option to the liveness check

Description
Adding a check for bird and confd as part of the liveness check
Related issues/PRs
fixes projectcalico/calico#2889
https://github.com/projectcalico/node/pull/369
Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note
Adding -bird-live/-bird6-live option to check for bird, bird6 and conf as part of the liveness probe.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Alina Militaru seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Deploy preview for calico ready!
Built with commit 4599f7ef2aaaf0dfd91117cccd7cd90cdd214a91
https://deploy-preview-3011--calico.netlify.com

These will go live as soon as we merge, so we need to make the non-master changes after we cut the patch releases.
It's a sad consequence of how we do manifest generation today.

@asincu could you pull out the master changes into their own PR?

@caseydavenport I will open a new PR with the changes for 3.8, 3.9 and 3.10.


KeePass (Mono edition) not appearing in systray but outside

I am running Polybar version 3.0.5 on top of i3 (v4.13). All my tray icons appear in the systray in the bottom right except for KeePass (default Arch edition). The KeePass tray icon instead appears in the upper left corner of my screen, as can be seen in the following screenshot. I am not using any other programs that run on the Mono platform, so I can't tell whether it is KeePass or Mono that is acting different.

I forgot to mention in the original post that the icon does not appear at all after starting KeePass (in contrast to what I have seen in KDE where it appears immediately). The icon only appears after I reload i3.

This persists after killall polybar.

I'm having the same problem. I see this issue has been open since april, is there anything new regarding it? Is there something that could be done to help investigate?

Unfortunately, this appears to be a mono issue, because WinForms tray support is broken. There isn't anything that we can do on our side. Try using keepass2-plugin-tray-icon in the AUR, which uses Keebuntu to create a working tray icon.


[Language]Java ExecutorService and Thread Pools

Proposed title of article
Java ExecutorService and Thread Pools
Proposed article introduction
We'll learn how to use executors and thread pools to manage our application's threads in this lesson.
This becomes a problem if your program needs to run 20 or 30 threads at once, making it difficult to start one at a time.
There will be hundreds, if not thousands, of threads running in huge multi-threaded programs at the same time. Separating thread creation and management from application logic makes sense in this case.
Key takeaways

Executors Framework
ExecutorService
Shutting down the ExecutorService
Thread Pool

References
N/A
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

Hello @FranciscaNg, we thank you for submitting your topic.
However, after some careful consideration, it struck us that this topic may be a bit over-saturated throughout other blog sites and official documentations.
We typically refrain from publishing content that is covered widely on the net or other blogs. As we're more interested in original, practitioner-focused content that takes a deeper dive into programming-centric concepts.
Please feel free to explore another more in-depth topic.


error[E0425]: cannot find function parse_strin cratesyn``

Bug Description
sqlx does not appear to be using the appropriate features on its syn dependency. I have the following Cargo.toml entries:
sqlx = { version = "*", features = ["postgres", "runtime-tokio", "runtime-tokio-rustls"] }
# no syn entry, it is brought in as a transitive dependency

And I'm seeing build errors in the sqlx-macros crate:
error[E0425]: cannot find function `parse_str` in crate `syn`
   --> /home/skainswo/.cargo/registry/src/index.crates.io-6f17d22bba15001f/sqlx-macros-0.5.11/src/query/mod.rs:318:46
    |
318 |                 let record_name: Type = syn::parse_str("Record").unwrap();
    |                                              ^^^^^^^^^ not found in `syn`
    |
note: found an item that was configured out
   --> /home/skainswo/.cargo/registry/src/index.crates.io-6f17d22bba15001f/syn-1.0.109/src/lib.rs:917:8
    |
917 | pub fn parse_str<T: parse::Parse>(s: &str) -> Result<T> {
    |        ^^^^^^^^^
    = note: the item is gated behind the `parsing` feature

Minimal Reproduction
as above
Info

SQLx version: 0.5.11
SQLx features enabled: ["postgres", "runtime-tokio", "runtime-tokio-rustls"]
Database server and version: Postgres
Operating system: nixos-23.11
rustc --version: rustc 1.73.0 (cc66ad468 2023-10-03) (built from a source tarball)

I was on a relatively old version (0.5.11). upgrading to 0.7.3 resolves the issue


Enable compression interop tests for Java clients

Thanks for your pull request. The automated tests will run as soon as one of the admins verifies this change is ok for us to run on our infrastructure.

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences


Fixed country name string compare to work with unicode

Hi there,
I found a significant issue in the library when looking up for a country that contains non ASCII characters such as Côte d'Ivoire.
The current function to case-insensitive string compare does only work in the ASCII range but not with unicode.
More information on the issue can be found here for example: https://stackoverflow.com/questions/5473542/case-insensitive-string-comparison
I've fixed it and added a test for it.

Anyone alive on the project?

Sorry, I have not found much time to work on my open source projects for quite some time now. This change is trivial though and definitely welcome. I'll get it sorted today and get a new release out.

Rebased and merged in 40ab84897f7944566d571ed8745fd5629dd2b566


Fix trace panic when concurrently adding children

What type of PR is this?
/kind failing-test
What this PR does / why we need it:
Attempts to fix a panic found in integration tests.  The panics were introduced after nested traces were introduced in https://github.com/kubernetes/kubernetes/pull/113172.
This adds a test which easily caused a panic without the locking.
Which issue(s) this PR fixes:
Fixes https://github.com/kubernetes/kubernetes/issues/113651
Release note:
NONE

cc @liggitt @aojea @logicalhan

great catch
one question, the only thing that I can see this can deadlock is if a nested trace can point to itself as a parent, that can not happen, right?

That cannot happen because parent is only set during Nest, and is only set on a trace that is also created within Nest

/lgtm
Thanks


Unable to run dotnet on mac terminal

Problem encountered on https://dotnet.microsoft.com/en-us/learn/dotnet/hello-world-tutorial/install
Operating System: macos
Provide details about the problem you're experiencing. Include your operating system version, exact error message, code sample, and anything else that is relevant.

Please provide additional details - error message, screen shots, etc.


google-vertexai model authentication error - throw new Error("APIs that require a project ID cannot use an API key")

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain.js documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain.js rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
I'm using the following version of the libraries on node version V21.7.2
just trying to initialize the VertexAI and invoke the model, and getting the following error message.
`import { VertexAI } from "@langchain/google-vertexai";
const model = new VertexAI({
authOptions: {
credentials: {
type: "service_account",
project_id: "",
private_key_id: "",
private_key:        "",
client_email: "",
client_id: "",
auth_uri: "",
token_uri: "",
auth_provider_x509_cert_url: "",
client_x509_cert_url: "",
universe_domain: "",
},
},
});
const res = await model.invoke(
"What does google gemini do?"
);
console.log({ res });
`
Up that i get the following error node_modules/@langchain/google-common/dist/auth.js:51
throw new Error("APIs that require a project ID cannot use an API key");
also, when i traced to implementation it seems like getProjectId() is implemented to throw this error
Question: I tried all the 4 ways to initilize the model to provide the auth details listed at https://js.langchain.com/docs/integrations/llms/google_vertex_ai but all of them resolved the same error
Please advice
export class ApiKeyGoogleAuth extends GoogleAbstractedFetchClient {
constructor(apiKey) {
super();
Object.defineProperty(this, "apiKey", {
enumerable: true,
configurable: true,
writable: true,
value: void 0
});
this.apiKey = apiKey;
}
get clientType() {
return "apiKey";
}
getProjectId() {
throw new Error("APIs that require a project ID cannot use an API key");
// Perhaps we could implement this if needed:
// https://cloud.google.com/docs/authentication/api-keys#get-info
}
request(opts) {
const authHeader = {
"X-Goog-Api-Key": this.apiKey,
};
return this._request(opts.url, opts, authHeader);
}
}
Error Message and Stack Trace (if applicable)
Error: APIs that require a project ID cannot use an API key
at ApiKeyGoogleAuth.getProjectId (file:///Users/mohanganesh/projects/ai/mono-ai-vertex/ping-vertex/node_modules/@langchain/google-common/dist/auth.js:51:15)
at ChatConnection.buildUrlVertex (file:///Users/mohanganesh/projects/ai/mono-ai-vertex/ping-vertex/node_modules/@langchain/google-common/dist/connection.js:166:45)
at ChatConnection.buildUrl (file:///Users/mohanganesh/projects/ai/mono-ai-vertex/ping-vertex/node_modules/@langchain/google-common/dist/connection.js:176:29)
at ChatConnection._request (file:///Users/mohanganesh/projects/ai/mono-ai-vertex/ping-vertex/node_modules/@langchain/google-common/dist/connection.js:48:32)
at ChatConnection.request (file:///Users/mohanganesh/projects/ai/mono-ai-vertex/ping-vertex/node_modules/@langchain/google-common/dist/connection.js:181:37)
at ProxyChatGoogle._streamResponseChunks (file:///Users/mohanganesh/projects/ai/mono-ai-vertex/ping-vertex/node_modules/@langchain/google-common/dist/chat_models.js:144:56)
at _streamResponseChunks.next ()
at ProxyChatGoogle._streamIterator (file:///Users/mohanganesh/projects/ai/mono-ai-vertex/ping-vertex/node_modules/@langchain/core/dist/language_models/chat_models.js:78:34)
at async VertexAI._streamIterator (file:///Users/mohanganesh/projects/ai/mono-ai-vertex/ping-vertex/node_modules/@langchain/google-common/dist/llms.js:180:30)
at async VertexAI.invoke (file:///Users/mohanganesh/projects/ai/mono-ai-vertex/ping-vertex/node_modules/@langchain/google-common/dist/llms.js:220:26)
Description

i am trying to initilize the VertexAI model from langchain and leading the above error

System Info
I have tried on mac, also  in a container and results were same.

How about comment out GOOGLE_API_KEY in your env file?
In my case, I found it makes trouble when GOOGLE_APPLICATION_CREDENTIALS and GOOGLE_API_KEY are togehter in the env file.

What @sessycode said - Are you using or setting GOOGLE_API_KEY anywhere? That shouldn't be compatible with Vertex AI.
(That said, it might make sense for the library to ignore API key completely if we're in Vertex AI mode. But I thought it did.)

Note of thanks to this thread... I had the same error because I had GOOGLE_API_KEY in my .env file for unrelated purposes

definitely it might make sense for the library to ignore API key completely if we're in Vertex AI mode...

Coincidentally, I have a fix for this in progress.

Great! I hope it'll merged soon

@regevaz - PR #7435 includes this fix.


⚠ Bofrost.at has degraded performance

In e63ab2a, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1293 ms

Resolved: Bofrost.at performance has improved in d35043e.


Add proxy support

:scroll: Description

Adds Proxy to options
Use HttpClient on non-native io platforms with proxy setup
Pass proxy settings to android

:bulb: Motivation and Context

Closes #392
:green_heart: How did you test it?
Unit tests
:pencil: Checklist

[x] I reviewed submitted code
[x] I added tests to verify changes
[ ] No new PII added or SDK only sends newly added PII if sendDefaultPii is enabled
[ ] I updated the docs if needed
[x] All tests passing
[x] No breaking changes

:crystal_ball: Next steps

I still need to to test with a real proxy setup (mitmproxy)
AFAIK we do not have proxy support on sentry-cocoa

Can't figure out how to format correctly so that klint is happy ^^

I configured cocoa to set a URLSession on sentry options with the proxy setup. Tested with mitmproxy and it is recording the event when setting up localhost:8080 as proxy. Running the example app as a macOS desktop app with both http and socks config tested.
mitmproxy --mode socks5 --listen-port 8080

options.proxy = SentryProxy(type: SentryProxyType.socks, host: "localhost", port: 8080);

Before merging, let's investigate security implications of this

@denrase Users should be aware of the implications that using a proxy brings. https://www.upguard.com/blog/proxy-server

@denrase makes sense
looks good then


Run tests with 1 thread

Description of change
Please write a summary of your changes and why you made them.
Links to any relevant issues
Be sure to reference any related issues by adding fixes issue #.
Type of change
Choose a type of change, and delete any options that are not relevant.

Bug fix (a non-breaking change which fixes an issue)
Enhancement (a non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
Documentation Fix

How the change has been tested
Describe the tests that you ran to verify your changes.
Make sure to provide instructions for the maintainer as well as any relevant configurations.
Change checklist
Tick the boxes that are relevant to your changes, and delete any items that are not.

[ ] I have followed the contribution guidelines for this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have checked that new and existing unit tests pass locally with my changes

Why.

This was a test because some tests panicked sometimes because of Stronghold and I wasn't sure if that's caused because some tests access the same folder at the same time or something like that


proof of concept implementation of keyboard shortcuts for palette tools (#985)

Hi, thanks for your PR. I'll take a look at it soon. Could you summarise what this does and how?

The KeyHandler in AbstractDiagramEditor has been changed to set the active tool in the palette based on key presses.
Key presses are buffered so that "key chords" can be used instead of being limited to a single keystroke.  If there is more than 500ms between keystrokes the buffer is cleared.
Setting the active tool is done by traversing the hierarchy of PaletteEntrys looking for instances of ToolEntry that implement the KeyboardAccessibleToolEntry interface.  When found, the key chord for the ToolEntry (see KeyboardAccessibleToolEntry#getKeyChord) is checked against the contents of the buffer.  When a complete match is found, the palette's setActiveTool is called with the target ToolEntry.
The rest of the changes support the above in a manner that seemed to be in keeping with the existing design.  For example, *UIProvider classes were modified with a getKeyChord method so that it's treated similarly to labels and images for palette entries.  There are some cases where a UIProvider didn't exist (or I didn't see one anyway) and the key chord was hard-coded at the editor level.
The key chord for each palette entry (if one exists) is now part of the hint/hover text for the palette entry.  e.g. if you hover over a Business Actor the text will say "Business Actor (ba) - ArchiMate Element", the parenthesized text is the key chord.  To activate the tool from the keyboard just press "b" then "a".
I tried to make the key chords consistent and memorable.  All elements in the same layer start with the same letter, with a notable exception for technology which I decomposed into technology and physical.  The consistent keys are used to activate similar concepts across layers.  For example, business process is activated with "bp", application process is activated with "ap", technology process is activated with "tp", etc.
This consistency comes at the slight cost of discoverability for some elements.  A notable example is a technology node which one might infer is "tn" but is actually "to".  I can explain my reasoning for why the key chords are as they are but that's probably not of interest.
One thing to keep in mind is that after a tool is activated using the keyboard shortcut the pointer needs to be moved in order for the cursor to change on screen.

Thanks. Leave it with me (might not be straight away),

Hi, I've looked at your code now. Thanks for the work that you put into this, you've obviously figured out how a lot of the code works and is structured.
Your approach is logical in several ways - using the various UIProvider classes to supply the key sequences and then mapping those to the palette tool entries.
Howver, one problem is that the key combinations are hard-coded and not user-configurable. I can imagine that some users would want to customise these key sequences.
Another problem is that the key sequences can conflict with user-defined key shortcuts. These can be configured in Arch's Preferences under "System" and "Keys". There, I added a shorchut combination of "ba" for a command. This over-rode the palette key chord for Business Actor (expected) but none of the other key chords that started with the "b" character worked ("br", "bb", etc).
I wonder whether it would be possible to use the Eclipse Command framework (ICommandService) to define the shortcut keys? I'm not sure how feasible this is given the amount of palette entries.
I did something similar for jArchi by declaring a parameterized Command, see here and here

Thanks for reviewing this pull request.  The items you've raised bothered me as well.  When I first started looking into implementing this PoC I recall seeing that there was a right way to implement commands and shortcuts but I was concerned I'd end up spending lots of time debugging configuration only to find out that what I wanted to do wasn't possible.
When I get some spare time I'll take a look at the Eclipse Command Framework and the parameterized command you've implemented to see if I can do something similar.

@bkyle I've been experimenting somewhat with the Command Framework and will also do some more experiments. I think if we take a bit more time over this, we should come up with a solution.

@bkyle I've pushed a new  branch called palette-keys with a basic implementation of using the Eclipse Command and Key Binding framework. Caveats:

Only implemented for ArchiMate elements and relations as POC
Default key bindings are blank. If we want to set defaults we'll have to add them (lots!) as key binding entries in the plugin.xml file
The key shortcut in the tooltip doesn't show in the palette if a View is already opened when launching Archi. It does show if a VIew is re-opened.

This looks great!

If a binding is made without modifiers (Ctrl, Alt keys) such as "BA" then typing that key sequence anywhere in the UI will invoke the command. So you can't use normal key sequences.

I ran into this too and was exploring the use of a custom context so that the command handler would only be invoked in relevant situations.

I ran into this too and was exploring the use of a custom context so that the command handler would only be invoked in relevant situations.

We're on the same page. I looked into using the org.eclipse.ui.contexts extension point. The issues are:

A context can only be referenced in a key binding, not a Command. So we would have to declare dozens of key bindings and the context in plugin.xml
It would not solve the problem of invoking the Command when editing the name in an element on a diagram

I've force pushed the palette-keys branch with POC code using an org.eclipse.ui.context for one key binding ("BA") that is active only when a diagram has the focus.

We're on the same page. I looked into using the org.eclipse.ui.contexts extension point. The issues are:

Great minds think alike 😄

It would not solve the problem of invoking the Command when editing the name in an element on a diagram

Some ideas I had to address this are below.  If either of these seem plausible I'd be happy to look into them further.  I mention them because you may know if they are dead ends.

I see that you've defined a org.eclipse.core.expressions.definitions extension which leads me to believe you know more about the core expression framework than I do 😄.  I was hoping that there would be some property that could be used to indicate whether the focus was in an inline editor or not and if so disable the command.  Are you aware of any property that could be used for that?
Somewhere in the GEF framework I have to believe that there's code that controls the display and focus of the inline editor.  Would it be possible to trap those events to enable/disable the commands?

It would not solve the problem of invoking the Command when editing the name in an element on a diagram

This is solved now.


Smart Grid functions

are any Smart Grid functions planned?  Using excessive energy from Photovoltaics works only when heating/cooling is off (not in standby), just because of missing room thermostat. It would be easy to switch heating just for 1/2 hour and then switch it back...

Hi! not sure what you expect by "Smart Grid functions" but I would imagine that the heating/cooling should be turned On when producing excessive energy.
If you have this information on Home Assistant then it would be easy to trigger the heat pump through the external on/off thermostat acted by ESPAltherma. This would not trigger DHW if you have it.

Hi, not really, because with Smart Grid Functions you are able to regulate the consumption of the heat pump. See this:
https://www.daikin.eu/content/dam/document-library/Installer-reference-guide/ctrl/BRP069A61, BRP069A62_4PEN464229-1_2017_08_Installer reference guide_English.pdf
Search for Smart Grid

OK I now understand that this the LAN adapter is able to limit the consumption of the heat pump to only the excessive energy. ESPAltherma cannot do this for now as it's only capable to act as a OnOff thermostat.
So you could turn it On when you have excessive production but it might consume more than what you produce...
As BRP069A61 communicates on P1P2, the power limitation can probably be achieved with Arnold's P1P2Serial
Also if you have the Demand PCB option then it seems that you can easily set a specific power consumption limit. A 4 relay module and some additional code would then allow ESPAltherma to limit the power.
Now there should also be a way to interface directly with the port X85A (to which the Demand PCB is interfaced with) but I couldn't find any information on this port. Maybe someone knows about this port...?

The LAN adapter itself is not capable of using excessive energy. For that I
need an extra electricity meter, which measures Outgoing energy, sending
the signal to LAN adapter.
Behaviour of the adapter is like:

listen on X1A/N+L contacts, if there is 230V. If yes, then:
listen on X1A/1+2 (SG0) and X2A/3+4 (SG1) if there is dry contact. Then:
if* SG0 is ON*, unit is in recommended ON mode. But only if
heating/cooling is powered OFF (using Electricity meter signal, or static
power limitation set on adapter's webpage)
if SG0 and SG1 is ON, the unit is in forced ON mode. No matter the
heating, no matter the electricity meter, it is consuming as much as
possible to stabilise the network (I am simulating this with simple manual
switch, as I don't have real SG1 signal from my electricity provider)

It would be enough to make it this way:

when floor heating back water temp is on SET value, and SG0 is ON, it
will switch OFF the heating (to take LAN Adaptor SG0 into account)
then the rest will do the LAN adaptor - heat water in boiler to its max
value - 60deg (already programmed in LAN Adaptor, which is using S0 signal
from electricity meter, or static SET value through web interface)
Once in 15 or 30 min is checked if the floor heating temp real value is
corresponding to SET value
If real=SET, continue with with step 1

Or should I simply buy a stupid Thermostat which will switch off the
heating, or I will wait until they improve the software on the LAN adapter?
I am disappointed with the LAN adapter which I consider as an unfinished
product.
miso
št 31. 12. 2020 o 22:38 Raomin<EMAIL_ADDRESS>napísal(a):

OK I now understand that this the LAN adapter is able to limit the
consumption of the heat pump to only the excessive energy. ESPAltherma
cannot do this for now as it's only capable to act as a OnOff thermostat.
So you could turn it On when you have excessive production but it might
consume more than what you produce...
As BRP069A61 communicates on P1P2, the power limitation can probably be
achieved with Arnold's P1P2Serial https://github.com/Arnold-n/P1P2Serial
Also if you have the Demand PCB option then it seems that you can
easily set a specific power consumption limit. A 4 relay module and some
additional code would then allow ESPAltherma to limit the power.
Now there should also be a way to interface directly with the port X85A
(to which the Demand PCB is interfaced with) but I couldn't find any
information on this port. Maybe someone knows about this port...?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/raomin/ESPAltherma/issues/3#issuecomment-753200735,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJZWS2A7PPLS2DKH5EQD2ADSXTVNBANCNFSM4VOATPZA
.

The LAN adapter itself is not capable of using excessive energy. For that I
need an extra electricity meter, which measures Outgoing energy, sending
the signal to LAN adapter.
Behaviour of the adapter is like:

listen on X1A/N+L contacts, if there is 230V. If yes, then:
listen on X1A/1+2 (SG0) and X2A/3+4 (SG1) if there is dry contact. Then:
if* SG0 is ON*, unit is in recommended ON mode. But only if
heating/cooling is powered OFF (using Electricity meter signal, or static
power limitation set on adapter's webpage)
if SG0 and SG1 is ON, the unit is in forced ON mode. No matter the
heating, no matter the electricity meter, it is consuming as much as
possible to stabilise the network (I am simulating this with simple manual
switch, as I don't have real SG1 signal from my electricity provider)

It would be enough to make it this way:

when floor heating back water temp is on SET value, and SG0 is ON, it
will switch OFF the heating (to take LAN Adaptor SG0 into account)
then the rest will do the LAN adaptor - heat water in boiler to its max
value - 60deg (already programmed in LAN Adaptor, which is using S0 signal
from electricity meter, or static SET value through web interface)
Once in 15 or 30 min is checked if the floor heating temp real value is
corresponding to SET value
If real=SET, continue with with step 1

Or should I simply buy a stupid Thermostat which will switch off the
heating, or I will wait until they improve the software on the LAN adapter?
I am disappointed with the LAN adapter which I consider as an unfinished
product.
miso
št 31. 12. 2020 o 22:38 Raomin<EMAIL_ADDRESS>napísal(a):

OK I now understand that this the LAN adapter is able to limit the
consumption of the heat pump to only the excessive energy. ESPAltherma
cannot do this for now as it's only capable to act as a OnOff thermostat.
So you could turn it On when you have excessive production but it might
consume more than what you produce...
As BRP069A61 communicates on P1P2, the power limitation can probably be
achieved with Arnold's P1P2Serial https://github.com/Arnold-n/P1P2Serial
Also if you have the Demand PCB option then it seems that you can
easily set a specific power consumption limit. A 4 relay module and some
additional code would then allow ESPAltherma to limit the power.
Now there should also be a way to interface directly with the port X85A
(to which the Demand PCB is interfaced with) but I couldn't find any
information on this port. Maybe someone knows about this port...?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/raomin/ESPAltherma/issues/3#issuecomment-753200735,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJZWS2A7PPLS2DKH5EQD2ADSXTVNBANCNFSM4VOATPZA
.

Hi, I am currently exploring how to integrate my PV interver with Altherma. I think it would be nice to manage it with ESPAltherma, so I only have 1 device that controls all aspects of HP.
My idea is to use a Shelly EM (or any other similar EM) and plug 2 clamps. 1st clamp measures PV production. 2nd clamp measures total building consumption.
I send those values to appropriate ESPAltherma's channels and use them to command 2 pins. Those 2 pins will in turn command 2 relays that will open/close SG0/SG1 dry contacts.
Parameters
I came up with this data and algorithm to set SG mode, please give advise if you think it could be improved:

Parameter
Description
Direction
Channel

Delta_SG_3
Power consumption of unit when in SG3 mode
Fixed constant, known at compile time
Source code

Produced_Power
Power produced by PV
Input
/ESPAltherma/em/Production

Consumed_Power
Power consumed by building
Input
/ESPAltherma/em/Consumption

SG_Mode
Current SG working mode
Output
/ESPAltherma/em/SG_Mode

Consumed_Power_HP
Power consumed by HP
Internal
Calculated ad V*A from already available channels

T_DHW
Current DHW temperature
Internal
From already available channels

S_DHW_SG0
DHW setpoint in SG0 operation
Internal
From already available channels

S_DHW_SG3
DHW setpoint in SG3 operation
Internal
From already available channels

Algorithm
IF Produced_Power - Consumed_Power >= Delta_SG_3 - Consumed_Power_HP THEN //This IF tries to prevent to consume more energy than what is being produced.
  IF T_DHW <= S_DHW_SG3 THEN  // Only switch to SG3 mode if set temperature is not reached yet
    SG_Mode = 3
    PIN_SG1 = HIGH
    PIN_SG2 = HIGH
  ELSE
    SG_Mode = 2      // Otherwise, switch to SG2 mode, to try to maximize floor heating
    PIN_SG1 = HIGH
    PIN_SG2 = LOW
ELSE IF Produced_Power - Consumed_Power >= 0 THEN // Only switch to SG2 mode if there is enough energy (this could be improved using a Delta_SG_2
  SG_Mode = 2
  PIN_SG1 = HIGH
  PIN_SG2 = LOW
ELSE  // If not power is left, set normal operation mode SG0
  SG_Mode = 0

Possible improvements

Set a threshold for SG 2 mode, eg. Delta_SG_2 (same to SG 3 mode). I didn't currently considered this only for the sake of simplicity, and also because I don't know how to find a reasonable value.
Add a SG_Working_Mode_Auto parameter: if true, ESPAltherma works as described. Else, go in "manual mode" where SG_Mode is commanded from an external device. This could help users that already have some kind of SG Ready controller and only want ESPAltherma to control relays. It is doable, but I think it's better to wait for feedback to be sure it is something actually useful
I did not consider SG 1 mode (forced OFF). This is by design as I think there is no valid reason to risk a user's comfort. If a user really wants to switch Altherma OFF, and we agree to implement manual mode, he could explicitly command an SG_Mode = 0 through some other control system

Questions
1st question is of course: @raomin  do you think this is a valuable feature for ESPAltherma? I would be pleased to implement it and upstream to your repo, but only if you like the idea. I will gladly accept a "no" and still respect and admire your work.
2nd question is for feedback. Please tell me what you think and if you see any problem with my proposal

Hi @andreapier, thanks for your feedback and constructive proposal!
In my designs for home automation I always tend to consider the ESP as actuators or sensors, the thinking part (balancing, sensor based decision, etc...) should come from the home automation hub (HA, jeedom, node-red etc...).
That means ESPAltherma would manage 2 extra output GPIOs for SG0/SG1 relays and would monitor MQTT for that (as it does currently for the external thermostat). And the decision would be based on the values your home automation hub is receiving from the different sensors (ESPAlthetrma, Shelly EM etc...). That would ensure an easy monitoring, adaptability of the solution to other cases, etc...
Obviously, adding 2 MQTT switches on ESPAltherma would not be an issue. I was considering adding 4 and hooking to the X85A for those (like me) who do not have BRP069A61.
Tell me what you think.

 I have it at home and it is not working correctly since
weeks. They promised to work it with electricity meter, but forget it. Even
SG0 processing is not working reliable. Using it with SolarEdge Zigbee Dry
Contact switch.
miso
št 4. 2. 2021 o 22:02 Raomin<EMAIL_ADDRESS>napísal(a):

Hi @andreapier https://github.com/andreapier, thanks for your feedback
and constructive proposal!
In my designs for home automation I always tend to consider the ESP as
actuators or sensors, the thinking part (balancing, sensor based decision,
etc...) should come from the home automation hub (HA, jeedom, node-red
etc...).
That means ESPAltherma would manage 2 extra output GPIOs for SG0/SG1
relays and would monitor MQTT for that (as it does currently for the
external thermostat). And the decision would be based on the values your
home automation hub is receiving from the different sensors (ESPAlthetrma,
Shelly EM etc...). That would ensure an easy monitoring, adaptability of
the solution to other cases, etc...
Obviously, adding 2 MQTT switches on ESPAltherma would not be an issue. I
was considering adding 4 and hooking to the X85A for those (like me) who do
not have BRP069A61.
Tell me what you think.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/raomin/ESPAltherma/issues/3#issuecomment-773601497,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJZWS2EX32Y3DDLKYG6NWZ3S5MDOLANCNFSM4VOATPZA
.

https://www.daikin.eu/en_us/products/BRP069A78.html

Tell me what you think.

Well, your considerations make perfect sense.
Having an integrated solution could be easier for users, but at the end it would probably be better for them to separate logic and IO as you suggest.

Thanks @andreapier for this. I believe it's a great addition to ESPAltherma for every owners of compatible HP.
I still need to figure out how to port this to Altherma3 which has nowhere SG1/SG2 ports, only through the lan adapter, or through the ondemand pcb which looks like just a bunch of optocoupler ending on the X85A port. I'll start playing with this port to see how the HP behaves.

Now that @andreapier's code is merged, I'll close this issue.
I'll reopen one if I manage to hack the X85A to directly connect with 2 extra relays.


Use inclusive language in observe_featuregates.go

Replace the use of "Whitelist" with "AllowList," and "Blacklist" with
"DenyList." This is in accordance with the Inclusive Naming Initiative's
recommendations for these terms. See
https://inclusivenaming.org/language/word-list/#whitelist-blacklist.

/assign @mfojtik
/cc @sttts

/remove-lifecycle stale
Will revisit after 2022


Fix challenge details page blank screen - part 3

cherry-picked previously lost commits.

In my development branch, it's showing This branch is 12 commits ahead, 13 commits behind main.
Any idea how to fix this?

Yes, this is happening because of the cherry picked commits are deleted in
main's commit history.
Create a PR from development to be merged into master. Verify the changes
on GitHub via compare and merge directly.
We are good.
On Sat, Sep 25, 2021, 5:11 PM Rishi Purwar @.***> wrote:

In my development branch, it's showing This branch is 12 commits ahead,
13 commits behind main.
Any idea how to fix this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rishipurwar1/coding-space/pull/56#issuecomment-927108902,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACATUAEC2LHEZPE7K7L655LUDWYNJANCNFSM5EXQLYAQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Can you please tell me where I am making mistake?
https://user-images.githubusercontent.com/57035408/134770463-c8a0fa22-ced2-409f-8370-41d561f92402.mov

Let's get on a video call and sort this. I don't understand why you're not
seeing the raise PR button.
I'll send the link on Twitter in a while. I'm watching Ronaldo play right
now 🤭
On Sat, Sep 25, 2021, 5:20 PM Rishi Purwar @.***> wrote:

Can you please tell me where I am making mistake?
https://user-images.githubusercontent.com/57035408/134770463-c8a0fa22-ced2-409f-8370-41d561f92402.mov
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rishipurwar1/coding-space/pull/56#issuecomment-927109878,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACATUAH3PJAY47MQ43PAM4DUDWZQBANCNFSM5EXQLYAQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Now, everything works fine.
Thank you for going above and beyond!

Now, everything works fine.
Thank you for going above and beyond!

Yay! 🎆 It was a great effort!


Show duplicate settings when overriding defaults

When working with any of the settings.json files (user or workspace) It would be amazing to know if you are overriding a property with the exact same value as the default settings. Maybe highlighting it. Then we can avoid duplicating configurations and we can keep our settings with just the necessary overrides.
Motivation
Keep settings to the bare minimum aligns perfectly with the vscode minimal philosophy, so having a file where we just tweak what it's necessary feels as a crucial feature.
Implementation
A simple underline warning to the setting that has the same value as the default would be enough to tell the user that what they are writing is redundant.

Hi @julie777 . IMO, what i am trying to propose here is a minimal tweak to avoid duplicating settings between the different levels of configuration. I am more than fine with the current interface and the way to manage them. Cheers!

Today I wasted a couple hours debugging a problem with formatting on save in Python.
It was caused by the hidden interaction of user settings and workspace settings.


Refactor Settings

Would be better to save settings as a single object, istead of multiple entries.
Example:
localStorage.setItem( 'test', JSON.stringify(car) );
console.log( JSON.parse( localStorage.getItem( 'test' ) ) );

Will add type safe parsing;

just wondering, if you would rather do the test in #84 - might be more useful than the refactoring for now.

Sorry @Idrinth , missed that one. Too many messages from Github lately :)
Actually this task could closed, and done as a part of #138


python310Packages.pyvicare: 2.19.0 -> 2.20.0

Diff: https://github.com/somm15/PyViCare/compare/2.19.0...2.20.0
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 204384 run on x86_64-linux 1

3 packages built:

home-assistant-component-tests.vicare
python310Packages.pyvicare
python39Packages.pyvicare


Replace EventEmitter2 with redux

...and use FSA as the Action data structure.

Used fsa-emitter instead. Fixed by #85


Update mechanism to choose indentation style

Hi Dan!
First of all, thanks for this module, I've got a passion for well-formatted code and PSScriptAnalyzer is sorely missing an auto-correct feature a la rubocop.
I've made quite a drastic change to the indentation param - a choice of the major indentation options (without prejudice).
Let me know if this is something you'd consider accepting or if there are any changes you want
cheers
Ben

Hey Ben -
Taking a quick look... looks perfect!  Yep, I agree with you, leaving it open to any type of index text is probably silly; there really are only three options we use.  Having an explicit choice is also a better user interface; with text someone might accidentally type 3 spaces "   " instead of 4 but now that problem goes away.
Thank you for updating all the various locations - including the test script and docs!  I will merge later today.
-Dan


OpenSSL "Wrong version number" error

I have tried to use the debugger for the first time (since working out a domain issue previously).
Certificates generated and downloaded OK and was able to start Debug Server and Debug Service. However, on trying to set a Service Entry Point for the first time, I received the error:
EQAVS1007E  on port 8005 could not be connected.
Message received: write EPROTO 8870656:error:100000f7:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER:....\third_party\boringssl\src\ssl\tls_record.cc:231:
No SEP was set according to the interface.
I have no idea what this error means.

No-one has any idea on this? I've found two classes of error around the 'net that have similar symptoms - one says I'm using the wrong OpenSSL, but there is an issue on this project that says this is directly addressed now, and one says I'm using HTTPS when HTTP is required, which surely cannot be the case given the generation of certificates required to get this far.
I have recreated the error with the Debug in Batch option as well, so it is not specific to the type of debug.

Well I have "progress" on this issue. What may not be clear from my copy-pasted error is that first line...
EQAVS1007E  on port 8005 could not be connected.
Note the two spaces after the error code. Despite the highly generic message, this clued me in to maybe it didn't know who to talk to at all.
I had previously seen the launch.json file - it jumped into my editor at some point, and I had not closed it as I wanted to figure out what purpose it serves. I noticed in each block it has an empty host: "" definition. Curious, I filled in the one for Service Entry Points and tried connecting again. A new error!
"Self signed certificate". Well yes, because it was generated for me! OK, so more searching...
I next found issue #2190 which mentioned installing a CA-issued cert. I have one of those. We use it successfully for Apache instances and even some bash services.
I followed the import process detailed in that issue and now I get yet another error.
self signed certificate in certificate chain
No, I disagree. The certificate is issued by our company and our Windows computers trust the issuer. I proved this is the case both for my computer by issuing a curl to the server in question, and for that server by issuing a curl from it to another server with a certificate by the same issuer. Does VSCode have its own list of trust anchors??
Next I followed another tip in the aforementioned issue - using a browser to inspect the certificate returned on port 8005. I had used this approach with the original, self-generated certificate and was indeed able to view it. Now with my CA-issue certificate installed (I am led to believe), the server response on port 8005 - either from a browser or from a curl - is "empty response" (close_notify). So I cannot even validate which certificate is being offered up.
I don't know if I should have edited the host entry in launch.json as this file is not even mentioned in the limited documentation. That documentation just gives very rudimentary steps and assumes it all just works. It clearly doesn't.
This project is a great enabler... or it would be if it would just be documented fully. A lot of the time I don't know if my problem is with Code for i, or VSCode, or Windows, or the server. I have little chance of figuring this out easily because there is so little information to go on other than issues from other poor souls who trip over the seemingly endless land mines like I do.
Also... this issue was opened over a month ago and has not received any more attention than being labelled a debug issue.

@zkarj735 sorry about that. The biggest problem with the debugger is that it is not maintained by anyone who works on Code for IBM i. So when issues arise, there is not much the maintainers can do.
I've passed this issue to someone on the debug team at IBM. Hopefully they can help.

This project is a great enabler... or it would be if it would just be documented fully. A lot of the time I don't know if my problem is with Code for i, or VSCode, or Windows, or the server. I have little chance of figuring this out easily because there is so little information to go on other than issues from other poor souls who trip over the seemingly endless land mines like I do.
Also... this issue was opened over a month ago and has not received any more attention than being labelled a debug issue.

Wow, slow down with the cheap shots here pal. All of this is provided to you by the OSS community and volunteer maintainers, and sometimes, life gets busy! You're more than welcome to take on your personal free time to improve the documentation and help other people struggling with the extension 😊
The debug client extension and debug service is provided and maintained by IBM, as closed source projects. We're dealing with the cards we were given and it's a little bit of a struggle, as you figured out.

I'm sorry if you feel that way, but here's my viewpoint.
Code for i is not just an OSS project that I might stumble on - it is actively touted to the IBM i community through multiple channels, including directly from IBM. This is a community used to the level of documentation IBM provides for the OS on this amazing platform.
Here's my problem... I would certainly consider improving the documentation (and I have already done so once before in a very minor way) but I am not trying to figure out some subtlety of a problem here... I literally have to guess at what all the pieces are. Which is why I asked the question. I asked in the hope that people who already understand a lot more of how it works than I do might at least offer some suggestions to work with. Even if that was just "sorry, the debugger isn't happy and we don't know why".
In my missive above, I asked about the launch.json file. It is clearly a significant part of the configuration yet is, as far as I could find, not mentioned at all in the Code for i documentation. Furthermore, my question about it elicited no further information on my guessed approach to it.
We all know that documentation comes last. Heck, I used to be "that guy". Until I realised that documentation is as important as the code. This is why my team has a knowledgebase that has, last time I counted, well over 600 detailed articles on any tools and processes we have created as well as many that came before our time that we have figured out. We're sysadmins, not programmers, but we do use code (RPG, CL, SQL) to help automate stuff.
I understand the debugger is closed source and the Code for i maintainers are in the dark on its secrets, but this is not the first time I've had to guess at how Code for i works because the documentation is still very much in a "happy path" stage. If it explained all the pieces and where and why they are used, I might have a fighting chance at figuring out the issues on my own - and updating the documentation where there are gaps.

@zkarj735 Obviously you're very passionate about this project, and I am grateful for that. But, open-source is like a birthday present. You can use it and enjoy it, or you can get rid of it and never used it again. It's your to do as you wish.
There are 4 core maintainers of the project and Code for IBM i, and subsequent extensions, are not our full time jobs. IBM do commit my time to working on it, which is great, but it's not 100% of my time, and priorities are spread out to make sure things get fixed and improved across the board. None of the maintainers are paid (other than me, by my employer) to work on Code for IBM i. They do it when they are able to.
For the record, I fully agree that our documentation could do with more enhancements. But, in this project, documentation is just like code; we have to prioritize and find the time to work on it. I can guarantee that documentation is updated as we work on new features, but perhaps it doesn't go in depth enough.
It seems like the project is not up to your standards, which does make me sad, and we don't expect you to use it. You are free to not use it as much as you are free to use it. Of course, the maintainers want to help solve issues as fast as we can. For the sake of this issue, specific to the debugger, there wasn't much we can do. It was tagged debug so someone from IBM could take a look at it (which they didn't, I am looking into this).
I can appreciate that you have told us what needs to be improved, and this is something I will hold onto as I work through my priorities for the projects. With that said, you are also welcome to contribute more. Sometimes, I find that the time spent replying to issues could be time spent contributing to docs or code to solve the issue.
I hope we can work on improving based on your suggestions, and better yet, having more documentation contributions from you so we can make improvements for all our users.

I thought it might be worth me explaining some specific parts.

I asked in the hope that people who already understand a lot more of how it works than I do might at least offer some suggestions to work with.

I am trying to get someone from IBM

In my missive above, I asked about the launch.json file. It is clearly a significant part of the configuration yet is, as far as I could find, not mentioned at all in the Code for i documentation.

That is because Code for IBM i does not do anything with the launch.json file, so therefore we don't document anything. It is used by the debugger and not anything involved with us. It is documented in the VS Code docs, though.

@zkarj735 We recommend the users to use the integrated debug actions in Code for IBM i to start a debug session. Please follow the steps below:

Create an object filter in the Object Browser view
Expand the filter to show the program you want to debug
Right click on the target program and select Start Debugging > Debug as Batch

@zkarj735 If you use the launch template in launch.json, please add the following parameters into the launch entry and try again:
        "secure": true,
        "ignoreCertificateErrors": true,

Thank you @worksofliam for acknowledging my concern. I'd go so far as to say that documentation should be prioritised higher than it is. The best and most capable code is only as good as what people know it to be.
I have seen updates made on the project that mention "doing x smarter". If this approach was taken to documentation I think it would be in a better place. I appreciate that the maintainers don't necessarily have the time to do everything but, by the same token, everyone who uses this tool will also have limited time to try to understand how to use it. We're all professionals with a job to do that's not diving into the complexities of this.
@mkwan01 thanks for the info on launch.json. I added those and got past the next issue. However it then wanted the user, program name, and library all specified in the file. That kind of blunts this approach unless there are variables that could be used. I did get it to the stage where the debug view reckoned something was running, though I could not get the SEP to activate.
Given the futility of having to edit the file for every debug, I looked at the alternative method, using the integrated actions, but these have an important limitation. They require that the source both be present on the server (which I suspect may be a hard limitation) and that it be in a SRCPF.
One of the main reasons we are using VSCode is to enable local development based off Azure DevOps git repositories. We have this working smoothly now with a solid process around multi-user work. Gone are the days of massive comment blocks at the top of every source member! We even have a compile processor that handles source types from a stream file the OS does not.
It seems, however, that this local development approach is a thorn in the side of being able to run the debugger.

@zkarj735 Yes, we do have a requirement that the source need to be present on the IBM i. This is currently a hard requirement and built into multiple levels of dependencies. Using the launch.json file is not able to solve this limitation right now.
Given the increasing importance of local development, we will work with other teams to look for ways to address this limitation in the future.

Thanks @mkwan01. Given we have to deploy the locally edited source (to the IFS) to compile, I think it would be a reasonable interim step to support debugging from the IFS browser if there are no other technical impediments for that.

We have opened an internal enhancement for local source support. I think we can close this issue now.
We just released a new debug client v2.0.2 and a new debug service PTF. You can open new issues if you run into other debug problems in the newer debug client.
@worksofliam


feat: throw runtime error when passing runtime to Page

Once documentation is public, I can update this message with a link to it.

Here is what the new warning message looks like ^

Here is what the warning looks like now:

I thought about talking about ReactRuntimeProvider but I don't really think that content belongs in an error message, and since the solution is different for each router I think it makes most sense to add a link to the docs when they are published.

I thought about talking about ReactRuntimeProvider but I don't really think that content belongs in an error message, and since the solution is different for each router I think it makes most sense to add a link to the docs when they are published.

I agree with not getting into a ton of details here. Perhaps we can link to our docs and the upgrade guide for 0.15.0 and that can have more details on the change and why it happened and how to address it? Just removing the prop without understanding the implications might cause more problems, and those would be subtle and wouldn't put the user in a position to succeed.

@joshuawootonn, is this logged only in the browser or is it also logged in the terminal when running next dev?

@joshuawootonn, is this logged only in the browser or is it also logged in the terminal when running next dev?

It's logged in both

@migueloller how do you feel about me shipping this and creating a followup ticket to update it when the docs are completed?

@migueloller how do you feel about me shipping this and creating a followup ticket to update it when the docs are completed?

What are we trying to ship? If it's not the error message we want then it doesn't seem worth it? Also, I think it's ok for us to use a link that won't be live until later since there's kind of a circular dependency here with us wanting this to go out with 0.15.0 but us wanting to have the docs done before we ship 0.15.0.

@joshuawootonn, here's what I would say in the warning:
Warning: The \`runtime\` prop is no longer supported in the \`@makeswift/runtime\` \`Page\` component as of \`0.15.0\`. See our docs for more information on what's changed: https://docs.makeswift.com/migrations/0.15.0

We could also link to the GitHub release instead of the docs.
Also, I'm still worried that if we don't do an error this won't help users as much. An error would be so much more helpful since it would prevent the user from getting into a bad state.

Good point the migration URL isn't random. Changed the message and threw an error.


How to get the difference between two image to generate a new image?

Now I have a problem: If there two picture, I want to get the difference between these two picture to generate a new picture.(On Mac, Photo Booth App have this feature)
The differences means the differences of contents of two images.For example, one image's content is my room and the other image's content is my room with I am sitting in a chair, the new image's content is just I without any other thing.

By "difference", do you mean a subtractive blend?
If so, create two GPUImagePicture instances and a GPUImageSubtractBlendFilter. Target the two GPUImagePictures at the GPUImageSubtractBlendFilter. Run -processImage on both and the blend will produce a pixel-by-pixel subtraction of the two, in the order that they are provided as targets.


Common Attributes to each Product Variant

I propose to add Common Attributes to each Product Variant.
What I'm trying to achieve
Take the Demo site as example, when customer select Hard Cover from a Book, there will be one common attribute like this: Available For Sale: US only. When customer select Soft Cover, the common attribute changed to: Available For Sale: International Edition only.
Thanks.

You can add attributes common to all variants of a product. See for example "Product Types" > "Books":

Doesn't that solve your case?

Nope.
Attributes common to ALL variants will not change neither the Hard or Soft cover is selected. What I expect to see is changing of the common attribute when customer click an variant.

I think what you're asking for is variant attributes that do not appear as pickers?

Exactly!

More example on this:

click on variant Hard Cover, the variant attribute change to:

Available For Sale: US only
Page Color: Full Color
Paper Quality: Premium

click on variant Soft Cover, the variant attribute change to:

Available For Sale: International Edition only
Page Color: Black and White
Paper Quality: Normal

Any plan to implement this?

Similar use case: book cover type + number of pages. We only want to select the first while the second changes for informational purposes.

Size and length, you must choose the first and second option.


Feature request - Needed to (1) provide a consistent UI and (2) to support automated UI tests

In the workitem detail/edit page, the description field is handled differently from the comment field:

The description field is displayed with an edit (pencil) icon while the comment field does not have this icon
The user has the option of either saving the description text by pressing the RETURN key, or by clicking on the description save icon. The comment field does not have corresponding save/cancel icons.

The feature request is for the editing of the description field and the comment field to be made consistent by adding the edit, save, cancel icon buttons currently implemented for the description field to the comment field.
This will also assist us in creating automated tests as we are seeing inconsistencies (and some failures) in automating tests that use the ENTER key across PhantonJS and all supported browsers.  Thx!

Yes, agreed it should be the same interaction. This is documented here in the designs.
https://redhat.invisionapp.com/share/6E9OIX4YB
The only difference being that there is no touch to edit, as in the WI Desc. The reason being that users will touch and scroll a list of comments, so that this interaction on the comments would be problematic.

Thanks Monica - the UI tests may have to rely on the save/cancel buttons
unless we can resolve the test framework's problems with the ENTER key.
-- Len
On Wed, Jan 4, 2017 at 1:10 PM, MonicaGran<EMAIL_ADDRESS>wrote:

Yes, agreed it should be the same interaction. This is documented here in
the designs.
https://redhat.invisionapp.com/share/6E9OIX4YB
The only difference being that there is no touch to edit, as in the WI
Desc. The reason being that users will touch and scroll a list of comments,
so that this interaction on the comments would be problematic.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/almighty/almighty-ui/issues/630#issuecomment-270442613,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAnOPfvQxrlxeJ8c0MQKtnJEBZnDAottks5rO-CxgaJpZM4La0K-
.

--
Len DiMaggio<EMAIL_ADDRESS>JBoss by Red Hat
314 Littleton Road
Westford, MA 01886  USA
tel:<PHONE_NUMBER>
cell:<PHONE_NUMBER>
http://www.redhat.com
http://community.jboss.org/people/ldimaggio


Traefik disable forwarding by default option

See https://github.com/containous/traefik/issues/233.
In some deployments there is a desire to not forward traffic unless it is explicitly enabled. Right now traefik will expose any container unless explicitly turned off.
If this feature is added to upstream traefik, we can make it an option in our deployment.

This option can be set in master: https://github.com/CiscoCloud/mantl/blob/ad1892417ff25595dfb759de56873f7e76c82f97/roles/traefik/defaults/main.yml#L7


Decentrealized Model Training Via Volunteer grid GPU/CPU computing with BOINC

Is your feature request related to a problem? Please describe.
Given independent AI production resources are limited in scope compared to black box big tech platforms,  an open, collaborative machine learning platform training models through a global volunteer grid of computing power will elevate opensource ai to the parameter level of GPT3 and beyond in short order.
Describe the solution you'd like
BOINC is open source open cloud computing software allowing developers to decentralize and streamline heavy computer workloading similar to that of torrenting. Utilizing this platform we can speed up the processing of machine learning model data by leveraging a global network of volunteer processing power, unleashing the most powerful opensource AI available to the public realm.
Is there any plans already in place to implement this, and if not, what are your greatest ideas on making this a reality?

There's some discussion of this here.


Presentation

We need some sort of the presentation scenario, which looks connected not just a bunch of random commands being triggered at the show-off, but rather a connected story should be conveyed.

It looks like if we could debug something and fix a simple bug, using only voice commands that'll be great.
I think fixing some NPE by adding not null check anywhere will fit.
Seems like a lot of work though, but possible.

So we need to:

set exception breakpoint
locate to problem
surround it with not null check
run all this stuff again

What are your thoughts on this?

Are we capable to run configurations already?

Can now


Update README.md

This is the sample pull request to check the github functionality.

Pull request done fine


Add trails to nitiwiki

Wikilinks, with the directive trail, will register the target page as an element of a trail.
Each trail are chained together and will display navigational link prev for the previous page of the trail, next for the next page of the trail and up to go to the pages that has used the trail wikilink.
For instance, if the page doc has the following content:
To use nitiwiki, first [[trail: install|install it]],
then [[trail: simple_wiki|create a first wiki]].

You can also do advanced things like:

* [[trail: github|editing pages with github]]
* [[trail: templating| adapting the templates]]

A trail will be made and will consists of the sequence of pages install, simple_wiki, github and templating.
On each one of these pages, there will be links for the previous and next page.
If a page includes trail wikilinks and is also the target for trail wikilinks, then the two trails are merged and pages will be visitable in a depth-first order.
This nesting of trails can be used to have sections and sub-sections.
Demo is up: http://info.uqam.ca/~privat/nitlanguage/manual/

No documentation about it in the README?
To be honest, I don't undestand how to use it. You juste have to use the trail directive and everything is done for you?

reroll:

do not force whitespace after command in wikilink
update README about trails
add trails in examples

+1

:shipit:

reroll: spell in the README


Add bandit for finding common security issues in the code

@tatiana has another recommendation around "safety" package

Safety may complement or be a replacement for Bandit: https://pypi.org/project/safety/
It may be worth checking them both and making a decision on this.

Afaik bandit is for finding sec vuln in our code and safety is for checking overall sec vuln. It checks also your python deps. Another alternative would be native github codeql.
For this ticket, I would say as a first step bandit is great. We can easily add a pre-commit for that.


Roll engine 4e9e69d2b392..f001ea29f1b9 (1 commits)

https://github.com/flutter/engine/compare/4e9e69d2b392...f001ea29f1b9
git log 4e9e69d2b392..f001ea29f1b9 --first-parent --oneline
2020-01-08<EMAIL_ADDRESS>adding windows platform to felt. fixing signal (flutter/engine#15111)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

Trybots failed. These were the failed builds: https://github.com/flutter/flutter/runs/379714797 , https://github.com/flutter/flutter/runs/379714690

Commit queue failed; closing this roll.


Add a new TEE type: SE (IBM Secure Execution)

I was wondering if I could raise a PR to add a new TEE type named Se like https://github.com/virtee/kbs-types/pull/20, even if the TEE is not specified at https://virtee.io/.

Yes, please feel free to raise a PR with your desired change, and we will take a look.

Thanks for the reply. I will raise a PR next week.


Icon Request: icon-hourglass

fi-hourglass
fi-hourglass-start
fi-hourglass-half
fi-hourglass-end

icons added
http://fontisto.com/icon-hourglass
http://fontisto.com/icon-hourglass-start
http://fontisto.com/icon-hourglass-half
http://fontisto.com/icon-hourglass-end


ANE Structure

The ANE structure is separated by platform, it could be helpful if we can merge the mobile ANE in one that supports:
Android-ARM
Android-x86
iOS-ARM
iOS-x86
Another ANE for Desktop, supporting:
Windows-x86
Windows-x64
MacOS-x86
MacOS-x64
And if it's possible each ANE has a fallback to the flash-player swc, so we have to set the bridge swf by default and it will use it by context.
So at the end we can have only one application.xml that includes the ANE for mobile and it supports the flash-player fallback too.

Yeah it would be great to merge into single ANE...see my previous answer though.


Backport "HBASE-28485 Re-use ZstdDecompressCtx/ZstdCompressCtx for performance (#5797)" to branch-3

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 36s
Docker mode activated.

-0 :warning:
yetus
0m  3s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ branch-3 Compile Tests _

+1 :green_heart:
mvninstall
3m  4s
branch-3 passed

+1 :green_heart:
compile
0m 15s
branch-3 passed

+1 :green_heart:
shadedjars
5m 14s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 15s
branch-3 passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m 49s
the patch passed

+1 :green_heart:
compile
0m 15s
the patch passed

+1 :green_heart:
javac
0m 15s
the patch passed

+1 :green_heart:
shadedjars
5m 17s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 12s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
5m 45s
hbase-compression-zstd in the patch passed.

24m 28s

Subsystem
Report/Notes

Docker
ClientAPI=1.45 ServerAPI=1.45 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5803/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/5803

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux ce46451ad63c 5.4.0-174-generic #193-Ubuntu SMP Thu Mar 7 14:29:28 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-3 / add57ca4b3

Default Java
Eclipse Adoptium-11.0.17+8

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5803/1/testReport/

Max. process+thread count
473 (vs. ulimit of 30000)

modules
C: hbase-compression/hbase-compression-zstd U: hbase-compression/hbase-compression-zstd

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5803/1/console

versions
git=2.34.1 maven=3.8.6

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 40s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ branch-3 Compile Tests _

+1 :green_heart:
mvninstall
4m 34s
branch-3 passed

+1 :green_heart:
compile
0m 25s
branch-3 passed

+1 :green_heart:
checkstyle
0m 12s
branch-3 passed

+1 :green_heart:
spotless
0m 56s
branch has no errors when running spotless:check.

+1 :green_heart:
spotbugs
0m 25s
branch-3 passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
3m 19s
the patch passed

+1 :green_heart:
compile
0m 17s
the patch passed

+1 :green_heart:
javac
0m 17s
the patch passed

+1 :green_heart:
checkstyle
0m  7s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
hadoopcheck
6m 15s
Patch does not cause any errors with Hadoop 3.3.6.

+1 :green_heart:
spotless
1m 11s
patch has no errors when running spotless:check.

+1 :green_heart:
spotbugs
0m 43s
the patch passed

_ Other Tests _

+1 :green_heart:
asflicense
0m 11s
The patch does not generate ASF License warnings.

26m 41s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5803/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/5803

Optional Tests
dupname asflicense javac spotbugs hadoopcheck hbaseanti spotless checkstyle compile

uname
Linux 0566631aae64 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
branch-3 / add57ca4b3

Default Java
Eclipse Adoptium-11.0.17+8

Max. process+thread count
77 (vs. ulimit of 30000)

modules
C: hbase-compression/hbase-compression-zstd U: hbase-compression/hbase-compression-zstd

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-5803/1/console

versions
git=2.34.1 maven=3.8.6 spotbugs=4.7.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.


that.log.error is not a function, shuts down Homebridge

this error sequence killed off Homebridge. I restarted HB and interrogated the plugin via Siri, no issues.
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>[5/10/2020, 7:43:47 AM] TypeError: that.log.error is not a function
at WundergroundAPI. (/usr/local/lib/node_modules/homebridge-weather-plus/apis/weatherunderground.js:66:14)
at self.callback (/usr/local/lib/node_modules/homebridge-weather-plus/node_modules/request/request.js:185:22)
at Request.emit (events.js:210:5)
at Request.onRequestError (/usr/local/lib/node_modules/homebridge-weather-plus/node_modules/request/request.js:877:8)
at ClientRequest.emit (events.js:210:5)
at TLSSocket.socketErrorListener (_http_client.js:406:9)
at TLSSocket.emit (events.js:210:5)
at emitErrorNT (internal/streams/destroy.js:92:8)
at emitErrorAndCloseNT (internal/streams/destroy.js:60:3)
at processTicksAndRejections (internal/process/task_queues.js:80:21)
[5/10/2020, 7:43:47 AM] Got SIGTERM, shutting down Homebridge...

another occurrence with SIGTERM:
[5/14/2020, 5:10:43 PM] TypeError: that.log.error is not a function
    at WundergroundAPI.<anonymous> (/usr/local/lib/node_modules/homebridge-weather-plus/apis/weatherunderground.js:58:15)
    at Request.self.callback (/usr/local/lib/node_modules/homebridge-weather-plus/node_modules/request/request.js:185:22)
    at Request.emit (events.js:210:5)
    at Request.<anonymous> (/usr/local/lib/node_modules/homebridge-weather-plus/node_modules/request/request.js:1154:10)
    at Request.emit (events.js:210:5)
    at IncomingMessage.<anonymous> (/usr/local/lib/node_modules/homebridge-weather-plus/node_modules/request/request.js:1076:12)
    at Object.onceWrapper (events.js:299:28)
    at IncomingMessage.emit (events.js:215:7)
    at endReadableNT (_stream_readable.js:1183:12)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)
[5/14/2020, 5:10:43 PM] Got SIGTERM, shutting down Homebridge...

another occurrence at startup:
[5/14/2020, 7:52:05 PM] TypeError: that.log.error is not a function
    at WundergroundAPI.<anonymous> (/usr/local/lib/node_modules/homebridge-weather-plus/apis/weatherunderground.js:58:15)
    at Request.self.callback (/usr/local/lib/node_modules/homebridge-weather-plus/node_modules/request/request.js:185:22)
    at Request.emit (events.js:210:5)
    at Request.<anonymous> (/usr/local/lib/node_modules/homebridge-weather-plus/node_modules/request/request.js:1154:10)
    at Request.emit (events.js:210:5)
    at IncomingMessage.<anonymous> (/usr/local/lib/node_modules/homebridge-weather-plus/node_modules/request/request.js:1076:12)
    at Object.onceWrapper (events.js:299:28)
    at IncomingMessage.emit (events.js:215:7)
    at endReadableNT (_stream_readable.js:1183:12)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)
[5/14/2020, 7:52:05 PM] Got SIGTERM, shutting down Homebridge...

At this point, I've removed weather-plus from my config.

Thanks for reporting. I cannot test weather underground and therefore rely on community feedback. Error handling for weather underground is better in v3.2.1


Add redirect for old Merge Readiness page

Found a broken link to:
https://launchpad.ethereum.org/en/merge-readiness
Let's add a redirect (for all languages) to the corresponding Checklist:
https://launchpad.ethereum.org/en/checklist

@samajammin Ah good call, thanks for surfacing, can knock this out now