Add Cipher Exceptions Unit Tests

Description of Changes
Briefly describe the changes you've made.
Related Issue
If applicable, reference the issue that this PR addresses.
How Has This Been Tested?
Briefly describe how you tested your changes.
Checklist
Please confirm the following:

[ ] I have tested my changes and corrected any errors.
[ ] I have documented my changes if necessary.

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

Project coverage is 91.19%. Comparing base (e11a354) to head (2c37a58).

Additional details and impacted files
@@              Coverage Diff              @@
##               main       #4       +/-   ##
=============================================
+ Coverage     76.68%   91.19%   +14.50%
  Complexity       60       60
=============================================
  Files            14       14
  Lines           193      193
=============================================
+ Hits            148      176       +28
+ Misses           45       17       -28

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


ARM: Implement PC within same bank of 16 register for CPU

Before of this PC was a separated variable, in original design PC is only
R15 of array of registers.
Right now in check_mov_rx_immediate we verify immediate value from 0 to 15, is this a realistic situation?
Another question, we are advancing PC after execution, does this make sense?
We can also skip those question right now, just some thoughts for future work :)

Your implementation looks good.

Did you think about if it is better to move Registers implementation to a new file?
About the second question:
instruction pointer: after that the processor decodes the current instruction it finds how many bytes it occupies and
obviously knows how many bytes to add to the current instruction pointer to reach the next instruction, and so far so good;
Some processor, where all instruction have the same length, can add 4 (after execution) uncoditionally, I think this is the
answer.


On radio buttons, focus outline is around the button only rather than parent element

On radio buttons, focus outline is around the button only rather than parent element.
Slack Message
Reported by Melanie


Discord Link for 4C community

Hi all, as we have a discord community, we can add its link in readme to help more people join community.

@Pradumnasaraf can you add good first issue label to this issue ?

@Pradumnasaraf can you add good first issue label to this issue ?

Hey! Saurabh I am not a maintainer of this repo, Francesco can only add labels.


Problem with mlat-client

Hello, first of all a big thanks for these create containers!
But as the title suggest, I've got an issue with the mlat-client. It constantly spams with "outlier detected". I've tried to tweak some configuration but with no luck so far.

Could you give some pointers on what could be wrong?
Piece out of my compose file:
  adsbexchange:
    image: ghcr.io/sdr-enthusiasts/docker-adsbexchange:latest
    tty: true
    container_name: adsbx
    restart: always
    networks:
      - adsbnet
    environment:
      - BEASTHOST=readsb
      - TZ=Europe/Brussels
      - LAT=xxx
      - LONG=xxx
      - ALT=xxx
      - SITENAME=aircrafts
      - UUID=xxxxxxxxx
      - PRIVATE_MLAT=true
    tmpfs:
      - /run:rw,nosuid,nodev,exec,relatime,size=64M,uid=1000,gid=1000```

I might have found my problem... It was located at my mlathub I guess. I connected it to https://github.com/sdr-enthusiasts/docker-planefinder on port 30054 which is the echo port...


HttpClient not working

Simple console app using .NET 7 with Wasi.Sdk 0.1.3-preview.10012 :
HttpClient c = new HttpClient();
HttpResponseMessage r = await c.GetAsync("https://github.com/");

Console.WriteLine($"Response status: {(int)r.StatusCode}");
Console.WriteLine("Content length:" + r.Content.ReadAsStream().Length);

Tried running using wastime 6.0.0 with: wasmtime run .\myapp.wasm and wasmtime run .\myapp.wasm --wasi-modules wasi-common, in both cases following error is printed:
[wasm_trace_logger] cant resolve internal call to "Interop/Runtime::BindJSFunction" (tested without signature also)

Your mono runtime and class libraries are out of sync.
The out of sync library is: System.Runtime.InteropServices.JavaScript.dll

When you update one from git you need to update, compile and install
the other too.
Do not report this as a bug unless you're sure you have updated correctly:
you probably have a broken mono install.
If you see other errors or faults after this message they are probably related
and you need to fix your mono install first.

Unhandled Exception:
System.MissingMethodException:  assembly:<unknown assembly> type:<unknown type> member:(null)
   at System.Runtime.InteropServices.JavaScript.JSFunctionBinding.BindJSFunctionImpl(String functionName, String moduleName, ReadOnlySpan`1 signatures)
   at System.Runtime.InteropServices.JavaScript.JSFunctionBinding.BindJSFunction(String functionName, String moduleName, ReadOnlySpan`1 signatures)
   at System.Net.Http.BrowserHttpInterop.SupportsStreamingResponse()
   at System.Net.Http.BrowserHttpHandler..cctor()

I don't think the wasi spec supports outbound networking yet.


Clarify in the docs what will be included in the API reference.

This is what was discussed in uber/h3-java, it would be nice to explain the versioning scheme somewhere here. This is only meant to describe inclusion in the API reference itself (when it supports more than C), not inclusion in the list of community bindings.

Coverage remained the same at 100.0% when pulling 0fd27f10d2064af95f3abb169e4885e90f18b15d on isaacbrodsky:bindings-dev-docs into 73eefeac72e07558b113461a442c0a928e466d49 on uber:master.


Add GitHub release script to build for Windows, Mac, and Linux

This adds GitHub action script that build the flutter app and create new release when we push new git tag.
You can see an example release in my fork here https://github.com/adhikasp/chatmcp/releases
git tag v1.0.0
git push origin v1.0.0

Also it fix MCP server run with uvx in Windows because of some console charmap incompatibilities by configuring default env var.
Windows build

Mac build

Linux build
(n/a, I don't have Linux machine)

Thank you very much for the multi-platform build script you provided, I built v0.0.3-alpha ,
chatmcp-windows-x64.exe size is 80.5 KB, I don’t know if this is in window Is the platform a complete package?


CS

Coverage remained the same at 97.878% when pulling cc0c2eb950f4d9a5f755af32ed85f91148be0024 on cs into a2db56c106a22c1b375f554da5e84ec9dba03325 on master.

Coverage remained the same at 97.878% when pulling cc0c2eb950f4d9a5f755af32ed85f91148be0024 on cs into a2db56c106a22c1b375f554da5e84ec9dba03325 on master.

Coverage remained the same at 97.878% when pulling 3e03389fabbbc921e429807fc3c9507ee73e95d6 on cs into a2db56c106a22c1b375f554da5e84ec9dba03325 on master.

Coverage remained the same at 97.878% when pulling 40f2a338276483413fc27a9ed476563a7ebaa534 on cs into a2db56c106a22c1b375f554da5e84ec9dba03325 on master.


State parameter in login request - Angular MSAL

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[X] Bug report
[ ] Performance issue
[ ] Feature request
[ ] Documentation issue or request
[ ] Other... Please describe:

Browser:

[X ] Chrome version XX
[X] Firefox version XX
[X] IE version XX
[X] Edge version XX
[ ] Safari version XX

Library version : Current Version 0.1.2

Library version: X.Y.Z : Current Version 0.1.2

## Current behavior

Not able to get the state passed by the client.

## Expected behavior

Need to pass the state to MSAL library and expecting the same state in the response callback for client.

## Additional information

STEP 1 : If the User is accessing a deep link URL which needs Microsoft Authentication.
STEP 2: Client needs to set the URL information as a state parameter in AD request happening through Angular MSAL. (To preserve the URL information until login succeed).
STEP 3: After successful login, client expecting the state information in the AD response callback.
STEP 4: Client retrieves the  AD response  information and extract the state parameter.

Above is the use case. Currently state information is not maintained  in Angular MSAL latest version. Please fix this issue.

We have seen this issue has been fixed in Core JS https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/262. Let us know how to handle this issue using Angular MSAL.

Hi @sameerag
If there is any update on this ticket. Can you please provide to us?

Yes, should be committed this week. Will update here once I have a PR out.

@vramasam There is an issue with 'state' where we are not stripping the GUID we add in MSAL JS when the user sets the 'state' in the request. But this change will make it only to msal-core and not to msal-angular at this point. Are you looking at a fix for angular? As mentioned in the homepage by @navyasric we are currently in middle of an API change for msal-core and hence no angular support is expected immediately.
My apologies for the previous comment as I assumed this is for core when I was mentioning that comment as this looked similar to an issue I am fixing in the core library.

This issue is being fixed in the core library with #548. Angular adaption when it happens will automatically pick this up (as angular is a wrapper) on our core library. Please check our roadmap for updates on the same periodically.

@vramasam The original state issue is now fixed with msal core 1.0.0; angular wrapper update is planned for this summer and the roadmap will be updated with more details as and when we start on this activity.

Linking this to #786. This is fixed in the lastest msal 1.0.x, but angular wrappers cannot use this until the upgrade happens.

Linking this to #786. This is fixed in the lastest msal 1.0.x, but angular wrappers cannot use this until the upgrade happens.

Did the wrapper was changed to use this fix?


Added icon for light theme

Hi!
I've added toolbar icon for light themes.
Before:

After:

Thanks for the contribution! The changes will be included in the next update.


Add do_not_recommend annotation to all_tuples to improve error messages

What problem does this solve or what need does it fill?
The error messages that Bevy / Rust provides when a malformed system, query or system set are provided are notoriously unhelpful (https://github.com/rust-lang/rust/issues/89681). A huge complex error message is displayed, suggesting complex types in a tuple pyramid.
What solution would you like?
Per https://blog.weiznich.de/blog/diagnostic-namespace-do-not-recommend/, the #[diagnostic(do_not_recommend)] annotation is now ready to use, added in https://github.com/rust-lang/rust/pull/124708.
We should add the do_not_recommend to the all_tuples! macro: these implementations are universally verbose and confusing.
Because this feature is not yet stable, we need to detect if it's available:

You can use #![cfg_attr(feature = "...", feature(test))]

https://users.rust-lang.org/t/add-unstable-feature-only-if-compiled-on-nightly/27886/2
What alternative(s) have you considered?
We could wait until this feature is stable to use it.  This is less than ideal because a) if there are problems for our use case, we want to be able to fix them now. b) stabilization requires successful use in the wild, and Bevy is a prominent user of this functionality.
Or, we could just use the fabled generics. This will take even longer.

Is this actually available in nightly already? With version rustc 1.82.0-nightly (8e86c9567 2024-08-01) I still get a warning that this is an unknown diagnostic attribute:
warning: unknown diagnostic attribute
   --> crates/bevy_app/src/plugin.rs:167:27
    |
167 |             #[diagnostic::do_not_recommend]
    |                           ^^^^^^^^^^^^^^^^
...
182 |     all_tuples!(impl_plugins_tuples, 0, 15, P, S);
    |     --------------------------------------------- in this macro invocation
    |
    = note: this warning originates in the macro `impl_plugins_tuples` which comes from the expansion of the macro `all_tuples` (in Nightly builds, run with -Z macro-backtrace for more info)

Also what's the preferred way to guard this to nightly?
I tried to just add an #[allow(unknown_or_malformed_diagnostic_attributes)] to suppress the warning, as we know that it exists and diagnostic attributes should be ignored if they are missing.
But that doesn't seem to work.
If we need to go the feature path, I suppose a nightly feature should work? That would spread throughout the different crates though.
On the implementation side, I'm not sure if we can actually add this directly inside of all_tuples or if it needs to be added in each of the inner macros.
I couldn't make the former work yet, but I'm also new to Rust macros so maybe I'm doing something wrong.

@weiznich, I'd very much appreciate your guidance here. I haven't worked much with either macros or nightly.

I think #![feature(do_not_recommend)] should be added to crate root for it to work.
https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=a51b02f42e8c87ee9ca7603379fad73e

I would prefer not to use a build script to detect whether Bevy is being compiled with the nightly toolchain or not. Build scripts are notorious for slowing down compilation time, and are generally risky to work with.
I would prefer to add an opt-in feature, or just wait until this attribute is released to stable Rust.

Edit: It's actually usable on beta without the feature gate. We could suppress the unknown warning.
https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=ee91276cb5f727384fb05ed71d4f46c0

Seems like you found a bug in the implementation. I will likely fill a PR soon to disallow that workaround.

I'd very much appreciate your guidance here. I haven't worked much with either macros or nightly.

It requires the !#[feature(do_not_recommend)] attribute for now. I think for pushing for stabilization it would be helpful to just have the feedback: We tried the attribute with a nightly compiler and got the following results (e.g. Improved that error message in this way, …).
Hopefully it shouldn't be too hard to stabilize this in the next months. I just want to wait some weeks (at least one release cycle) after finishing the implementation and adding the usage in rusts standard library so that I can argue: It's already used and it works there.

i'll note that i'm not in favour of using rustversion, not because of buildscripts (although that may indeed be an issue), but because of the liberal use of attribute-form procedural macros.
the heuristics for deciding when proc macros should recompile are hazy at best (it can be as frequent as after any change in the enclosing file), and placing them over entire items/modules has been problematic in my experience.
my preferred solution would be to use cargo feature gating, either a single feature, "unstable-nightly", or several features like "unstable-do-not-recommend" (which is perhaps a bit verbose).


Update azure-stack-get-pki-certs.md

Change cmdlet names
Separate New Certificate (deployment) and Renewal (rotation) scenarios.

@erskinejohn : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Hi @erskinejohn - Substantial updates to articles should be made in the private repository (azure-stack-docs-pr), which has robust quality validations, a staging environment, and comprehensive PR review. Would you create a PR in the private repo to submit these updates?
To edit an article in the private repo from within the documentation, after you select Edit on an article page,  add “-pr” to the repo name in the URL.
It looks like you haven't worked in the azure-stack-docs-pr repo before. You probably will need to Join MicrosoftDocs organization and others first.
We'll close this PR. If you have any trouble working in the private repo, please let us know and we can reopen this one. Thanks.

Related links in the internal Microsoft Docs contributor guide:
Public vs. private repos | Move a commit to a different repo (public -> private) | GitHub for content reviews
Quick reference for contributing to the docs | Make changes to a Docs article | PR review quality criteria

@johnerskine Well, it's something to work toward in the future. :)

@ktoliver I'll be working on some of @IngridAtMicrosoft for a bit. Do you need me to send a note to techdocprs? Thanks, Matt


Batch compatible ASM statements

We already batch labels with the next statement:
start::
other_start::
A <=X= 3;
// can all be batched together, which means executed on a single execution step

The main benefit is fewer execution steps in the trace.
We can extend the notion of compatibility to statements which write to different registers using different assignment registers.
Todo: specify compatibility formally before implementation

I think this example already works?


Mock database scripts

read the readme

https://uwmidsun.atlassian.net/jira/software/projects/STRAT15/boards/30/roadmap?selectedIssue=STRAT15-171


CustomArg indexing into Personalizations

Issue Summary
The following code in Mail.php in the function addCustomArg() accepts a personalizationIndex.  However by the logic below if this [0] personalization exist there is no way to index past and add a customArg. Seem like should remove the first if statement and set the function variable default to 0 instead of null or is there some reason for this?  Seems like a bug prevent me from updating personalizaitons.
starting Line 847 in Mail.php
            if ($this->personalization[0] != null) {
                $this->personalization[0]->addCustomArg($custom_arg);
            } else if ($this->personalization[$personalizationIndex] != null) {
                $this->personalization[$personalizationIndex]->addCustomArg(
                    $custom_arg
                );
            } else {
                $personalization = new Personalization();
                $personalization->addCustomArg($custom_arg);
                if (($personalizationIndex != 0)
                    && ($this->getPersonalizationCount() <= $personalizationIndex)
                ) {
                    $this->personalization[$personalizationIndex] = $personalization;
                } else {
                    $this->addPersonalization($personalization);
                }
            }

Technical details:
*loaded from composer
*"name": "sendgrid/sendgrid",
*"version": "7.2.1",

Hello @haywiremk,
Thanks for highlighting this error. We will investigate further. In the mean time, I will label the issue appropriately and add to our backlog.
Thanks!
With Best Regards,
Elmer


Mental health in the geosciences

Lead: Shashank Bhushan, Anthony Arendt
Date: 22/08/2024
Start Time: 1100 (Example: 0900 for 9AM)
Duration: 60 (in minutes)
Description:
Details

Learning Outcomes

understand the prevalence and types of mental health challenges currently encountered by geoscientists
learn about available resources to find support when navigating mental health challenges
learn individual and community-based approaches to create culture change and normalize mental health conversations

People Developing the Tutorial (content creation, helpers, teachers)
Shashank Bhushan and Anthony Arendt, with inspiration from related sessions offered by colleagues in Oceanhackweek.
Summary Description
Recent data suggest that over 3/4 of people in the U.S. workplace have experienced one or more mental health challenge associated with their workplace. And from our own personal experience, geoscientists face unique challenges in navigating the ups and downs of academic careers, and the grief associated with climate change, among other issues.
In this session we will begin a conversation about mental health in the geosciences. We will offer resources and follow a recent framework created by the US Surgeon General. If there is sufficient interest we will plan for continued meetings in an effort to build a community of practice around this topic.
This session is optional and we will establish norms that ensure confidentiality for all participants.
Dependencies (things people should know in advance of the tutorial)
We invite participants to arrive with a willingness to share stories and listen to their colleagues.
Technical Needs (GPUs? Large file storage? Unique libraries?)

Hi Anthony,
Based on our discussions, I am pasting here the modified version of the issue you submitted above. Feel free to provide edits/suggestion, and let's discuss how we can move forward with adding this to the website :)
Lead: Shashank Bhushan, Anthony Arendt
Date: 22/08/2024
Start Time: 1100 (Example: 0900 for 9AM)
Duration: 60 (in minutes)
Description:
Details

Learning Outcomes

understand the prevalence and types of workplace related mental health challenges currently encountered by geoscientists
learn individual and community-based approaches to create culture change and normalize mental health conversations
learn about available resources to find support when navigating mental health challenges

People Developing the Tutorial (content creation, helpers, teachers)
Shashank Bhushan and Anthony Arendt, with inspiration from related sessions offered by colleagues in Oceanhackweek.
Summary Description
Recent data suggest that over 3/4 of people in the U.S. workplace have experienced one or more mental health challenge associated with their workplace. And from our own personal experience, geoscientists face unique challenges in navigating the ups and downs of academic careers, and the grief associated with climate change, among other issues.
In this session, we will begin a conversation about mental health in the geosciences. We will offer resources and follow a recent framework created by the US Surgeon General. If there is sufficient interest, we will plan for continued meetings in an effort to build a community of practice around this topic.
This session is optional, and we will establish norms that ensure confidentiality for all participants.
Dependencies (things people should know in advance of the tutorial)
We invite participants to arrive with a willingness to share stories and listen to their colleagues. This session is intended to be a no-device session to ensure a distraction-free, immersive experience for all of us. We request all interested participants familiarize themselves with some housekeeping rules, which will also be provided in printed format during the session. The hackweek team will provide stationery materials to participants for personal note-taking!
We encourage people from all career stages to join this session!
Broad format
Respecting everyone's time commitment, we have designed this session to be semi-interactive. It will include a mix of interview-style interaction between Anthony and Shashank and small group discussions between participants.
Links to material
In this section, we provide our initial curated list of resources. We acknowledge that this list is not exhaustive and encourage participants to suggest additional relevant resources with which they are familiar:)

Institution-based mental health support: Many institutions have resources to help students and employees with their mental health needs. Here, we provide examples for University of Washington students and employees as a reference, but we encourage participants to explore similar resources at their respective institutions.

Everyone from the UW community have access to SAFECAMPUS services for immediate crisis management.
Students: All students at the University of Washington have access to same-day crisis counseling through the Husky Helpline. More structured support can be accessed through the UW Mental health counseling center, peer wellness coaching group, and group therapy programs. The Mental Health Counselling Center services are covered by UW student insurance (ISHIP or GAIP). We encourage participants to learn more about these resources here.
Faculty/Staff/Postdocs: Faculty and staff can avail short-term, focused therapy sessions through the Washington State Employee Assistance Program (WA EAP). Everyone enrolled with PEBB is eligible.

Resources for workplace-related mental health issues relevant to geoscientists:

Climate Anxiety & Eco-Grief
climate psychiatry alliance
Workplace mental health and well-being
Work That Reconnects Network

Participating in supportive communities: Many of us struggle alone and have inhibitions when discussing our feelings because we might fail to identify in the same way as our everyday workplace colleagues. This is particularly relevant if we identify ourselves as marginalized in some form or the other. In these situations, engaging with communities and groups of scientists we can identify with personally might be helpful in seeking mentorship, and rediscovering purpose. Along these lines, we provide an initial list of organizations that have a core focus on inclusivity and mentorship:

Association for Women Geoscientists
Asian Americans and Pacific Islanders in Geosciences
GeoLatinas
Polar Impact
CryoCommunity

Technical Needs (GPUs? Large file storage? Unique libraries?)

Stationery (papers, pencils/pens)
Whiteboards
Round table format furniture setup

Here is the slightly modified guideline manual for the session:
This manual is an adaptation of the manual used by Gitika Talwar, PhD and Dvon Maurer, MA, for the Winter 2023 edition
of the UW Doctoral Student Support Group and from the guidelines suggested by East Bay Meditation Center for Multicultural Interactions

I will practice deep listening, which means listening to myself and others in the present moment without being distracted by devices or other technology.
We value the unexpected and the opportunity to learn. Therefore, we will not pre-plan our responses when listening to others, but instead be open to being surprised and learning something new.
I will say things to other members in a constructive and nonjudgmental way. I will refrain from offering unsolicited advice, and if I have advice to offer, I will accept it as advice to myself. We will refrain from blaming or shaming ourselves and others.
We are committed to fostering a safe and respectful environment. Therefore, we will treat everything we hear with the utmost confidentiality and respect.
We will strive to recognize and respect our diverse intersecting identities and lived experiences, acknowledging and addressing the systemic oppression and marginalization of people based on race, ethnicity, class, sexual orientation, gender identity, religion, size, weight, age, disability, immigration status, or any other dehumanized identity.
Impact matters; intent is not equal to impact. I trust that we don’t aim to hurt each other, and I recognize that it may happen. We will practice ownership of our experience when speaking by using “I” statements.
We can say “I pass” if we don’t wish to speak on any prompt.
I am the expert of my experience & others are the expert of theirs. I will offer my experience to help group members feel less alone & for us to collectively generate wisdom that can guide us.


[No QA]: Restricted action: Restrict actions of Delegate Submitter

Details

A copilot with the role submitter cannot approve, pay, hold, or reject expenses.
In all components that use any of IOU.approveMoneyRequest, IOU.payMoneyRequest, IOU.payInvoice, IOU.putOnHold, or IOU.unapproveExpenseReport we will check if the copilot has the role submitter and show a ConfirmModal.
Fixed Issues

$ https://github.com/Expensify/App/issues/46926
PROPOSAL: https://expensify.slack.com/archives/C02NK2DQWUX/p1725046112539189?thread_ts=1725040927.420699&cid=C02NK2DQWUX
Tests

Precondition: Copilot beta enabled and Set an email as a delegate with submitter only access.

Login to ND as a delegate
Go to Settings > Profile > Click on the profile and select the delegator email
Now go to any chat and open a report which is pending approval / payment / held/unheld expense by the delegator
As a delegate (with submitter only access), try approving an expense

Verify that a modal shows up which informs the delegate of restricted access with the email of the delegator, the modal for all cases will be:

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/a4ca80c8-b22f-4242-ac14-6746a0a1fe3c
https://github.com/user-attachments/assets/1ee02371-d20c-46aa-8e7a-17b83624d70d

MacOS: Desktop
https://github.com/user-attachments/assets/c94533e7-6a0b-487d-8af6-30a6c026a6a1

Android: Native

Android: mWeb Chrome

iOS: Native
https://github.com/user-attachments/assets/82c2ee79-3295-482f-8818-03fbdb3fb424

iOS: mWeb Safari
https://github.com/user-attachments/assets/34a092e7-4040-447f-9369-20bc24f7d20f

Just calling out here (because it might not have been clear in the issue!) that this should cover showing the delegate in the app for report actions (right @rushatgabhane? I don't think we're including that elsewhere?)
Also @rushatgabhane would you like another C+ to take primary review of this, so you can focus on your PRs?

@dangrous that i agree with.
but @allgandalf is doing it in two parts.

restrict actions (this PR)
using the product as copilot

oh great, missed that it was in two parts - that makes sense!
looping in @DylanDylann for pinch hit reviewing!

BUG: The modal isn't closed when click outside
Please add onClose props

@allgandalf We also need to prevent users from putting them on hold

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.


Error: [libs\datamodel\core\src\dml\datamodel.rs:166:9] Every RelationInfo should have a complementary RelationInfo on the opposite relation field.

Command: prisma introspect
Version: 2.5.0-dev.61
Binary Version: cc6843945c4485b397f541fcbe18d1bd94346ef7
Report: https://prisma-errors.netlify.app/report/10277
OS: x64 win32 10.0.18362
JS Stacktrace:
Error: [libs\datamodel\core\src\dml\datamodel.rs:166:9] Every RelationInfo should have a complementary RelationInfo on the opposite relation field.
    at IntrospectionEngine.<anonymous> (C:\Users\Jan\Documents\throwaway\prisma-client-js-benchmarks\node_modules\@prisma\cli\build\index.js:2:1763646)
    at Generator.throw (<anonymous>)
    at rejected (C:\Users\Jan\Documents\throwaway\prisma-client-js-benchmarks\node_modules\@prisma\cli\build\index.js:2:1760649)
    at processTicksAndRejections (internal/process/task_queues.js:85:5)

Rust Stacktrace:
   0: <unknown>
   1: <unknown>
   2: <unknown>
   3: <unknown>
   4: <unknown>
   5: <unknown>
   6: <unknown>
   7: <unknown>
   8: <unknown>
   9: <unknown>
  10: <unknown>
  11: <unknown>
  12: <unknown>
  13: <unknown>
  14: <unknown>
  15: <unknown>
  16: <unknown>
  17: <unknown>
  18: <unknown>
  19: <unknown>
  20: <unknown>
  21: <unknown>
  22: <unknown>
  23: <unknown>
  24: <unknown>
  25: <unknown>
  26: <unknown>
  27: <unknown>
  28: <unknown>
  29: <unknown>
  30: <unknown>
  31: <unknown>
  32: <unknown>
  33: <unknown>
  34: BaseThreadInitThunk
  35: RtlUserThreadStart

This is the schema:
// datasource db {
//   provider = "postgres"
//   url      = "postgres://postgres:prisma@localhost:5432/postgres?schema=sql_load_test"
// }

datasource db {
  provider = "sqlite"
  url      = "file:benchmarks.db"
}

generator client {
  provider = "prisma-client-js"
}

model Comment {
  author    Int
  content   String?
  createdAt DateTime @default(dbgenerated())
  id        Int      @id
  post      Int
  updatedAt DateTime @default(dbgenerated())
  User      User     @relation(fields: [author], references: [id])
  Post      Post     @relation(fields: [post], references: [id])
  Like      Like[]

  @@index([author], name: "Comment.author")
  @@index([post], name: "Comment.post")
}

model Like {
  comment   Int
  createdAt DateTime @default(dbgenerated())
  id        Int      @id
  post      Int
  updatedAt DateTime @default(dbgenerated())
  user      Int
  Comment   Comment  @relation(fields: [comment], references: [id])
  Post      Post     @relation(fields: [post], references: [id])
  User      User     @relation(fields: [user], references: [id])

  @@index([comment], name: "Like.comment")
  @@index([post], name: "Like.post")
  @@index([user], name: "Like.user")
}

model Post {
  author    Int
  content   String?
  createdAt DateTime  @default(dbgenerated())
  id        Int       @id
  updatedAt DateTime  @default(dbgenerated())
  User      User      @relation(fields: [author], references: [id])
  Comment   Comment[]
  Like      Like[]

  @@index([author], name: "Post.author")
}

model User {
  age                            Int?
  createdAt                      DateTime     @default(dbgenerated())
  email                          String?
  firstName                      String       @default("")
  id                             Int          @id
  lastName                       String       @default("")
  password                       String?
  updatedAt                      DateTime     @default(dbgenerated())
  Comment                        Comment[]
  Like                           Like[]
  Post                           Post[]
  FriendShip_UserTo_FriendShip_A FriendShip[] @relation("UserTo_FriendShip_A")
  FriendShip_UserTo_FriendShip_B FriendShip[] @relation("UserTo_FriendShip_B")
}

model FriendShip {
  A                        Int
  B                        Int
  User_UserTo_FriendShip_A User @relation("UserTo_FriendShip_A", fields: [A], references: [id])
  User_UserTo_FriendShip_B User @relation("UserTo_FriendShip_B", fields: [B], references: [id])

  @@map("_FriendShip")
  @@unique([A, B], name: "_FriendShip_AB_unique")
}

Database is available for download at https://github.com/prisma/prisma-client-js-benchmarks/blob/eecf7499ac63d4c8fce1a7064fc0492a2df1fdb9/prisma/benchmarks.db

This should be fixed by https://github.com/prisma/prisma-engines/pull/1033 (will be merged soon)

I can confirm this has been fixed in 2.0.0-dev.62.
This also didn't exist in the latest stable which is 2.4.1 so this was a dev build regression which is fixed now so I am going to close this.


how to use in androidx?

I use androidx and there are some missing errors like the following :

Cannot access '': it is public/package/ in 'SliderView'

@arjava Maybe you have to use legacy support library in your project
implementation 'androidx.legacy:legacy-support-v4:1.0.0'

Hi , new version 1.3.0 now supports androidx components .


Bazel + Pip install failed

Hi, I am building Tink on my Mac locally. I installed Tink using the Python HOWTO guideline. Then I opened Python3.6 and import Tink, I got the following errors:
>>> import tink
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/znifly/Library/Python/3.6/lib/python/site-packages/tink/__init__.py", line 21, in <module>
    from tink import _keyset_handle
  File "/Users/znifly/Library/Python/3.6/lib/python/site-packages/tink/_keyset_handle.py", line 27, in <module>
    from tink import _keyset_reader
  File "/Users/znifly/Library/Python/3.6/lib/python/site-packages/tink/_keyset_reader.py", line 29, in <module>
    from tink import core
  File "/Users/znifly/Library/Python/3.6/lib/python/site-packages/tink/core/__init__.py", line 22, in <module>
    from tink.core import _crypto_format
  File "/Users/znifly/Library/Python/3.6/lib/python/site-packages/tink/core/_crypto_format.py", line 25, in <module>
    from tink.core import _tink_error
  File "/Users/znifly/Library/Python/3.6/lib/python/site-packages/tink/core/_tink_error.py", line 21, in <module>
    from tink.cc.pybind import tink_bindings
ImportError: dlopen(/Users/znifly/Library/Python/3.6/lib/python/site-packages/tink/cc/pybind/tink_bindings.cpython-36m-darwin.so, 2): Symbol not found: _PyThread_tss_alloc
  Referenced from: /Users/znifly/Library/Python/3.6/lib/python/site-packages/tink/cc/pybind/tink_bindings.cpython-36m-darwin.so
  Expected in: flat namespace
 in /Users/znifly/Library/Python/3.6/lib/python/site-packages/tink/cc/pybind/tink_bindings.cpython-36m-darwin.so

Python3.6 is not supported (some of the type hints are not supported in <=3.6), but this still seems to be caused by a different issue.
Was the package build successfully with Python3.6?

Python3.6 is not supported (some of the type hints are not supported in <=3.6), but this still seems to be caused by a different issue.
Was the package build successfully with Python3.6?

I followed the instruction, did "bazel build ..." and it was successful. "bazel test" was also successful.

I experienced a similar issue but switched to Python 3.7 and it worked.

Hi @leighmcculloch, wondering if you had this problem on Mac? I have rebuild and installed using python 3.7.
Python 3.7.5 (default, Oct 22 2019, 10:35:10)
[Clang 10.0.1 (clang-1<IP_ADDRESS>)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from tink import aead
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name 'aead' from 'tink' (unknown location)
>>>

I managed to make it work by creating a virtual env, and rebuild with bazel + pip3 in the env.


Cannot start the acme Controller - instance system.adapter.acme.0 terminated with code 1 (JS_CONTROLLER_STOPPED)

Cannot start the acme Controller.
Error message in iobroker:
instance system.adapter.acme.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
js-controller: 6.0.11
Node.js: v20.18.1

Please add version of adapter.
Please add a complete log with loglevel set to DEBUG

As important information is missing lets close here.
Please feel free to create a new issue and add version information and complete log with level DEBUG.

latest Version v1.0.3
There is no logfile. I tested it on with silly or debug level.


enable v3 transaction on deploy

Stack:

#2301
#2300 ⬅

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

✓ Commit merged in pull request #2301


Can't assign custom class for mat-tab

What is the expected behavior?
[ngClass] used on mat-tab should add class on "mat-tab-label" div
What is the current behavior?
There is no way to add custom class to "mat-tab-label" div
What are the steps to reproduce?
https://stackblitz.com/edit/angular-material2-issue-xq3ql9
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
7.3.7
Is there anything else we should know?

You can provide your own custom content for the tab label but I agree there is no great way to style the entire label (not just text).
https://stackblitz.com/edit/angular-material2-issue-epfe1y?file=app/app.component.ts

Duplicate of #9290

We can tweak with <ng-template> to add a class for styling the mat-tab-panel

HTML

<mat-tab>
    <ng-template mat-tab-label>
        Delete Tab
    </ng-template>
...
</mat-tab>

CSS

.deleteTab {
color: red;
}

We can tweak with <ng-template> to add a class for styling the mat-tab-panel

HTML

<mat-tab>
    <ng-template mat-tab-label>
        Delete Tab
    </ng-template>
...
</mat-tab>

CSS

.deleteTab {
color: red;
}

So, labelClass stated in the docs does not work?

So, the labelClass input does not work?

Yeah having a way to define classes for the automatically generated components would be very useful. Currently there is no way to differentiate between the different mat-tab-body-content for example.
In other projects I have seen the approach of allowing a bodyClass attribute to be passed for example.

labelClass and bodyClass are still broken.
They don't conform to the docs, nor do they seem to do anything.

@exo-pla-net
It seems that the corresponding style definition for the labelClass and bodyClass need to be done in the respective material theme file or app's root style file
Here is a working example I made from the v14 docs, but it works for v17 too
https://stackblitz.com/edit/y3qw5m?file=src%2Fapp%2Ftab-group-align-example.html


[question] + [suggestions]

do you consider developing a palettes generator? (10 shims, complimentary, see here what I mean/like)
Don't waste time with jQuery!!
currently has the option to exclude rgba?

Thanks!!

Hi @thednp
thanks for your feedback and your stars ;o)

palettes generator: with colors.js and some module extensions for color-geometry calculations, this would be an easy one to do. I thought about it already but there is so many nice ones out there already like colour lover, Kuler, Color Explorer, Pictaculous, etc... and so little time at night ;o)... I can't really imagine what I could add to those nice examples.
If I ever find something that I could do better... I will go for it and make it.
jQuery: Shouldn't I waste time with jQuery as my examples are so bad? ;o)
I see a lot of people not being interested in javascript only stuff as it's considered old-fashioned... so, sometimes I smuggle some jQuery into my projects. My tinyColorPicker was done though in one afternoon, and it is fun to mangle jQuery once in a while.
exclude rgba: well, I hope I do understand this right: with the option noAlpha you can get rid of the alpha slider and alpha input box. So all colors will be solid...

Thanks again and keep on the good spirit.
Cheers,
Peter

Man this is by far an amazing color picker, I couldn't believe it's even build with rAF animation support. Are you kidding me?
For supporting jQuery you only need a fn definition at the bottom of your code, why rewrite the entire code for the sake of jQuery... man... the trends are going back to plain Javascript since HTML5 JS engine kicked out stable and nowadays we have polyfills for legacy browsers....
Thanks for your reply and your wonderful work, now gonna head to replace bootstrap color with this one, I really needed a high precision color picker and I think this one really delivers :)


Fullscreen window with frame shows empty title

If you have a fullscreen window on OS X Yosemite then you see a window title all the time:

Notice I say a window title, as if you hover the top of the screen, you then get the window title with the buttons and name of the window...

Code:

app.on('ready', function() {

	var Screen = require('screen');

	var size = Screen.getPrimaryDisplay().size;

	mainWindow = new BrowserWindow({
	  'width': size.width,
	  'height': size.height,
	  'fullscreen': true,
	  'frame': true,
	  'resizable': false,
	  'auto-hide-menu-bar': true
	});

});

Can you share the whole code? I cannot reproduce with this.

I wonder if it's because of the use of size rather than workAreaSize...

I'm closing this unless there is more information.


Add netstandard 2.0 support for SolrNet.Cloud

Moved from ZookeeperNet to ZookeeperNetEx
Made Init of SolrCloudStateProvider async
Bumped versions to 0.8.1

I kind of worked blindely, has to be tested by somebody that has a SolrCloud setup.
The Dispose method of SolrCloudStateProvider currently contains an non-awaited async call, which is don't really like, but currently have no other solution.

@gjunge  I may be able to test with a large SolrCloud deployment. I had a talk yesterday with the folks with whom I built the search API for an enterprise application. I will find out more in the next couple of days. It is currently in 4.10.3, but they are working on moving to 6.x

@xavier-morera  That would be great. Would also be nice to have our Docker thing running.
Btw, other subject, there are tons of issues and prs that can be closed, do you want me to reference them to the PR's that closed them so we have it documented, and then you can close them.

@gjunge It is a decent sized application, with multiple SolrCloud environments, about 80k users and there are many testers so it will be a thorough test. I left the project a month a few months ago so I can't do it myself, but if they are ok I can collaborate and review.
If you can reference the PRs that can be closed, I will proceed. Thanks (again)

@xavier-morera  Most of these issues where are connected to some PR , and all of them are irrelevant
(I don't want to reference them to this PR , it wouldn't make sense)
289
283
279
272
271
269
264
256
217
175
91
86
These pull requests can be closed:
187
186
144

Done.  @gjunge (again thanks)


Add Map to Individual Alert View Page

Add a map widget to the individual alert view, that shows the basins and the alert levels that are currently selected for the alert.
Acceptance Criteria

[x] Map with basins / alert levels show on application when view individual alerts
[x] Map includes legend showing the alert levels
[x] Polygons for the basins are highlighted based on their alert levels
[x] linework for all the basins is shown on the map
[x] Add labels for basins at appropriate zoom levels.

closed: https://github.com/bcgov/nr-rfc-alertauthoring/pull/129


Question: require vs dependency injection?

I'm doing my first Node project, and coming from the Java world. The current project structure has, for example:
// index.js

app.use('/api', require('app/customers/router'))

and
// users/router.js

var router = require('express').Router()
var needUser = require('./need-user')

function signIn (req, res) {
  /* eslint no-unused-vars:0 */
  // ...
}

function profile (req, res) {
  res.render('users/profile')
}

router.post('/users/sign-in', signIn)
router.get('/users/profile', needUser, profile)

module.exports = router

The repetition of var router = require('express').Router() in each of the routers doesn't look particularly appealing to me . What are your thoughts (pros/cons of each method) about going with a more "dependency injection" style approach, like the following:
// index.js

const router = express.Router();
app.use('/api', require('app/customers/router')(router))

// users/router.js

var needUser = require('./need-user')

module.exports = function (router) {
  function signIn(req, res) {
    /* eslint no-unused-vars:0 */
    // ...
  }

  function profile(req, res) {
    res.render('users/profile')
  }

  router.post('/users/sign-in', signIn)
  router.get('/users/profile', needUser, profile)

  return router;
}

I think this ends up being functionally the same (again, I'm new, so maybe I'm mistaken) but gets rid of the need to require everywhere. Additionally, perhaps not relevant for the router, but for something like a database tool it allows for easier testing as a mock object can be thrown in instead in the test code.
I'm looking for best practices for my own project, and while it's interesting that ExpressJS is unopinionated, that leaves a void for terrible project structure to thrive. I agree with a lot of the opinions you've expressed here, so I'm interested to see what you think of the code above.

about going with a more "dependency injection" style approach, like the following:

I used to do something like that before express support for modular routers was as full-featured as it is now. Now I prefer modular subapps with their own router for cleaner isolation.

but gets rid of the need to require everywhere.

I can understand this sentiment, but in my experience it's an anti-pattern. The custom dependency injection API you are creating here adds very little actual value vs node standard commonjs which is fully understood by the community and lots of tooling for mocking and testing. I'd invite you to clarify "doesn't look particularly appealing" for yourself. Why not? Does your version have less boilerplate? I don't think so, and the boilerplate function is more error-prone and a custom one-off interface which is likely undocumented.
Having worked with AngularJS's disasterous DI system and projects that find boilerplate require statements "not appealing" so they do stuff like global.lodash = require('lodash'); somewhere early during app initialization (thus creating an implicit load order dependency), I'm of the opinion that regular, modular CommonJS files with no implicit load order dependencies that can be run as standalone node programs are a superior structure. Even though there's some repetition, the explicit deps using the community's primary mechanism are worth it for me.
In node I find sinon sandboxes usually fine for mocking databases and if things get really hairy I'll reach for something like rewire or proxy-require but I'd rather just make a db.js commonjs module and use sinon to sandbox the db.lookupUser(42, callback); call as opposed to using a dependency injection pattern.
It's not that DI itself doesn't seem useful to me, it's just that if I'm going to use it, I want it baked into the programming language itself where it belongs, not tacked on with a hacky userland system.

It's not that DI itself doesn't seem useful to me

I've used Dagger in an enterprise Java application, and I thought it was wonderful.

I'd invite you to clarify "doesn't look particularly appealing" for yourself. Why not?

Biggest reason in Java world would be testing, although I admit I'm completely unfamiliar with the technologies you mentioned. With the ability to monkey patch, perhaps that's irrelevant in JavaScript - I'll take a look! Secondly though, and I think still relevant here, is as a layer of abstraction between dependencies and the functionality that depends on them. The router is probably a terrible example for me to use, but imagining I wanted to use a different router it'd suck to have to go to all the separate files and change them all vs. changing in one place.

it's just that if I'm going to use it, I want it baked into the programming language itself where it belongs, not tacked on with a hacky userland system.

What do you mean by a "hacky userland system"? Isn't it just how require works - you can provide arguments to it? Are you referring to where the dependencies are initialized, and how there's no tooling to support or enforce them/actually do the "injection" part of the DI? Is it meaningfully different from the app.use functionality for middleware?

Now I prefer modular subapps with their own router for cleaner isolation.

Is the sentiment here something along the lines of you being able to take a subdirectory out and drop it in its own application and run more effectively "as is"? What's the isolation in this case refer to - does it make sense for every object that adds a route to create its own router? Isn't that not respecting a separation of concerns?

Having worked with AngularJS's disasterous DI system

Is that Angular 1? I've used Angular 2 and it seems pretty straightforward and usable, although I've only used it on smaller applications.

Completely separately, how do you share resources that require initialization - e.g. a database connection  pool with something like Knex) if you need access in all of the model files like need-user.js. I don't see an example of that in this project structure - if you have some insight, I'd be up for doing up a PR to incorporate an example into this project.
Thanks so much for your response! Great to get an opinion from someone who's been immersed in the ecosystem for a long time.

I'd invite you to clarify "doesn't look particularly appealing" for yourself. Why not?

To elaborate on that, how is this different from the motivation that lead to DI and IoC in the first place? If the lower level class/modules/whatever are creating their own dependencies, isn't that essentially just the whole "global state" issue? It looks like transitive dependencies are implicit, and scaling up complexity wise (into mid-size app territory) means it's not clear what's actually going on at any particular point - if one class/module/whatever requires a bunch of others, and you monkey-patch a dependency in one place how do you intercept all the other require calls?

The router is probably a terrible example for me to use, but imagining I wanted to use a different router it'd suck to have to go to all the separate files and change them all vs. changing in one place.

Indeed. I'm not very concerned about this. I don't want a database abstraction. If I change databases, I change my code and a lot of it at that and that's OK. It's better than the impedence mismatch and API obfuscation of trying to use a generic database (or router in this case) API instead of just a concrete one.
I tend to be pragmatic though so these concerns may be very much valid but they don't resonate with me. Keep things small and easy to change instead of trying to build abstractions. Use tests to  allow refactoring without regression, not abstractions and design patterns.

it'd suck to have to go to all the separate files and change them all vs. changing in one place.

Not for me. There's not going to be 100s of files. Dozens at most. I'm good with my text editor and unix tools. If the change is mechanical I'd be done in minutes. I'm not afraid of changing the code, especially if it is a mechanical operation without a lot of ways to make subtle mistakes.

What do you mean by a "hacky userland system"? Isn't it just how require works - you can provide arguments to it? Are you referring to where the dependencies are initialized, and how there's no tooling to support or enforce them/actually do the "injection" part of the DI? Is it meaningfully different from the app.use functionality for middleware?

Basically I mean commonjs is what node uses and introducing something else doesn't seem worth it to me given the other options available in a dynamic language such as JS. I do "node-style" node meaning commonjs, callbacks, no transpilers, etc.
I'm saying if you use newrelic or similar APM tooling, they are going to "just work" out of the box with commonjs. Same for bundlers like browserify or webpack. These and other tools may or may not be compatible with some other system for dependencies.
As for app.use middleware dependencies this is in fact one of my biggest gripes with express/connect. I'd much rather be able to explicitly specify that my session middleware depends on the cookie parsing middleware having run first. If they had followed the spirit of commonjs, each middleware would declare its dependencies, but they didn't, and thus many express apps break when middleware are configured out of order.

Is the sentiment here something along the lines of you being able to take a subdirectory out and drop it in its own application and run more effectively "as is"? What's the isolation in this case refer to - does it make sense for every object that adds a route to create its own router? Isn't that not respecting a separation of concerns?

Somewhat but mostly it's about understanding behavior and grouping of related or interdependent things. If I didn't enable compression middleware in my router, I don't want to see the application unexpectedly just do that for me. I don't want my req.params pre-parsed into some app-specific data structure by some other middleware implicitly required. Instead of having each sub-router have // FYI the main app turns on compression I'd rather just see the 1-liner of code that means the same router.use(compression());.
And no I don't need one router for every route, but one router for each group of tightly-coupled or closely-related routes. Each logical subsystem if you will.
But I see what you're getting at and there's tradeoffs for both the "combine independent routers" into an app approach and the "routers are like plugins that just do this one little bit" approach.

To elaborate on that, how is this different from the motivation that lead to DI and IoC in the first place? If the lower level class/modules/whatever are creating their own dependencies, isn't that essentially just the whole "global state" issue? It looks like transitive dependencies are implicit, and scaling up complexity wise (into mid-size app territory) means it's not clear what's actually going on at any particular point - if one class/module/whatever requires a bunch of others, and you monkey-patch a dependency in one place how do you intercept all the other require calls?

I make a distinction here in that I code in a stateless module style so when I require something, that something isn't usually a stateful thing like a DB connection pool. It's just a set of code I run. If I need something stateful, I initialize that once at the periphery of the app and it gets made available via some "ambient" mechanism as Rich Hickey would say. I don't think this is ideal, but for me in node.js a DI/IoC solution is worse than the problem.
I don't intercept require calls, I intercept runtime calls. So instead of intercepting require('db'), I intercept db.getUser(42, callback);. Intercepting require calls I'll only do when my hand is forced by some third party module's design.

Completely separately, how do you share resources that require initialization - e.g. a database connection pool with something like Knex) if you need access in all of the model files like need-user.js. I don't see an example of that in this project structure - if you have some insight, I'd be up for doing up a PR to incorporate an example into this project.

I don't do anything special for that. I usually follow the same pattern you see in the docs for that module. Typically these are ultimately app-wide shared state or perhaps I'd stick them onto app.locals or res.locals in express as needed.
In terms of scope, I'm drawing the line for this project mostly about your directory and file layout. Once you start talking about the content of .js files in detail, scope goes through the moon.

Awesome! Thanks so much for taking the time to respond, I definitely appreciate your feedback. You've cleared up a lot of questions I've had, and there seem to be far more beginners than advanced developers in the JS realm so it's hard to know who actually has any idea. I think you're on to one of the key factors though - Node projects generally don't stretch to the thousands of files so any additional complexity has to pay off over a far smaller number of files.

I'd much rather be able to explicitly specify that my session middleware depends on the cookie parsing middleware having run first

Agreed, I've already run into this a couple times. Designing things the "best" way is hard!

If I need something stateful, I initialize that once at the periphery of the app and it gets made available via some "ambient" mechanism as Rich Hickey would say. I don't think this is ideal, but for me in node.js a DI/IoC solution is worse than the problem.

This seems like an area where people tend to just kind of go for it, I've been struggling to find how people deal with it. The whole "don't pollute the global namespace" practices of client side JS and best practices in other languages lead me to be a bit gun shy to do so. Handling "stateful" dependencies separately from "stateless" dependencies definitely makes a lot of sense to me though.

Just keep in mind I never pollute the global namespace, but I do share modules. So I might have a db.js module with a db.connect(params) that initializes a connection poll at the start of the app and uses that for queries when call to db.find(query) are made. So it's still shared state but it's still imported with commonjs require and not a global variable.


Add grpc service of cleaning up job shuffle data for the scheduler to make it able to be triggered by client explicitly

Which issue does this PR close?

Closes #458 .
Rationale for this change

What changes are included in this PR?

Are there any user-facing changes?

@yahoNanJing Is it  possible to make this PR independent of https://github.com/apache/arrow-ballista/pull/472 so that it can be reviewed separately?

Hi @andygrove, there's some code depending on #472. Better to deal with the #472 first. I'll mark this PR as draft.


Get rid of task.result

We should get rid of task.result because it does not seem to be either documented nor used anywhere.
We don't need both task.result and task.return_values in my opinion.

I think we'll need more careful inspection to confirm that it is not used anywhere. That's why I've been hesitant to touch it so far.

I'd like to be able to hook into the results to be able to validate the data loaded into an org.  I had to create a custom task that called the generate data and load data tasks separately (to keep the temp database around long enough to extract the results of the data generation task, and merge with the SF IDs.  This helps us troubleshoot any automation that could be changing values depending on the different sets of data loaded.

Closing out this issue pending further research. @dcinzona Would welcome more detail on your use case (feel free to reach out internally or open an enhancement issue here) for the backlog.


[Idea] A mode with no iframe : debug mode

When I switch to fullscreen mode iframe is still there and some intermediate code. Though UI wise I have no problem but when profiling and testing the performance I have following problems :

A major part of profiling consists of manager.js code.

I want to optimize my component's code but it depends on react-storybook code on which I have no control. I would like to have a debug mode where I just have the component on a single page with only my code (no extra storybook code). It should be just a HTML with my component rendered on that. This is how I think it should be UX wise. A button on the top right of each story which opens the component in the new tab with only my story code (and decorator of course).  Codepen's debug mode can be taken as an example.

Hi @ritz078
We've moved all our UI code to [kadirahq/storybook-ui] repo. The pop-out issue can be discussed there. Until it's ready, I think you can use the preview iframe html file directly (example).

@ritz078 I think this is important. And @mnmtanish gives an example. You can simply get the iframe content directly.
You need to build a URL like this: http://kadira-samples.github.io/react-button/iframe.html?dataId=whatever&selectedKind=Button&selectedStory=custom styles
Let's introduce another shortcut to get this URL in the storybook-ui.

A button will be better. You can also put a shortcut if you want but additional to the button.
@mnmtanish I know about the repo but the thing is there's very fewer chance people will go there and post issues. We can't expect the users to identify the module and post the issue there. So maybe add a label for it here itself ?

refs #266

@joscha Thanks for the mention. I couldn't find it :)

I think we've a solution for this issue.
Anyway, we'll add a proper section of different kinds of testing to docs soon.
Then it'll have a section for this.


WIP: arm64 wheel builds on Travis

Closes #442

Seems to be working already (partly) quite nicely! The manylinux wheels seem to went fine, it's now failing for musllinux (popd / pushd issue, I seem to remember we ran into that recently in other CI)

Ah, it was in https://github.com/pygeos/pygeos/pull/416 where you reverted and re-reverted the popd/pushd changes

This should be OK now @jorisvandenbossche . I must say the Travis builds feel very unstable, mostly I have to restart at least one of them. But still, cibuildwheel completes in ~10 minutes (if it works) and the others in 1-2 minutes. So I guess we can afford pressing "Rerun job" a few times. Good thing that Travis has the option of rerunning builds.
I'll leave it at running on master & travis branches only to save build minutes.
Also nice to know: the s390x failures disappeared somewhere between GEOS 3.8 and 3.10.1 (see #297)

Nice, that's certainly a win compared to the emulated ones on github actions. Thanks a lot for doing this!


Invalid example in num.toStringAsFixed() documentation

Please see https://api.dartlang.org/stable/2.1.0/dart-core/num/toStringAsFixed.html
There is an example
...
123456789012345678901.toStringAsFixed(3);  //<PHONE_NUMBER>12345683968.000
1000000000000000000000.toStringAsFixed(3); // 1e+21
...

Integers in Dart 2.1 are 64-bits, so these examples are invalid. The int literals above are too big for 64-bits integers

Hey @kevmoo , I would like to work on it!! Can I get the whereabouts of the documentation file?

@Kaushl2208 -
https://github.com/dart-lang/sdk/blob/master/sdk/lib/core/num.dart

Hey @kevmoo, I have updated the example into the correct range now but the "git cl" is giving me a hard time. I have setup depot_tools and configured the path but after giving the cl command the system gets stuck. Any ideas?
Here is the screenshot for your reference

Is this opening your default editor? Do you have your editor configured to
be vi or similar? That's likely it!
On Sun, Feb 23, 2020 at 3:27 AM Kaushlendra Pratap<EMAIL_ADDRESS>wrote:

Hey @kevmoo https://github.com/kevmoo, I have updated the example into
the correct range now but the "git cl" is giving me a hard time. I have
setup depot_tools and configured the path but after giving the cl command
the system gets stuck. Any ideas?
Here is the screenshot for your reference
[image: Screenshot from 2020-02-23 16-51-33]
https://user-images.githubusercontent.com/41343571/75111222-8023d280-565d-11ea-8182-2a03fa1b2699.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dart-lang/sdk/issues/35400?email_source=notifications&email_token=AAAEFCTYINIBY4THY5KRRWTREJMQ5A5CNFSM4GKEHSTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMVZJWI#issuecomment-590058713,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAEFCRSK32CDST7KBPXR43REJMQ5ANCNFSM4GKEHSTA
.

Nope, it's not opening any editor. Neither the configured one.

Where are you seeing to use git cl config?

After bit of hustle, Figured it out finally! 🤘

Where are you seeing to use git cl config?

https://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html#_setting_up
I was not setting up the path correctly and the command takes a little while to execute.

Hey, While uploading the commit for review It showed a warning
`** Presubmit Warnings **
Changes were made to sdk/ that were not made to sdk_nnbd/
Please update these files as well:
sdk_nnbd/lib/core/num.dart
`
Should I change this file too?

Yes please!
On Sun, Feb 23, 2020, 22:54 Kaushlendra Pratap<EMAIL_ADDRESS>wrote:

Hey, While uploading the commit for review It showed a warning
`** Presubmit Warnings **
Changes were made to sdk/ that were not made to sdk_nnbd/
Please update these files as well:
sdk_nnbd/lib/core/num.dart
`
Should I change this file too?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dart-lang/sdk/issues/35400?email_source=notifications&email_token=AAAEFCUANMM4T7C7WCC473LRENVLBA5CNFSM4GKEHSTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMWY6XQ#issuecomment-590188382,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAEFCWWWW3L5KM4TBFLBM3RENVLBANCNFSM4GKEHSTA
.

Hey @kevmoo, Can you please tell me what is github-review.com . I am getting this log after doing git cl upload -s
Credentials for the following hosts are required:  github-review.com. These are read from /home/kaushl2208/.gitcookies (or legacy /home/kaushl2208/.netrc)                                                                                You can (re)generate your credentials by visiting https://github-review.com/new-password
After updating the .netrc with same credentials as of my GitHub. It works until updating the description in vim. It again throws this error :
ServerNotFoundError: Unable to find the server at github-review.com


Test PR 1

Just a test PR to see if the changes I did to logshipper repo help with occasional st2-packages Circle CI failures.

So far it looks good / better, but can't really say for sure if that change helped - for that we will need more time and more builds :)


Incorporate new Change the Subject config changes into catalog - v.0.3.2

In order to incorporate updates to the configuration in Change the Subject in the library catalog, we need to

[ ] upgrade the gem in the Gemfile to v0.3.2
[ ] re-index

I'm going to close this one. Let me know if I'm misunderstanding. Believe we've deployed this.


Google Account login popup remains visible on top of all windows after sign-in/add account

As of hash: 355fe25a55bc40af9ba1dca8ed174d4010d3725d
Steps to reproduce:

Open IDEA.
Click the profile image button to open the Google Account popup.
Click the "Sign In" button or the "Add Account" button, whichever is appropriate for your account state.
Observe the Google Account popup remains visible on top of the opened browser login window. See the picture below.

Environment details:

macOS Sierra 10.12.4

@nkibler this is fixed right?

So I didn't explicitly fix it, but now it's not reproducible on my Mac, which was the only platform I saw it on.


ESDL to JSON to Julia graph structure

Convert ESDL to JSON (code by @Lokkij)from esdl.esdl_handler import EnergySystemHandler
from pyecore.resources.json import JsonResource

def convert():
    esh = EnergySystemHandler()
    esh.create_empty_energy_system(name="Test")
    esh.load_file("Norse Mythology.esdl")
    esh.rset.resource_factory["json"] = lambda uri: JsonResource(uri)

    esh.save("Norse Mythology.json")

if __name__ == "__main__":
    convert()

Create the graph edges/flows (#359)
Read other flow related attributes; see FlowData
Read flow profiles; see FlowProfiles
Combine the flow definitions with the profiles

The data structure that is used by the JuMP model is GraphFlowData, which combines (3-4).

Read assets with its attributes; see AssetData, GraphAssetData

Dependent issues

[ ] TulipaEnergy/TulipaIO.jl#6
Every ReferenceProfile in an ESDL file has to retrieved from InfluxDB.  There's no Julia client, so we need to write one.

@datejada @clizbe I found an instance where merging the attributes from the "from" and "to" nodes has conflicts (see the norse mythology file, also in the repo):
ERROR: DomainError with Following fields have conflicting values:
┌──────────────────┬────────────┬───────────────┐
│           fields │ Waste heat │ HeatPump_4b33 │
├──────────────────┼────────────┼───────────────┤
│ initial_capacity │      100.0 │          10.0 │
│  investment_cost │       14.0 │          16.0 │
│    variable_cost │        2.0 │          15.0 │
└──────────────────┴────────────┴───────────────┘

Is this realistic? Any thoughts how to resolve this kind of conflicts?

Tulipa
ESDL

capacity (charge/discharge)
maxDischargeRate and maxChargeRate

@clizbe  I'm not sure I understand this entry from the table.  ESDL has two different rates, whereas Tulipa has one. How does that map?

That's up for debate. We'll most likely change Tulipa to 2.

@datejada @clizbe I found an instance where merging the attributes from the "from" and "to" nodes has conflicts (see the norse mythology file, also in the repo):
ERROR: DomainError with Following fields have conflicting values:
┌──────────────────┬────────────┬───────────────┐
│           fields │ Waste heat │ HeatPump_4b33 │
├──────────────────┼────────────┼───────────────┤
│ initial_capacity │      100.0 │          10.0 │
│  investment_cost │       14.0 │          16.0 │
│    variable_cost │        2.0 │          15.0 │
└──────────────────┴────────────┴───────────────┘

Is this realistic? Any thoughts how to resolve this kind of conflicts?

Ah this is just because I filled in random numbers. You guys said that was fine!
Is it just a value conflict that doesn't make sense?

Is it just a value conflict that doesn't make sense?

Yes. Basically the logic is:

if for asset 1 it's missing and asset 2 is present, accept value set with asset 2
if asset 1 and asset 2 has set the same value, accept it
if both assets set the value but thwy aren't equal, error

This is mostly to be conservative yet reasonable. If the rubric above looks good, I'll just make the esdl file conformant and proceed.

We'll most likely change Tulipa to 2.
In that case, for now I'll just pick one, and implement the other one but leave it commented out.

Some comments on the ESDL/Tulipa compatibility were added here: https://github.com/TulipaEnergy/TulipaEnergyModel.jl/discussions/606

Abandoned in favor of ESDL4Tulipa


discovery: start runUpdater() only once

Closes #4470

At first glance it seems we can simplify this by putting the logic of runProvider directly in Run()

Holding off this PR since #4523 touches this part too.

with #4523 we don't even need this one. Will add in the comment that it also  fixes #4470


base styles don't look right

At the very least, elements should be aligned properly with our base styles.

This might be fixed on the respondent_view_adjust branch


Use hard breaks in formal grammar

Location
No response
Description
Currently, DocC doesn't render hard breaks: https://github.com/apple/swift-docc/issues/477
When support is added, we should change the formal grammar here to use blank lines between groups and hard breaks between definitions.
Currently, as a workaround to preserve this information, each definition is followed by a blank line in source, to make it appear on its own line in output, and groups are separated by two blank lines.  So something like this:
> Grammar of a self expression:
>
> *self-expression* → **`self`** | *self-method-expression* | *self-subscript-expression* | *self-initializer-expression*
>
>
>
> *self-method-expression* → **`self`** **`.`** *identifier*
>
> *self-subscript-expression* → **`self`** **`[`** *function-call-argument-list* **`]`**
>
> *self-initializer-expression* → **`self`** **`.`** **`init`**

Should turn into something like this:
> Grammar of a self expression:
>
> *self-expression* → **`self`** | *self-method-expression* | *self-subscript-expression* | *self-initializer-expression*
>
> *self-method-expression* → **`self`** **`.`** *identifier* \
> *self-subscript-expression* → **`self`** **`[`** *function-call-argument-list* **`]`** \
> *self-initializer-expression* → **`self`** **`.`** **`init`**

Correction
No response

The issue is fixed upstream on Swift 5.9 release. Can we revisit and fix it now? @amartini51
You can test it via a later nightly toolchain of Swift 5.9 or wait for the next Xcode 15 beta.

@Kyle-Ye I was excited to see support for hard breaks yesterday.  It took me two tries to write a script that transformed the TSPL grammar.  (The first script in AWK was easy to write, but couldn't add the  \ at the end of lines, so I redid it this morning in Python.)
If you'd like to review the changes in the diff, please have a look at #155.  I also want to review the changes in a rendered HTML version, but I'm waiting for another PR to finish so I can re-use my GitHub Pages to host this set of changes for review.


The word title in the popup when creating a collection can not be changed

Description / Beschreibung
When creating a collection such as Person, the popup always says "Title", which is confusing. Here could be "Name" or a user defined name.

Expected behaviour / Erwartetes Verhalten
Here could stand name or a user-defined designation.
Alternatively, the designation "Title" could not appear.
Steps to reproduce / Schritte zum Reproduzieren
reate a question set as a collection where the display name is not "Datensatz".
References / Verweise

rdmo 1.92

Its "Name" now.


Optional read secret from mount path

This PR implements the changes of #3
MINIO_SECRET_KEY is the default Source of the Secret. If MINIO_SECRET_KEY_MOUNT_PATH is present, minio-kv try to read the secret from the file provided in MINIO_SECRET_KEY_MOUNT_PATH. If there is any error, the fallback is MINIO_SECRET_KEY.

I think there should be an input validation for the other environments to.

@alexellis is the implementation the way you want it?


lift-json issues with deeply nested tuples including Scala primitive types

import net.liftweb.common._
import net.liftweb.json.{Extraction, _}
import net.liftweb.util.ControlHelpers._
import org.specs2.mutable.

case class Holder(items: List[(String, Long)])

class ExtractionBugSpec extends Specification {
  "Extraction" should {
    "deserialize List of Tuple with Long" in {
      implicit val formats = DefaultFormats

      val holder = Holder(List(("string", 1L)))
      val serialized = compactRender(Extraction.decompose(holder))
      println(serialized)

      val deserialized = tryo(parse(serialized).extract[Holder])
      deserialized must beLike {
        case Full(holderObj) => ok
        case other => {
          println(other)
          ko
        }
      }
    }
  }
}

Result:
[info] Extraction should
[error] x deserialize List of Tuple with Long
[error]    'Failure(No usable value for items
[error]    No usable value for _2
[error]    No information known about type,Full(net.liftweb.json.MappingException: No usable value for items
[error]    No usable value for _2
[error]    No information known about type),Empty)' doesn't match the expected pattern ko (ExtractionBugSpec.scala:23)

ML thread: https://groups.google.com/d/msg/liftweb/8kTftPP7jyQ/jS6UYHinDAAJ

Some deeper investigation revealed that paranamer or reflection (not sure which yet) is reporting that the Long parametrized type is instead a java.lang.Object: scala.collection.immutable.List<scala.Tuple2<java.lang.String, java.lang.Object>>.

Last time i had this issue (but with (Long, String)), I came to the conclusion that a custom serializer is needed for this (after some googleing).
import net.liftweb.json.CustomSerializer
import net.liftweb.json.JsonAST.{JField, JObject, JString}

class LongStringTupleSerializer extends CustomSerializer[(Long, String)](format => ( {
	case JObject(List(JField(k, JString(v)))) => (k.toLong, v)
}, {
	case (l: Long, t: String) => JObject(List(JField(l.toString, JString(t))))
}))

Usage:
implicit val formats = DefaultFormats.lossless ++ JodaTimeSerializers.all + new JsonBoxSerializer + new LongStringTupleSerializer

Handy workaround! Did you happen to look into fixing it at the lift-json level at the time or not?

Ironically I just realized 1768 was linked to this bug, but 1768 not only doesn't fix this bug, it actually pulls the issue further up the chain by making it so we can't handle any Scala primitive types at any level :(
Sounds like this bug is what one might call The Worst™.

Ironically I just realized 1768 was linked to this bug, but 1768 not only doesn't fix this bug, it actually pulls the issue further up the chain by making it so we can't handle any Scala primitive types at any level :(

Just now seeing this. I don't think 1768 made this any worse, did it? But I do think that it's near impossible to handle Scala primitive types with our current implementation. :/ I think this is probably going to be forced to be a wont fix with an eye twoard eventually incorporating the new json extractor, yeah?

Can't remember for sure, but this was about deeply nested tuples, implying top-level ones maybe worked, so perhaps that's what I was getting at.

Ah, yeah, I think that's always been the case. Top level primitives correctly get passed through scalap for type identification. Tuples in parameterized type positions do not, despite my best efforts to make them do so.

Got it. Might be that this didn't change then.

I'm not sure what our policy here should be, but after having spent some time trying to fix this in previous pull requests, I think we consider this a WONTFIX. The right solution, imo, is to invest effort in the next generation extractor. Recommend we remove this from 3.2 milestones at the very least since it seems unlikely we'll get it done for 3.2.

I'm cool with that.


Pkg-4703 initial v12.4

Destination channel: defaults
Links

PKG-4703

Explanation of changes:

Part of CUDA 12.4 build, following conda-forge's pattern which was developed in conjunction with Nvidia. I don't see a need to stage these then release them all at once. They won't cause a problem released one at a time.
Please check the main branch too, this has just been forked
Changes made to adjust feedstocks for differences between conda-forge and defaults. Please see commit messages for description of changes.
There's an open issue upstream but I suggest we don't wait on it and catch it with the next update.

Linter check found the following problems:
ERROR conda.cli.main_run:execute(124): `conda run conda-lint /tmp/abs_42lccgrqrd/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:46: license_file_overspecified: Using license_file and license_url is overspecified.

===== ERRORS =====

clone/recipe/meta.yaml:46: missing_dev_url: The recipe is missing a dev_url
clone/recipe/meta.yaml:46: missing_license_family: The recipe is missing the about/license_family key.
===== Final Report: =====
2 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(124): `conda run conda-lint /tmp/abs_269r7vc7vg/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:46: license_file_overspecified: Using license_file and license_url is overspecified.

===== ERRORS =====

clone/recipe/meta.yaml:46: missing_dev_url: The recipe is missing a dev_url
clone/recipe/meta.yaml:46: missing_license_family: The recipe is missing the about/license_family key.
===== Final Report: =====
2 Errors and 1 Warning were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_15x57p1xcm/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:46: license_file_overspecified: Using license_file and license_url is overspecified.

===== ERRORS =====

clone/recipe/meta.yaml:46: missing_dev_url: The recipe is missing a dev_url
clone/recipe/meta.yaml:46: missing_license_family: The recipe is missing the about/license_family key.
===== Final Report: =====
2 Errors and 1 Warning were found


Add re-exports

Great job, Ryo!
Reexport saves additional dependencies on user's side 💯
I will prepare a release 0.9.0 for crates.io that we can reference in new versions of parol with your changes.
This may take some time because of QA 😉


Add HEALTHCHECKS docker function

Emails and sends message to Slack channel (set up web hook then add to auto heal) when there's an unhealthy check.

Complete; moving to Done


k0s: update k0sctl from version 0.11.4 to 0.12.2

Release notes:
https://github.com/k0sproject/k0sctl/releases/tag/v0.12.2
https://github.com/k0sproject/k0sctl/releases/tag/v0.12.1
https://github.com/k0sproject/k0sctl/releases/tag/v0.12.0

bors r+


Update field and model when changes occur in other field.

Question
I would like to update a field when the model of another field is changed. I have found a workaround, but I am wondering if there is a easier solution to the problem that I am missing.
This is a contrived example, but it illustrates the problem I am facing. I have created two text input fields with key "foo" and "bar". If field "foo" is changed I also would like to update field "bar" with the same value.
If I try this solution then "foo" is updated initially, but "bar" is not. However, writing inside the "foo" field, causes "bar" to be updated.
this.form.get('foo').valueChanges.subscribe(foo => {
  this.form.get('bar').setValue(foo);
})
this.model = { foo: 'new-value' };

If I instead try to update the model, then "bar" is updated correct initially, but "bar" does not pick up changes when writing inside "foo".
this.form.get('foo').valueChanges.subscribe(foo => {
  this.model.bar = foo;
})
this.model = { foo: 'new-value' };

If I combine both I finally get the expected behavior, "bar" is updated correctly initially and is able to listen to changes to "foo":
this.form.get('foo').valueChanges.subscribe(foo => {
  this.form.get('bar').setValue(foo);
  this.model.bar = foo;
})
this.model = { foo: 'new-value' };

However, combining the two feels like a bit of a hack. Maybe there is a more straightforward solution that I am missing?

see https://github.com/ngx-formly/ngx-formly/issues/2607#issuecomment-737913181

see https://github.com/ngx-formly/ngx-formly/issues/2607#issuecomment-737913181


CI: modify sed for scalaFmt

Indentation style of GatewayConfig param is changed by scalaFmt. We modify sed to adapting that.

After this commit, CI works as predicted.


pylcaio.LCAIO.save_system

Documentation:

[ ] add data input/output format documentation
[ ] add mathematical formulation of data manipulation

Refactoring:

[ ] implement function using native Pandas/NumPy objects and methods
[ ] document performance improvements
[ ] create MWE input/output data for unit test

Compare also https://github.com/michaelweinold/brightway2-hybridization/issues/9#issuecomment-1251050988


Bump Flutter v3.13.7 && Xcode 15

In my opinion, the current version may not work properly in the newly released IOS 17 system (please test on IOS 17). Because:

Flutter has problems with Xcode 15 in older versions.

xcode 15/IOS 17.0 has also introduced some problems for flutter_inappwebview and we have to update it too.

Solution:

Update Flutter to version 3.13.7
Using version 6.0.0-beta.25 or 5.0.8 of the flutter_inappwebview package.
Trying to update the packages we use.

We need to solve #1461

Interesting. :)
Xcode 15 is installed on our GitHub actions runners, but it is not the default. You can change the version to use with this action: https://github.com/marketplace/actions/setup-xcode-version.
I have checked and the appcenter also supports xcode 15, so we could switch. :)