4714 unzip to folder functionality added in addition to unziping here

Pull Request Checklist:

[ ] Positive Test Case Written by Dev

[ ] Automated Testing

[ ] Sufficient User and Developer Documentation

[ ] Passing Jenkins Build

[ ] Peer Code review and approval

Positive Test Case

[Enter positive test case here]

METRIC
VALUE

https://sonarqube.cuahsi-workstation.com:9000/dashboard?id=hydroshare-4751

@devincowan I have updated the comment to make it clearer to address your code review comment, and also resolved conflicts with develop branch, so it is ready for code review now. @sblack-usu

@devincowan Thanks for the thorough review and testing. I have made a commit to fix your first comment regarding unzip to folder menu item appearing in multiple states where it should not appear. That issue should be fixed, but let me know if you still see issues once you get a chance to test my updated code. For you second comment, that was the expected behavior we have had before my work to allow unzip here and allow users to choose whether to override files or not, since unzip to folder always unzip to a new folder, and if the folder with the zip file name without extension already exists, it just append -1 to the folder name to avoid overriding existing folders. My work in this PR just restores the old behavior, so I think we can treat it as working as expected for now, but new behavior can be implemented later as needed. For you third comment, unzipping to a temporary folder is part of the workflow for unzipping here regardless whether there are files/folders to override or not, since we don't know if there are conflicting files/folders to override until we unzip the file to a temporary folder, then check whether there are potential file/folder override. The temporary folder will be deleted whether the unzip action succeeds or fails. Since the unzip action runs in a celery task, the temporary folder should always be deleted after the action. In short, it works as expected for your second and third comments for now, but can be improved later as needed.

Got it, thanks @hyi sorry to belabor. Good to know that's the intended functionality.


Support android

Which project is this feature idea for?
Turbopack
Describe the feature you'd like to request
Support android and termux users
Describe the solution you'd like
Add binaries for android
Describe alternatives you've considered
Add binaries for linux arm64 because termux is a terminal emulator for linux

We don't have any plans to support turbopack binaries for android arm devices right now, but we're evaluating platform options continuously.


Pixi removing packages installed by uv not part of pixi.toml

I am installing a package from github (git+ssh://) using uv, as pixi does not support this yet. However, whenever I run any pixi command (even just pixi shell), this package gets uninstalled.
Is this really the desired behavior? Why not just issue a warning if non pixi-managed package is found? Or at least give an option to disable this behavior?
For now I am simply switching to installing with pip, which works, but is inferior to installing with uv

He @tadejsv, this is an good find.
This is most likely because we also use uv and "our" uv is getting the instruction to uninstall packages that are not needed anymore (based on requirements). As uv finds both pixi's and your uv packages it acts on them as equal.
@tdejager I know we're going to support all this behavior but would it be possible to make sure we only uninstall pixi installed packages? By making the INSTALLER uv-pixi or something like that.

I made a quick PR to uv here: https://github.com/astral-sh/uv/pull/2561

I agree I think that would be the only option, it can potentially keep
brealking for newer versions of pixi as long as people have not cleared
their environments so we might need to add something to the release notes
for that.
Let’s hope uv accepts that PR soon :)
On Wed, 20 Mar 2024 at 11:24, Wolf Vollprecht @.***>
wrote:

I made a quick PR to uv here: astral-sh/uv#2561
https://github.com/astral-sh/uv/pull/2561
—
Reply to this email directly, view it on GitHub
https://github.com/prefix-dev/pixi/issues/998#issuecomment-2009216748,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADF4XS73B7B4JL6DHU4WODYZFPVDAVCNFSM6AAAAABEZS553GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMBZGIYTMNZUHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Uv has merged this so we should update and add the installer in the relevant places :)


Issue #66: renamed github workflow file and title

Renamed github workflow file and title

Approved. Kardown issue will not be resolved in this PR.

if we're postponing fixes we should at least create an issue to follow up and have that new issue linked here.


Change the name of the Add Client button in the Client Module.

Describe the task
Rename the Add Client button on  CRM --> Clients

Expected behavior
Change the name of the Add Client button.
Add Client --> Add new Client

Working Fine.


Reformat code.

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Please tag this pr with at least one of these labels to make our release process faster: BREAKING, new feature, bug fix, other change, dev setup

Is it possible to have a style check in place that enforces this? Otherwise we will periodically do these PR, which I guess can interfere with other people's working branches


TODO: Formalize XML

TODO: Line 16 of Main.
We need to formalize our XML for message passing (to be put into tag dict).
We also need to talk about whether or not this should be predominantly defined in Network (I personally believe it should be)

Yeah, this seems like something that should be mostly in network, or at least in the P2P Platform project.

Sounds like we're in agreement that this should happen in the P2PPlatform, and now that master is the most active branch over there, I think we're good to go.


Incorrect Command to confirm

The next command that is present in the documment is incorrect  and fails trying to get the certificate date.
az vmss run-command invoke -g MC_rg_myAKSCluster_region -n vmss-name --instance-id 0 --command-id RunShellScript --query 'value[0].message' -otsv --scripts "openssl x509 -in /etc/kubernetes/certs/apiserver.crt -noout -enddate"
Please update the command for this one
az vmss run-command invoke --resource-group "MC_rg_myAKSCluster_region" --name "vmss-name " --command-id RunShellScript --instance-id 1 --scripts "openssl x509 -in /etc/kubernetes/certs/apiserver.crt -noout -enddate" --query "value[0].message"

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

ID: 9b78509d-73eb-6c32-aee1-9b34685a64ff
Version Independent ID: 6f87cf70-1f5a-0f9e-862d-ae1436595f3b
Content: Certificate Rotation in Azure Kubernetes Service (AKS) - Azure Kubernetes Service
Content Source: articles/aks/certificate-rotation.md
Service: container-service
GitHub Login: @MGoedtel
Microsoft Alias: magoedte

@alftio
Thanks for your feedback! We will investigate and update as appropriate.

@alftio
Thanks for bringing this to our attention. We have created a PR for this issue and the changes should go live soon.


✨ run transport controller in a pod

Summary
Related issue(s)
Fixes #1809

/cc @MikeSpreitzer
/cc @vMaroon
/cc @ezrasilvera

@francostellari (cc @pdettori) once this PR is merged, please feel free to look on how to run the same using a helm chart.
need to pay attention that we need the option to run transport controller using both official image (as can be seen in example.md in this PR) and using a local image (as can be seen in e2e setup-kubestellar script).

@pdettori @nirrozenbaum can you clarify if this controller needs to run for each wds?  does it run in the wds cp? or i the cluster running the wds cp? Perhaps you have a diagram posted somewhere?

Why not squash the 10 commits here together?

@francostellari : yes, the transport controller has to be run once for each WDS. It can not run "in" a WDS because a "space" can not necessarily run pods. That is why it runs in the hosting cluster and is connected to the WDS.

Why not squash the 10 commits here together?
@MikeSpreitzer
yes, possible.
I will squash as soon as I make it pass the tests.

@MikeSpreitzer I fixed the change which broke the e2e.
if all e2e pass, I will squash all commits.
let me know if there are more comments.

@MikeSpreitzer squashed. left one commit of Maroon (not to remove commit of someone else).

In general I'm OK with going forward in this direction as we want to cut a release.  However I find this whole approach too complex and I think it can be done in a simpler way.
Why can't we simply pushed a deployment shell script into the image, that script will first retrieve the configs from KF and generates the needed files on the container FS (with similar commands as this PR is doing in the init container), and then it will launch the controller deployment.
The only parameter that is needed is the kubeconfig to access KF, which can be easily passed. At this point I would also pass a fixed in-cluster=true   , as for now we are officially supporting a single hub cluster for all our control components.

@nirrozenbaum In general I'm OK with going forward in this direction as we want to have a release ASAP. However I find this whole approach too complex and I think it can be done in a much simpler way. Why can't we simply pushed a deployment shell script into the image, that script will first retrieve the configs from KF and generates the needed files on the container FS (with similar commands as this PR is doing in the init container), and then it will launch the controller deployment. This way you'll be able to avoid the init containers, CM to store the secrets, and the k8s volume mounts for the files. The only parameter that is needed is the kubeconfig to access KF, which can be easily passed. At this point I would also pass a fixed in-cluster=true , as for now we are officially supporting a single hub cluster for all our control components.

This suggestion is doing a mix between transport and KubeFlex. this is exact what I wanted to avoid.
Today there is tight coupling between KF and binding controller. we have an open issue to decouple them. the right approach which all team agree on is separating space manager from the controllers (and images).
the solution I came up with keeps the clean separation of transport and KF. other the the deployment itself, transport is completely decoupled from KF. for example, for testing transport locally, I created a kind cluster and ran transport without KF.
your suggestion goes in the opposite direction and involves adding KF specifics script into transport image, that’s bad.

@nirrozenbaum In general I'm OK with going forward in this direction as we want to have a release ASAP. However I find this whole approach too complex and I think it can be done in a much simpler way. Why can't we simply pushed a deployment shell script into the image, that script will first retrieve the configs from KF and generates the needed files on the container FS (with similar commands as this PR is doing in the init container), and then it will launch the controller deployment. This way you'll be able to avoid the init containers, CM to store the secrets, and the k8s volume mounts for the files. The only parameter that is needed is the kubeconfig to access KF, which can be easily passed. At this point I would also pass a fixed in-cluster=true , as for now we are officially supporting a single hub cluster for all our control components.

This suggestion is doing a mix between transport and KubeFlex. this is exact what I wanted to avoid. Today there is tight coupling between KF and binding controller. we have an open issue to decouple them. the right approach which all team agree on is separating space manager from the controllers (and images).
the solution I came up with keeps the clean separation of transport and KF. other the the deployment itself, transport is completely decoupled from KF. for example, for testing transport locally, I created a kind cluster and ran transport without KF.
your suggestion goes in the opposite direction and involves adding KF specifics script into transport image, that’s bad.

I don't agree. You have the same coupling. The fact that your dependency is in a script outside the image doesn't change much.  And once you go to Helm it will be part of the helm as well. I don't see much difference that worth this complexity.
And we agreed that KF as space manger is something we decided to support in any case due to simpler user  experience. We do want to add direct config parameters but also allow KF usage in our controllers. (for people who prefer that).

@nirrozenbaum In general I'm OK with going forward in this direction as we want to have a release ASAP. However I find this whole approach too complex and I think it can be done in a much simpler way. Why can't we simply pushed a deployment shell script into the image, that script will first retrieve the configs from KF and generates the needed files on the container FS (with similar commands as this PR is doing in the init container), and then it will launch the controller deployment. This way you'll be able to avoid the init containers, CM to store the secrets, and the k8s volume mounts for the files. The only parameter that is needed is the kubeconfig to access KF, which can be easily passed. At this point I would also pass a fixed in-cluster=true , as for now we are officially supporting a single hub cluster for all our control components.

This suggestion is doing a mix between transport and KubeFlex. this is exact what I wanted to avoid. Today there is tight coupling between KF and binding controller. we have an open issue to decouple them. the right approach which all team agree on is separating space manager from the controllers (and images).
the solution I came up with keeps the clean separation of transport and KF. other the the deployment itself, transport is completely decoupled from KF. for example, for testing transport locally, I created a kind cluster and ran transport without KF.
your suggestion goes in the opposite direction and involves adding KF specifics script into transport image, that’s bad.

I don't agree. You have the same coupling. The fact that your dependency is in a script outside the image doesn't change much. And once you go to Helm it will be part of the helm as well. I don't see much difference that worth this complexity. And we agreed that KF as space manger is something we decided to support in any case due to simpler user experience. We do want to add direct config parameters but also allow KF usage in our controllers. (for people who prefer that).

this solution supports using kubeFlex 🙂.
this is what we do in e2e.
and user experience is very simple - run a single script.
what’s created internally is implementation details and not related to user experience.
I think the fact that it’s outside the image changes a LOT. that’s exactly coupling vs decoupling. the fact I can run transport image without anything that’s related to KF is complete decoupling, which is exactly what we need.
pushing KF specifics into transport image is in fact creating coupling between transport and KF, there is no way around it.
regarding helm, if that would be written correctly, we shouldn’t have any coupling between transport and KF there as well. exactly for this we have code reviews to guarantee that will happen.

@nirrozenbaum In general I'm OK with going forward in this direction as we want to have a release ASAP. However I find this whole approach too complex and I think it can be done in a much simpler way. Why can't we simply pushed a deployment shell script into the image, that script will first retrieve the configs from KF and generates the needed files on the container FS (with similar commands as this PR is doing in the init container), and then it will launch the controller deployment. This way you'll be able to avoid the init containers, CM to store the secrets, and the k8s volume mounts for the files. The only parameter that is needed is the kubeconfig to access KF, which can be easily passed. At this point I would also pass a fixed in-cluster=true , as for now we are officially supporting a single hub cluster for all our control components.

This suggestion is doing a mix between transport and KubeFlex. this is exact what I wanted to avoid. Today there is tight coupling between KF and binding controller. we have an open issue to decouple them. the right approach which all team agree on is separating space manager from the controllers (and images).
the solution I came up with keeps the clean separation of transport and KF. other the the deployment itself, transport is completely decoupled from KF. for example, for testing transport locally, I created a kind cluster and ran transport without KF.
your suggestion goes in the opposite direction and involves adding KF specifics script into transport image, that’s bad.

I don't agree. You have the same coupling. The fact that your dependency is in a script outside the image doesn't change much. And once you go to Helm it will be part of the helm as well. I don't see much difference that worth this complexity. And we agreed that KF as space manger is something we decided to support in any case due to simpler user experience. We do want to add direct config parameters but also allow KF usage in our controllers. (for people who prefer that).

this solution supports using kubeFlex 🙂. this is what we do in e2e. and user experience is very simple - run a single script. what’s created internally is implementation details and not related to user experience.
I think the fact that it’s outside the image changes a LOT. that’s exactly coupling vs decoupling. the fact I can run transport image without anything that’s related to KF is complete decoupling, which is exactly what we need.
pushing KF specifics into transport image is in fact creating coupling between transport and KF, there is no way around it.
regarding helm, if that would be written correctly, we shouldn’t have any coupling between transport and KF there as well. exactly for this we have code reviews to guarantee that will happen.

Please note that there is no "KF dependency" on what I suggested.  We simply say that the script that deploy this controller expect to find the secrets in a certain place. You can go ahead and put them yourself without KF. So it doesn't matter if the script that fetch those secrets is inside or outside the image. As a matter of fact you could even push that logic into the controller itself and publish that you controller can wither get configs on the command line, or secrets in predefine name/ns, or secretRef object name, or context names, or .....
It's completely the same and it's only semantics.
Also your image can have multiple entry point and your controller can start with kubeconfigs if supplied,  with secrets that stored in predefined locations (if preferred) , or with interacting with KF.  None of this makes the image " dependent on KF" .  But again, this is a semantic discussion and if you supply script+image you should treat the two as  a bundle that expects the input info to be coming from secrets at specific location, I'm just suggesting a much simpler and cleaner way to do it.

@ezrasilvera: I imagine that this will not be the only way to run the transport controller in a Pod. We will want another way that does not rely on KubeFlex.

/approve


It would be really useful with a clean nice Room-summary card

Requirements

[X] I have updated Mushroom to the latest available version
[X] I did a search to see if there is a similar issue or if a pull request is open.

Is your feature request related to a problem?
I really like this minimalistic room card available here, but it is only part of a complete theme and can't be installed just as a standalone card. It would be really nice with a mushroom room card that summarizes a room in a minimalistic, clean and beautiful way, such that multiple room cards can be on a dashboard page without looking far too cluttered.
This is a really good way to do it:
https://ui-lovelace-minimalist.github.io/UI/usage/cards/card_room/
Describe the solution you'd like
Something like this, that doesnt require using their theme:
https://ui-lovelace-minimalist.github.io/UI/usage/cards/card_room/
Describe alternatives you've considered
No response
Additional context
No response

Related to #55

related also to this one:
https://github.com/piitaya/lovelace-mushroom/issues/1286

related also to this one, to go a step further while not fully reproducing the minimalist room card design: #1286

@BBESINET If I recall correctly, we had a convo on that thread also.
I am currently replicating the logic of #1286 with other cards.
It would be great to have these features added natively.

+1 for this. It would be nice for my Home overview dashboard.


No matching version found for<EMAIL_ADDRESS>

I get the following error when running create-react-app.
I'm on node 20.5.0
@babel/types is on v7.22.17 according to npm website
npx create-react-app compose-danse

Creating a new React app in D:\Dev\temp-c-d\client\compose-danse.

Installing packages. This might take a couple of minutes.
Installing react, react-dom, and react-scripts with cra-template...

npm ERR! code ETARGET
npm ERR! notarget No matching version found for<EMAIL_ADDRESS>npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.

npm ERR! A complete log of this run can be found in: C:\Users\Alexandre\AppData\Local\npm-cache\_logs\2023-09-14T16_16_51_976Z-debug-0.log

Aborting installation.
  npm install --no-audit --save --save-exact --loglevel error react react-dom react-scripts cra-template has failed.

Deleting generated file... package.json
Deleting compose-danse/ from D:\Dev\temp-c-d\client
Done.

Hi, I have the same problem..
`

npm i react-scripts
npm ERR! code ETARGET
npm ERR! notarget No matching version found for<EMAIL_ADDRESS>npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.
`

Ahah is fix 😭

npm cache clean --force
may this command help you..!

babel/babel released 7.22.19. Should work now.

Happy hacking!

I confirm that it's working now


Fix Variables Field Being Defined Twice in Nightly Yml Template

Fix Variables Field Being Defined Twice in Nightly Yml Template

/azp run


fixed campaign layout for right to left languages

Fixed Campaigns bar icon position in right-to-left languages
Fixes #2544  Campaigns bar icon position in right-to-left languages
Changes made
Modified layout_campaign.xml
Screenshots showing what changed

Codecov Report

Merging #2550 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #2550   +/-   ##
======================================
  Coverage     5.9%    5.9%
======================================
  Files         258     258
  Lines       12300   12300
  Branches     1104    1104
======================================
  Hits          726     726
  Misses      11515   11515
  Partials       59      59

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7480d00...58fd0fd. Read the comment docs.

@vanshikaarora Is it possible to make the icons in both the cards align vertically.

@vanshikaarora Is it possible to make the icons in both the cards align vertically.

@maskaravivek I have made the changes for alignment. Kindly review :)

Thanks for approving the PR @maskaravivek :)


How to support other languages?

Hello @Mogztter
Thanks for your work on antora-lunr and other projects I used.
I quickly integrate antora-lunr through antora-site-generator-lunr on my website. https://jabby-techs.fr
As you can see, my website is in french and by default lunr only support english. There are some language plugins available to support french and other languages. See https://lunrjs.com/guides/language_support.html
I would like to know if there is a way to add by some configuration those languages into antora-lunr. The only way I found is to create my own generate-site function but I think it's better to improve this project.

Hey @jabby
It's an interesting idea and I never thought about it until now.
As far as I understand, we should require and use the stemmer when indexing documents.
It's not clear if the stemmer also need to be loaded when searching?
Implementation wise, we should probably add a new configuration (i.e. an environment variable named DOCSEARCH_LANGS that accepts a comma separated list of langs).
If you want to open a pull request, please feel free to do so 🤗

It's not clear if the stemmer also need to be loaded when searching? I don't know I will try to create a PR this morning with my tests.
I agree with you, a new environment variable seems the right way to do here.
If it's empty, I will fallback to english, best way to not break the current behaviour.

Sounds good, thanks :+1:

FYI I found some useful documentation here: https://github.com/MihaiValentin/lunr-languages#indexing-multi-language-content

I don't know how to properly test my changes here. Do you have an idea?
Maybe we should verify if the indexation is OK with some tests like the ones from lunr-languages?

FYI I found some useful documentation here: MihaiValentin/lunr-languages#indexing-multi-language-content

It's not 100% clear if the language stemmer and stopwords list are embedded in the index or if we need to load them when searching (client-side).

I don't know how to properly test my changes here. Do you have an idea?

You can generate an index with DOCSEARCH_LANGS defined as an environment variable, take a look at:
https://github.com/Mogztter/antora-lunr/blob/6c60dc048a6823fbe3abdaa785abf356c3f2ec25/test/test.js#L510-L511
Then you can check that stop words from a language are effectively enabled when doing a search. For instance, you can index "ils jouaient" in French where "ils" is a stop word and the suffix "ent" should be recognized. So if you search "joue" it should find something.
And I believe that if you do the same using the default English stemmer it won't work.

Maybe we should verify if the indexation is OK with some tests like the ones from lunr-languages?

Yes that's a good idea :+1:

I updated my draft PR. Feel free to review and comment my work.
I'm not sure this part is really good.
See https://github.com/Mogztter/antora-lunr/pull/74/files#diff-a561630bb56b82342bc66697aee2ad96efddcbc9d150665abd6fb7ecb7c0ab2fR10 and https://github.com/Mogztter/antora-lunr/pull/74/files#diff-a561630bb56b82342bc66697aee2ad96efddcbc9d150665abd6fb7ecb7c0ab2fR273-R274
I also rewrite required part except for the first import. Is it ok for you?

Thanks @jabby, I will take a look today :eyes:

resolved in https://github.com/Mogztter/antora-lunr/pull/74


Removed duplicate ban-types declaration

Line 8 defines a list of banned types, while line 96 was setting ban-types to false.  After reviewing blame, I'm assuming #19586 is the intended setting, and am removing line 96.

looks like that change somehow uncovered an unlinted declaration. mind fixing that as well in the same PR


Adding Public Config to Node - Unable to save.

When adding a public config for a Node ID, the save button does not highlight until all fields have been entered:

However, as per our current manual - the IPv6 address and the Domain are meant to be optional.

the domainCheck rule is returning false if the  domain field is empty;
not sure should we remove this or update the manual ? @AhmedHanafy725

Verified, Devnet 2.1.0-rc8.
Based on docs, Only IPV4 is the necessary ip to be added.

And it was updated to only request IPV4 to enable submit button

Client continues to receive the same error.

Client was on mainnet. Thanks for pointing that out.


What is this?

This function looks quite weird. I'm not sure it would run:
https://github.com/natema/TinyNets.jl/blob/fff92f058f6eec1bf8f838e76c965c838fe70e9b/src/schedulepruning.jl#L178
git blame points to you, @damrvt. What is this supposed to do?

I've investigated a bit more and it seems to be an attempt to define a routine to keep training the network until convergence is achieved.
The code appears to be rogue: it's not connected to any issue, was not merged through a request, and was not reviewed by anyone (so I've presumed from the inconsistent spacing).
Those changes should be moved into a dedicated branch and associated to a suitable issue.
@paulobruno, do you know how to do this?

I'd go for a rebase.


Update lnbits instance, more info to README

Replace thespielplatz.com with legend.lnbits.com
Update README.md to name required redis modules and possibility to use a custom lnbits instance

Thank you for your PR and especially for updating our README.
We (Satoshi Engineering) have one requirement that is currently not met:
We are using Gitlab CI for building and deploying our own instance of Lightning Tip Cards (https://tipcards.io) and want to keep our instance using https://lnbits.thespielplatz.com (we had to move there because of balancing issues on legends.lnbits.com in Dec 2022 and back then totally forgot about making it configurable per setup).
So, I think that we need to move it to env variables.

We added the option to set the LNBITS_ORIGIN via env variables. The (correct) default is now legend.lnbits.com
https://github.com/Satoshi-Engineering/tip-cards/commit/94ba209d5cedda6bd71b266c2e826a9b015303b8


Modified Tuple.equals()

Based on following question and answer:
Q: https://github.com/xetorthio/jedis/issues/1533#issuecomment-324300040 by @sazzad16
A: https://github.com/xetorthio/jedis/issues/1533#issuecomment-338466018 by @HeartSaVioR

LGTM!. @HeartSaVioR ?

Merged into master, 2.10, 2.9.


Alternating row colors

Is there an automatic way to produce alternating row colors in the Excel tabular data (with or without hearder row)?
So far, I am applying an alternating style depending whether it is an even or odd row number.

Hey @matfiz, do you mind sharing the code that you used to do w/ row number?

Hi @Steinitch, I do not have access to the original code base, but AFAIK I just did something like:
wb = xlsx_package.workbook
even_bg = wb.styles.add_style bg_color: "DDDDDD"
odd_bg = wb.styles.add_style bg_color: "FFFFFF"
index=1
wb.add_worksheet(name: "Foo") do |sheet|
  @data_rows.each do |data|
    sheet.add_row data.flatten, style: (index.even? ? even_bg:odd_bg)
    index += 1
  end
end

I hope it helps you.

thanks @matfiz .   I had to do .each_with_index do | foo, index| and it worked great!

Sorry to dig this post back up, but I've spent the last few hours coming to the same place you guys did, and I've got something to add.  Instead of assigning two background styles to named variables, I setup a cycling enumeration and continually called next on it:
xlsx_package.workbook.add_worksheet name: 'Important Information' do |sheet|
  # Background color enumeration
  bg = [ sheet.styles.add_style( bg_color: 'DDDDDD' ), sheet.styles.add_style( bg_color: 'FFFFFF' ) ].cycle
  ...
  sheet.add_row [ 'Field Name 1', 'field data 1' ], style: bg.next
  sheet.add_row [ 'Field Name 2', 'field data 2' ], style: bg.next
  sheet.add_row [ 'Field Name 3', 'field data 3' ], style: bg.next
  sheet.add_row [ 'Field Name 4', 'field data 4' ], style: bg.next
  ...
end

I found this to be really simple and clean to work with.


UAV kept following mission even RC was lost, ecpected RTL

Describe the bug
I uploaded a mission with QGC and started it successfully with QGC. Mid-Mission I turned of the remote RC to trigger the RC Loss failsafe option, but the UAV kept flying the mission. QGC warned me of the lost RC connection and also informed me about the regained connection after I turned back on the RC controller.
To Reproduce
see above
Expected behavior
I expected the UAV to return to launch after an RC loss of 0.5 seconds as it is set up in the safty parameters of  QGC
Log Files and Screenshots

flight log  https://review.px4.io/plot_app?log=9eb96a04-b6e9-4918-9968-cdf94234e375

Safety settings in QGC:

Exported parameters for QGC (needed to change the data type to .txt to upload to github)
parameters.txt
Drone (please complete the following information):

Holybro X500 https://docs.px4.io/master/en/frames_multicopter/holybro_x500_pixhawk4.html
RC-remote: Futaba T8J

This is currently how it's intended to work because 1) AUTO modes don't require RC and 2) you still had contact with the vehicle through the data link.
FYI @julianoes

That’s actually a little misleading come to think of it. If failsafe is set to return after 0.5s of losing RC, it probably should return independent of mode or at least there should be another option (when in mission/when not), etc. At the very least this should be in the docs but it should probably be setup to return as default if RC is lost even if in mission (with a parameter to alter that). Current docs don’t say that, just that if RC is lost the result is X under RC failsafe. @hamishwillee

That’s actually a little misleading come to think of it.

I agree it's misleading, but I think the implementation makes sense. I'm not sure how we make these things clear from a QGC perspective. The "dream" (from my perspective at least) is that we get to the point where we can generate useful documentation from the actual state machine (transitions for failsafes, mode requirements, etc).

That would be good so the codebase dictates what’s in the docs. No ambiguity would be great.
Ok, so the question then is how or what setting can be set to RTL when in mission mode when the RC link drops? It sounds like that isn’t possible.

I still think failsafe from RC should be based on if we have RC. Not the mode we are in. That could be a parameter to toggle it but if you can RTL at anytime from the RC (ie set return to a channel), the RC link then becomes the most important link and typically the furthest reaching one. At the same time having the ability to disregard the RC state and conduct a mission is equally important.

If the data link loss is configured and you have a data link then you don't have to have RC in a mode that doesn't use it for anything. We could add a mechanism to override that if you think it's important.

Ya, I think it’s important to have the option. I’m just thinking that segregates links give more predicable and separate control from a safety perspective. I prefer an RC link with a slow data link over that as a backdoor and a dedicated datalink. Either SIK based or high speed. 2 physical links but 3 ways in.
9/10 times the telemetry will die first given it’s a higher Frequency and if it’s high speed almost always first so I don’t think killing a mission is a good idea based on that but the option should be there (which I believe it is).
Then if all that’s left is the RC and the datalink is gone, that is used to send the plane home if need be (return mode or what not) and the backdoor telemetry is if you know you’re past your high speed link range and you do need to get in but let’s forget that exists for a moment (that’s more of a personal setup having the third link).
I just think it makes sense that if RC failsafe is set to do something, it should do it in a higher level than the mode we are in.
You also run into issues with certain high speed links like Microhard units. That’s not correctly plumbed into qgc yet so if that’s your datalink you have no failsafe (other than battery). I definitely think RC failsafe makes sense to be mode independent (with a parameter to toggle what you’d like). Seems safest too.

Dear @dagar and @ryanjAA ,
thanks a lot for the answers and insights of the failsafe options. I have the same opinion as @ryanjAA - in case I loose my RC connection during the mission flight I want the failsafe action triggered. The reason why I have a RC in mission mode is, that I want to terminate the mission flight as fast as possible (=switching modes) in case something goes wrong.  Loosing the RC, switching to the Laptop with QGC to terminate the mission might cost some important seconds. But I'm aware of that now and can include QGC more in my mission supervision.
From my side this issue is closed now. But I can leave it open if needed for the documentation?
Best regards!
Max

Often many do NOT want fail safe in a mission - they want the mission to continue.
For some that is the whole point of on board waypoints. mission can continue even if RC is lost.
Need to be able to configure this,

@dagar The most obvious and flexible solution for a user is a second auto-mode-specific failsafe action that defaults to "no action". The failsafe for manual or auto modes are then then always obeyed if set, but might have no action.
@ryanjAA FYI I have updated PX4 safety docs to clarify that the failsafe only applies to manual modes:  https://github.com/PX4/px4_user_guide/pull/817 . Feel free to create your own PR updates if you see things like this :-)
I also have raised issue on QGC - they will have to work out how to fix it - presumably some note: https://github.com/mavlink/qgroundcontrol/issues/9092
FWIW

Recently there was a change that stick movement in automatic modes switches from auto to position mode by default. To me that implies that there is an expectation that RC is the important default fallback, which in turn implies to me that people can reasonably expect that RC loss will result in a safety action.

It should be a checkbox in the Mission Start dialog  - Failsafe Action/Continue mission on Failsafe.
Just that simple and easy,
This makes it more accessible, easier to find and more understandable.
It's right there as part of the mission.
It's not a mode, it's just a mission option.

A relatively easy immediate solution would be to add another commander parameter to configure this behavior (auto/mission requirements).

A relatively easy immediate solution would be to add another commander parameter to configure this behavior (auto/mission requirements).

Perfect.


[solidjs-pod] 2. Add social image and description

Add framework social image and description
Background
As an user I would like to have the possibility to share the site on social media and for it to have a nice image and description defined, so that it will increase its visibility and shareability
Acceptance

[x] Add metadata description
[x] Add social image
[ ] Test the site on "https://socialsharepreview.com/"

Needs to be deployed for test


[HOLD for payment 2023-07-03] [$1000] Profile page loads infinitely with accountID is undefined

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to https://staging.new.expensify.com/
Login with any account
Open with URL https://staging.new.expensify.com/a/undefined

Expected Result:
Profile page should show ''Hmm... it's not here"
Actual Result:
Profile page loads infinitely
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[x] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.28-3
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Screencast from 09-06-2023 13_35_24.webm
https://github.com/Expensify/App/assets/43996225/5ae15da3-9b66-4289-ac99-2af5261a185f
Expensify/Expensify Issue URL:
Issue reported by: @dukenv0307
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1686292516315989
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01b5268811dd99e507
Upwork Job ID:<PHONE_NUMBER>930079744
Last Price Increase: 2023-06-19

Proposal
Please re-state the problem that we are trying to solve in this issue.
What is the root cause of that problem?
With accountID being undefined string, openPublicProfilePage isn't called in useEffect.
https://github.com/Expensify/App/blob/82ce35f114a01a0f48180632f1f045aeaae7c8b3/src/pages/ProfilePage.js#L96-L100
So details always an empty object,  hasMinimumDetails is false, isLoading is true
https://github.com/Expensify/App/blob/82ce35f114a01a0f48180632f1f045aeaae7c8b3/src/pages/ProfilePage.js#L124-L125
And loading component always displays
https://github.com/Expensify/App/blob/82ce35f114a01a0f48180632f1f045aeaae7c8b3/src/pages/ProfilePage.js#L212
What changes do you think we should make in order to solve the problem?
We should check accountID is valid or not in here to change isLoading to false if accountID is invalid
(lodashGet(details, 'isLoading', false) || _.isEmpty(details)) && (accountID > 0)
https://github.com/Expensify/App/blob/82ce35f114a01a0f48180632f1f045aeaae7c8b3/src/pages/ProfilePage.js#L125
What alternative solutions did you explore? (Optional)

Proposal
Please re-state the problem that we are trying to solve in this issue.
Profile page loads infinitely with accountID is undefined
What is the root cause of that problem?
Seems the variable isLoading is not derived and assigned correctly to the Views. isLoading we are updating optimistically with the OpenPublicProfilePage api.
What changes do you think we should make in order to solve the problem?

We should depend only on optimistic isLoading value
const isLoading = lodashGet(details, 'isLoading', false);
https://github.com/Expensify/App/blob/9fda6a55bb5f8997863dd6a6c994934bf36eaad9/src/pages/ProfilePage.js#L125

For showing the profile details we also need to check isLoading
{hasMinimumDetails && !isLoading && (
https://github.com/Expensify/App/blob/9fda6a55bb5f8997863dd6a6c994934bf36eaad9/src/pages/ProfilePage.js#L140

To show loading indicator we can only use isLoading value
{isLoading && <FullScreenLoadingIndicator style={styles.flex1} />}
https://github.com/Expensify/App/blob/9fda6a55bb5f8997863dd6a6c994934bf36eaad9/src/pages/ProfilePage.js#L212

Result
https://github.com/Expensify/App/assets/14358475/ee2f3c06-f490-41f2-8fa2-35fe54320fd8

Reproduced, added an external label for contributors to pick up

Proposal from @dukenv0307 looks good to me
🎀 👀 🎀 C+ reviewed

@sobitneupane isn't this makes more sense where for isLoading state we don't rely on  the empty details object?

@Pujan92 These few lines have some context.
https://github.com/Expensify/App/blob/9fda6a55bb5f8997863dd6a6c994934bf36eaad9/src/pages/ProfilePage.js#L124-L128
It was added in this PR. It should have been added to prevent showing blocking view if the details are yet to be loaded.

It should have been added to prevent showing blocking view if the details are yet to be loaded.

I think that won't be the case as isLoading we are only turning to false on api success/failure. And for blocking view we can use the !isLoading which I have proposed in the solution. So the priority should be loader -> blocking view -> details content. My thinking is to as we already maintaining isLoading then only use that instead of combining other fields.

@Pujan92 The client may already have personal details loaded even while we are loading updates so we shouldn't block the UI on isLoading in this case. That's what we have hasMinimumDetails for.

Sent @hungvu193 an offer - https://www.upwork.com/nx/wm/pre-hire/c/8577561/offer/25386217
@sobitneupane can you please complete the checklist and create a manual request?

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

[ ]  [@sobitneupane] The PR that introduced the bug has been identified. Link to the PR:

https://github.com/Expensify/App/pull/20144

[ ]  [@sobitneupane] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:

https://github.com/Expensify/App/pull/20144#issuecomment-1628451948

[ ]  [@sobitneupane] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:

I don't think any change in PR review checklist is required. It was overlooked while adding a new component.

[ ]  [@sobitneupane] Determine if we should create a regression test for this bug.

Yes.

[ ]  [@sobitneupane] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.

Regression Test Proposal

Login with any account
Open any profile route that has invalid route number(eg: /a/undefined)
Verify that Not Found Page is displayed.

Do we agree 👍 or 👎

Requested money from Expensify.

I reached out to @anmurali

Sorry about that. I now paid him. And am closing this issue.


Add a script to automate all the publishing/releasing process

🚀

Silly example:
#!/bin/bash

BRANCH=$(git rev-parse --abbrev-ref HEAD)

if [ $BRANCH != 'production' ];
then
  echo "Error! You are not in the 'main' branch"
  exit 1
fi

set -e

// TODO: Automate the part of publishing in VS Code Marketplace

echo "Creating the new release in Github ..."
gh release create "TODO" --title "TODO" --notes "TODO"
git fetch -t

echo "Publish/Release finished successfully!"
exit 0


Perform no shader warm-up by default

Fixes https://github.com/flutter/flutter/issues/87085
Before https://github.com/flutter/engine/pull/27629, on Android, the shader warm-up routine did not actually produce any shaders (!). This is because the backend ended up going down a raster path that doesn't use GPU shaders. It is completely wasted time.
Now that a GPU baacked surface is available in the background, it does produce shaders - however, those shaders do not seem to be significantly improving benchmarks, and are regressing startup time and memory usage.
We can consider re-applying a default routine if we can find one that actually improves metrics. In the mean time, we should remove this.
The internal customer this logic was written for has their own routine(s) that will not be affected by this change.

however, those shaders do not seem to be significantly improving benchmarks, and are regressing startup time and memory usage.

TBH, I didn't know we were doing this by default! And that it was not doing anything useful (when it actually works) is not entirely unexpected as it requires constant upkeep, expertise in determining the triggers that generate the specific shader variants, context about the applications needs, and, is platform and rendering backend specific to boot.
BTW, why provide the default at all?

Image tracing expectations had to be updated because a counter that used to be 1 is now 0 - due to no shader warmup creating an image.

So far it looks like this may be saving somewhere between 10-30ms on time to first frame. Will have to see if that's just noise in the benchmark or not.

This also resulted in a big drop for the iOS time to first frame benchmarks. https://flutter-flutter-perf.skia.org/e/?begin=1620937746&end=1627447444&queries=sub_result%3DtimeToFirstFrameRasterizedMicros&requestType=0&xbaroffset=25119

It's also caused a big regression in the average frame time for one benchmark: https://flutter-flutter-perf.skia.org/e/?begin=1627417144&end=1627480450&keys=X92fe9c017ec15878ab0ff811545cb492&num_commits=50&request_type=1&xbaroffset=25205


Added option to disable select tag on backspace

Added option to disable select tag on backspace (selectOnBackspace defaults to true).  This is for when users have tags outside of input field and it's unintuitive to select and delete these tags that are visually separated.

@mbenford any info on this pull request being merged?


Position IGV pileup modal in clin.iobio

When I click on the pileup button in Variant Inspect, the IGV popup is positioned at the bottom.  There is a way to account for this in styling.  I've done something similar with other modals.  Look for styling that uses the "clin" class selector to set "top".

The above example shows how I fixed it for the notes dialog.


typescript-urql incorrectly prefixes document variables

Issue workflow progress

[x] 1. The issue provides a reproduction available on Github, Stackblitz or CodeSandbox

GitHub minimal repro: https://github.com/arempe93/graphql-codegen-urql-repro
CodeSandbox repro: https://codesandbox.io/s/graphql-codegen-uql-prefix-67dgz5?file=/index.ts:428-446

[ ] 2. A failing test has been provided

[ ] 3. A local solution has been provided

[ ] 4. A pull request is pending review

Describe the bug
When using import-types with typescript-urql, the generated document variable will also incorrectly get prefixed. This same behavior also occurs if you set the importOperationTypesFrom config manually with no presets.
import * as Types from './graphql.d'

const UserDocument = ...

export function useUserQuery(options?: Omit<Urql.UseQueryArgs<Types.UserQueryVariables>, 'query'>) {
  return Urql.useQuery<Types.UserQuery>({ query: Types.UserDocument, ...options });
};

Link to location in reproduction

I believe the problem code is here:
https://github.com/dotansimha/graphql-code-generator/blob/cb59afdcea134385e34d544b90e1cd189945230a/packages/plugins/typescript/urql/src/visitor.ts#L145-L147
Sidenote
This greedy prefixing behavior does not occur if you use the near-operation-file preset with baseTypesPath+importTypesNamespace. It actually does the opposite and doesn't prefix anything; you need to use the typesPrefix config. But at least that config does not prefix the document variable.
To Reproduce
My codegen.yml config file:
schema: schema.graphql
documents: document.graphql
generates:
  graphql.d.ts:
    plugins:
      - typescript
      - typescript-operations
  index.ts:
    preset: "import-types"
    presetConfig:
      typesPath: "./graphql.d"
    plugins:
      - typescript-urql

Link to codegen.yml in reproduction

Expected behavior
A Types. prefix will not be added to the document variable when using import-types
Workaround
Use the add plugin with typesPrefix config instead of import-types preset.
schema: schema.graphql
documents: document.graphql
generates:
  graphql.d.ts:
    plugins:
      - typescript
      - typescript-operations
  index.ts:
    # preset: "import-types"
    # presetConfig:
    #   typesPath: "./graphql.d"
    plugins:
      - typescript-urql
      - add:
          content: "import * as Types from './graphql.d'"
    config:
      typesPrefix: "Types."

Environment:

OS: macOS 11.6
NodeJS: v16.13
@graphql-codegen/import-types-preset: 2.1.15
@graphql-codegen/typescript: 2.4.8
@graphql-codegen/typescript-operations: 2.3.5
@graphql-codegen/typescript-urql: 3.5.6

same issue observed


ci(pipeline): replace fetch-depth with corresponding ref [skip ci]

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] Any dependent changes have been merged and published in downstream modules

:tada: This PR is included in version 2.8.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Interface Drupal\config_translation\FormElement\ElementInterface does not exist

There is some kind of weird autoloading issue that I bumped on a project. I get the same error if I run the check on the node module too.
Drupal core: 8.8.8
Composer: 2.0.0-alpha2
PHP: 7.2
mglaman/drupal-check                           1.1.2               CLI tool for running checks on a Drupal code base
mglaman/phpstan-drupal                         0.12.3              Drupal extension and rules for PHPStan
phpstan/phpdoc-parser                          0.3.5               PHPDoc parser with support for nullable, intersection and generic types
phpstan/phpstan                                0.12.25             PHPStan - PHP Static Analysis Tool
phpstan/phpstan-deprecation-rules              0.12.4              PHPStan rules for detecting usage of deprecated classes, methods, properties, constants and traits.

 scripts/drupal-check-wrapper.sh web/modules/drupal_module/
/mnt/files/local_mount/drupal/modules/drupal_module/drupal_module.module
/mnt/files/local_mount/drupal/modules/drupal_module/tests/src/Functional/AccessTest.php
[30-Jun-2020 21:43:50 Australia/Sydney] PHP Fatal error:  Uncaught ReflectionException: Interface Drupal\config_translation\FormElement\ElementInterface does not exist in /mnt/files/local_mount/drupal/modules/drupal_module/build/vendor/mglaman/phpstan-drupal/src/Rules/Drupal/GlobalDrupalDependencyInjectionRule.php:47
Stack trace:
#0 /mnt/files/local_mount/drupal/modules/drupal_module/build/vendor/mglaman/phpstan-drupal/src/Rules/Drupal/GlobalDrupalDependencyInjectionRule.php(47): ReflectionClass->implementsInterface('Drupal\\config_t...')
#1 phar:///mnt/files/local_mount/drupal/modules/drupal_module/build/vendor/phpstan/phpstan/phpstan/src/Analyser/FileAnalyser.php(69): PHPStan\Rules\Drupal\GlobalDrupalDependencyInjectionRule->processNode(Object(PhpParser\Node\Expr\StaticCall), Object(PHPStan\Analyser\MutatingScope))
#2 phar:///mnt/files/local_mount/drupal/modules/drupal_module/build/vendor/phpstan/phpstan/phpstan/src/Analyser/NodeScopeResolver.php(300): PHPStan\Analyser\FileAnalyser->PHPStan\Analyser\{closure}(Object(PhpParser\Node\Expr\StaticCall), Object(PHPStan\Analyser\MutatingScope))
#3 phar:///mnt/files/local_mount/drupal/modules/drupal_module/build/vendor/phpstan/phpstan/phpstan/src/Analyser/NodeScopeResolver.php(1481): PHPStan\Analyser\NodeScopeResolver::PHPStan\Analyser\{closure}(Object(PhpParser\Node\Expr\StaticCall), Object(PHPStan\Analyser\MutatingScope))

An interesting fact that if I remove this interface from whitelist then Drupal Check does not fail but it complains about:
Line   src/Access/NodeAddAccessCheck.php
 ------ -----------------------------------------------------------------
         Class Drupal\node\Access\NodeAddAccessCheck was not found while
         trying to analyse it - autoloading is probably not configured
         properly.
         💡 Learn more at https://phpstan.org/user-guide/autoloading
 ------ -----------------------------------------------------------------

 ------ ---------------------------------------------------------------------
  Line   src/Access/NodePreviewAccessCheck.php
 ------ ---------------------------------------------------------------------
         Class Drupal\node\Access\NodePreviewAccessCheck was not found while
         trying to analyse it - autoloading is probably not configured
         properly.
         💡 Learn more at https://phpstan.org/user-guide/autoloading
 ------ ---------------------------------------------------------------------

 ------ ----------------------------------------------------------------------
  Line   src/Access/NodeRevisionAccessCheck.php
 ------ ----------------------------------------------------------------------
         Class Drupal\node\Access\NodeRevisionAccessCheck was not found while
         trying to analyse it - autoloading is probably not configured
         properly.
         💡 Learn more at https://phpstan.org/user-guide/autoloading
 ------ ----------------------------------------------------------------------

 ------ ---------------------------------------------------------------------
  Line   src/Cache/NodeAccessGrantsCacheContext.php
 ------ ---------------------------------------------------------------------
         Class Drupal\node\Cache\NodeAccessGrantsCacheContext was not found
         while trying to analyse it - autoloading is probably not configured
         properly.
         💡 Learn more at https://phpstan.org/user-guide/autoloading
 ------ ---------------------------------------------------------------------

@mxr576 can you provide code samples that help reproduce because I'm not sure why it cannot find that interface, it is still in the code base: https://git.drupalcode.org/project/drupal/-/blob/8.8.x/core/modules/config_translation/src/FormElement/ElementInterface.php

I'll try to figure out sometime what is the minimum code that needs to  reproduce this, currently we stuck with Composer 2 migration. I also confirmed that the file exists before I opened this issue. Something weird is going on... 99% of test files passes code checks. In both cases we have symlinked components, including Drupal core.

@mglaman @mxr576 I ran into this exact same issue trying to scan my custom modules. This happened if I ran phpstan-drupal from the root directory or inside the module root. To solve the issue for me, I removed all phpstan-drupal entries from composer.json, then re-imported them with composer require --dev option. In the phpstan.neon file that I created at the root level, I also had to specify the drupal_root: entry and provide it a valid path to the drupal root. I would try that and see if it works.

Closing, not sure what happened and no activity.


feat(modules): add modules/search page

Uses js-search to build a client-side search index and filter results.
Introduces a custom higher-order component to fetch location information from @reach/router and parse it with query-string. The wrapper makes location, navigate, and the parsed search available to wrapped components.
In addition to the index search by search term the module search allows to filter by tags as well.
/modules/search/?tag=Library&tag=Assets

/modules/search/?term=rail

Based on

https://www.gatsbyjs.com/docs/adding-search-with-js-search
https://medium.com/@chrisfitkin/how-to-get-query-string-parameter-values-in-gatsby-f714161104f
https://www.dolthub.com/blog/2021-11-29-gatsby-search-and-pagination/

This adds the new pages to the navigation, but keeps the old files in place (but they are no longer linked, I think). We can remove the dead code either in this PR or in a follow up (module pages, old module pagination, hand-crafted module search index, modules/ folder, possibly more).


Improve the navbar

Improve the navbar by adding more effects .Making the PathSphere logo more visually appealing. Change the color and add transitions into hover effects. Make the home section responsive

Kindly assign it to me. And please add required Lables.

Assign me this work. Add required labels


SOLR-16138: Throw when streaming and all cores are down

https://issues.apache.org/jira/browse/SOLR-16138
Description
When reading from a CloudSolrStream, if all Solr cores are down, we receive an empty stream (EOF from the first read() operation).
Instead, an exception should be thrown to represent that the Solr cluster is unreachable, even if the ZooKeeper cluster itself is reachable.
Solution
Throw IOException in CloudSolrStream.open() when all shards or replicas are unavailable.
Tests
I added a set of three tests to validate behaviors on badly behaving clusters. These tests are in their own suite, for reasons explained in the comments: we progressively damage the cluster, so it can not be run along "normal" tests.
Tests 1 (empty collection) and 3 (cluster shutdown) were already working as expected, but I left them in for completeness.
Test 2 (all nodes down) demonstrates the issue explained in Jira. On the current version of Solr, getTuples(stream) on line 89 would successfully return an empty list. With the changes made in this PR, it throws IOException, which the test asserts.
Checklist
Please review the following and check all that apply:

[x] I have reviewed the guidelines for How to Contribute and my code conforms to the standards described there to the best of my ability.
[x] I have created a Jira issue and added the issue ID to my pull request title.
[x] I have given Solr maintainers access to contribute to my PR branch. (optional but recommended)
[x] I have developed this patch against the main branch.
[x] I have run ./gradlew check.
[x] I have added tests for my changes.
[ ] I have added documentation for the Reference Guide

Bumping this PR at it is still applicable

Bumping this PR at it is still applicable

Thanks @bursauxa for the ping! Would be be comfortable resolving the above mentioned merge conflict e.g. git merge origin/main on the command line, or IDE equivalent?

Bumping this PR at it is still applicable

Thanks @bursauxa for the ping! Would you be comfortable resolving the above mentioned merge conflict e.g. git merge origin/main on the command line, or IDE equivalent?

Hello @cpoerschke, the conflict was not with myself if I can say so :wink: but with the upstream. Resolution was performed using git rebase upstream/main.

has gradlew tidy been run? The configureCluster call I am surprised wasn't wrapped more! Thanks for working on this, and I'd like to make sure it gets merged.

The I have run ./gradlew check. checkbox from the MR template is checked, so I certainly ran that command. No idea about tidy. Of course the PR dates from April 2022 so maybe it was not even in place back then?

@bursauxa how do you want to be credited in chagnelog?  "Antoine Bursaux" ?

@bursauxa how do you want to be credited in chagnelog? "Antoine Bursaux" ?

That is good yes, thanks :+1:

@cpoerschke  thanks for working with me on this one, it's so great to see some stale tickets get closed...    I enjoy the chance to work with you on these!   @bursauxa thanks for the fix!


Reformat code moves some values to new lines unexpectedly

Description:
I'm applying Edit->Reformat from Ballerina Composer on the below piece of code.

The Composer does some unexpected formatting as shown below. Note the value in the return statement and two values from the config type moved to new lines which is unexpected behaviour.

Steps to reproduce:
Please refer the attached video.
ballerina_composer_reformat_error.zip
Affected Versions:
0.981.1
OS, DB, other environment details and versions:
macOS High Sierra version 10.13.4
Related Issues (optional):

Suggested Labels (optional):
Component/Composer
Suggested Assignees (optional):

Thank you for reporting this.
We are refactoring format according to a new architecture. We are currently working on the implementation which available in following branch.  https://github.com/NipunaMarcus/ballerina/tree/formatting-fixes
We are trying to release this with the next release and will update you on this.

This issue is fixed hence we have pushed the new implementation (PR: https://github.com/ballerina-platform/ballerina-lang/pull/10989) of the ballerina source formatting.


Provide metrics APIs for agent plugin

Move toolkit counter rate mode to the core level

Please answer these questions before submitting a pull request

Why submit this pull request?

[ ] Bug fix

[x] New feature provided

[ ] Improve performance

Related issues
Resolved #5494

New feature or improvement

Provide metrics APIs for agent plugin
Move toolkit counter rate mode to the core level

Also, the CI seems to fail somehow, please recheck.

@mrproliu  Not yet, it seems.

@yu199195 This PR is not ready to be merged, there are 2 things left

The implementations of meter core are duplicated in the toolkit and agent core both. I have informed @mrproliu, he need to merge them and re-implement by referring the OpenTracing toolkit way. Toolkit lib should include a shell only.
After (1), we need to deploy the snapshot version for the API toolkit on the Apache snapshot repo, then the tests could pass, and you could use that toolkit.

@yu199195 This PR is not ready to be merged, there are 2 things left
1.The implementations of meter core are duplicated in the toolkit and agent core both. I have informed @mrproliu, he need to >merge them and re-implement by referring the OpenTracing toolkit way. Toolkit lib should include a shell only.
2.After (1), we need to deploy the snapshot version for the API toolkit on the Apache snapshot repo, then the tests could pass, and you could use that toolkit.

thanks, i will follow this pr


Adding Maze game using HTML, CSS and Js

CAN YOU PLEASE PROVIDE SOME DESCRIPTION @Yaser-123

The Maze Game is an interactive web application designed to challenge users to navigate through a complex maze using keyboard controls. This game is built with HTML for structure, CSS for styling, and JavaScript for functionality, providing an engaging and visually appealing user experience.

@Yaser-123 Please share some SS if possible there is a similar issue i think

https://github.com/dhairyagothi/50_days_50_web_project/assets/140265777/070a2be4-20b8-4974-acc2-0f45225371a5

okay Assigned go for it create a proper PR
Assigned @Yaser-123

Merged #18


Change axis config when some event on page was occured

There's a way to change the x axis config and redraw c3 once it's was generated ??
I need to change the rotation of x axis label and change the x tick .height when i made some event in the page.
For example: when the data was changed, and now the data description for x axis is more large, i would like to rotate the x axis and change the x axis height
The only way that i found was
Config:

c3Chart.generate({
...
axis: {
    x: {
      type: 'category',
      height: 30,
      tick: {
        rotate: 0,
        multiline: false
      }
    }
...
})

some event was ocurred in the page, for example the data was updated...
...
function pageEvent(newData) {
   c3Chart.internal.config.axis_x_height = 100;
   c3Chart.internal.config.axis_x_tick_rotate = 60;
   c3Chart.flush();
   c3Chart.load(newData);
}

There's a better way to do that ???
Thanks !

Hi,
The issue queue is to be used for reporting defects and problems with C3.js, in addition to feature requests and ideas.
It is not a catch-all support forum.
For general support enquiries, please use the Google Group at https://groups.google.com/forum/#!forum/c3js.
All questions involving the interplay between C3.js and any other library (such as AngularJS) should be posted there first!
Thank you!


Get ontology type from concepts in catalogue

See https://wellcome.slack.com/archives/C02ANCYL90E/p1666867082693749
We need to get the ontology type from concepts in the catalogue in order to use it for label-derived and other concepts for which we don't have an authoritative source.
Q: Does each catalogue concept have exactly one ontology type in use?

: Does each catalogue concept have exactly one ontology type in use?

Yes and No.  (e.g. Charles Darwin is a Person and a Subject)
We still need to work out the right way to deal with compound concepts in subjects
Currently, a concept in a concepts list has the "right" ontology type for what it is, so a person is a Person etc.  The same is true for contributors.
However, subjects as a whole are also expressed as Concepts, and have an ontology type of Subject.
So, an autobiography of Charles Darwin would have:

a contributor - Person: Charles Darwin
a subject - Subject: Charles Darwin
a concept within the subject - Person: Charles Darwin

Now, I think we are pretty certain we don't want the Subject:Charles Darwin to exist at all, it's a relic from a previous concept approach that didn't go anywhere, and nothing uses it (IIUIC).
However, when we have a compound subject, we still need to extract that somewhere, because that is the thing the LoC ID we get from Sierra refers to.  So we need to decide what to do there.  It isn't just a matter of getting rid of whole-subject concepts.


xtensa: use up_interrupt_context() to determine if in interrupt context

Summary
up_interrupt_context is more smp friendly
Impact
context switch
Testing
esp32s3-devkit:smp ostest

LGTM


OpenRefine 3.4.1: Reconciliation Service does not use proxy defined in openrefine.l4j.ini

OpenRefine 3.4.1 on Windows (with or without integrated JRE) does not use the proxy set in openrefine.l4j.ini to connect to reconciliation service (https://lobid.org/gnd/reconcile)
To Reproduce
Steps to reproduce the behavior:

First, set proxy in openrefine.l4j.ini using the following parameters:
-Dhttps.proxyHost=proxy-name.domain.ch
-Dhttps.proxyPort=8080
-Dhttp.proxyHost=proxy-name.domain.ch
-Dhttp.proxyPort=8080
-Dhttp.nonProxyHosts=localhost
Then, start OpenRefine using openrefine.exe, open project, select column "CDU - GND" for reconciliation
Then start reconciling using https://lobid.org/gnd/reconcile
Finally, OpenRefine throws the following error
16:50:55.909 [                  command] Failed to guess cell types for load {"q0":{"query":"Landquart (Fluss)","limit":3}} (0ms) org.apache.http.conn.HttpHostConnectException: Connect to lobid.org:443 [lobid.org/<IP_ADDRESS>] failed: Connection timed out:...

Current Results
The following messages are shown in OpenRefine (with verbosity "all"):

Additionally we did monitor the network traffic using wireshark and did find no connection from our localhost to our proxy but instead a connection request from our localhost to "emphytos.hbz-nrw.de"  which bears the alias "lobid.org" with the  IP <IP_ADDRESS>.
This leads us to the conclusion that OpenRefine does not use the proxy settings specified in openrefine.l4j.ini.
Expected Behavior
OpenRefine connects to the Reconciliation service using the proxy specified in openrefine.l4j.ini using the parameters
-Dhttps.proxyHost=proxy-name.domain.ch
-Dhttps.proxyPort=8080
-Dhttp.proxyHost=proxy-name.domain.ch
-Dhttp.proxyPort=8080
-Dhttp.nonProxyHosts=localhost
Versions

Operating System: Windows 10
Browser Version: Edge or Firefox
JRE or JDK Version: java version "1.8.0_281" Java(TM) SE Runtime Environment (build 1.8.0_281-b25) Java HotSpot(TM) 64-Bit Server VM (build 25.281-b25, mixed mode)
OpenRefine: Version 3.4.1 [437dc4d]

Datasets
Dummy.openrefine.tar.gz
Additional context
OpenRefine runs behind a proxy that does not allow direct connections to the internet.
We tried both packages that are available for windows (windows with java and widows kit without java)
We also tested with the setting "-Djava.net.useSystemProxies=true", set the proxy-server in the java control panel and got the same results.
We also tried to run openrefine directly from the commandline and added the proxy parameters (we could not test refine.bat because the use of batch files is blocked by group policy).

@ToVie Hmm, curious, instead of through the object method (which there might indeed be a bug that we need to look into further where Apache HTTP client isn't picking them up for some reason)...
Can you try setting with a Windows environment variable at the system level (not user)?
http_proxy and https_proxy  (lowercase should be fine for Apache HTTP Client library we use and should recognize them)
You can then verify that the proxy settings are passing through into OpenRefine's system Java environment by actually just doing a Custom text tranform on some column and just preview using GREL Clojure expression to pick them up:
(System/getenv "https_proxy")

where this Clojure expression lists all environment variables exposed to Java system:
(System/getenv)

@thadguidry Thank you for your quick reply. Unfortunately I am not allowed to add or change environment variables on my office machine.
However I did as you suggested on a free test machine:

I added http_proxy and https_proxy as system variables
I tested (System/getenv "http_proxy") on a column => it works, I see the value of the variable

But I don't  know how to set these as proxies to be used by OpenRefine.

@wetneb I tested the latest development snapshot as described above. The result is the same:

-Djava.net.useSystemProxies=true and define invalid proxy => reconciliation does not work - as it is expected
Commented out -Djava.net.useSystemProxies=true and instead define invalid proxy in -Dhttp.proxyHost / -Dhttp.proxyPort and -Dhttps.proxyHost / -Dhttps.proxyPort => reconciliation works although it should not

Unrelated to this issue there seems to be a problem with log4j in the development snapshot.

@wetneb Looks like we might need to add the getProxy() to our RequestConfig.custom on
https://github.com/OpenRefine/OpenRefine/blob/master/main/src/com/google/refine/util/HttpClient.java#L69 ?
What's interesting also is the note on the DefaultRoutePlanner, which I didn't check on if it is indeed utilized through the call stack (you might check), which says:

Default implementation of an HttpRoutePlanner. It will not make use of any Java system properties, nor of system or browser proxy settings.

Then there's also the SystemDefaultRoutePlanner which says:

HttpRoutePlanner implementation based on ProxySelector. By default, this class will pick up the proxy settings of the JVM, either from system properties or from the browser running the application.

@thadguidry I see your point. In our case, that is working in a restricted environment, it would be helpful to define a proxy that differs from the general setting on OS level. The general setting enforces a proxy with kerberos authentication based on user and token, which breaks a lot of java applications. Therefore an alternate proxy was defined that allows or disallows access based on  the machine sending the request.

Thanks for the thorough analysis!
Then this issue is pretty clear to me: one needs to make sure that our HttpClient class respects the custom proxy settings that we advertise (such as http.proxyPort and http.proxyHost).
I am marking this as a good first issue because @ToVie's diagnosis in https://github.com/OpenRefine/OpenRefine/issues/3919#issuecomment-845049535 should be easy to follow, to test a fix.

Hi!
We are currently facing this issue regarding Refine behind a proxy on the dedicated instance that we host on our organization infra.
"add column by fetching URL..." doesn't work.
We use a workaround by curling the url usint jython, but it's not really user-friendly.
Is there any progress on this topic?

Hi, I've just download release 3.5.2 and looks like the problem persists.
Anybody knows in which release it will be solved?
Thanks.

Hi!
Unfortunately we do not know: it will not be solved until someone contributes a fix for this issue. I understand this is an important issue for many people, so I am adding this high priority tag hoping that it will attract contributors, but that does not guarantee anything of course.

Finally I got it worked.
In my organization, besides HTTP Proxy, we have got SOCKs Proxy. Then, configuring it in file openrefine.l4j.ini it worked.
-DsocksProxyHost=proxy-name.domain.ch
-DsocksProxyPort=1080
Thanks. I hope this helps you too.

@wetneb I would like to work on this issue. Based on the discussions I think ill get to  the solution

@WaltonG I would expect openrefine.l4j.ini to be only read when OpenRefine is launched via openrefine.exe (which you can generate with mvn package). Is this how you are testing it?

@wetneb I launched it using the refine command, I guess thats why openrefine.l4j.ini was not read. I will re-test with openrefine.exe

@WaltonG It's interesting that they give the <jre><opt> context in their documentation: http://launch4j.sourceforge.net/docs.html#Configuration_file
<opt>-Dlaunch4j.exedir="%EXEDIR%"</opt>
<opt>-Dlaunch4j.exefile="%EXEFILE%"</opt>
<opt>-Denv.path="%Path%"</opt>
<opt>-Dsettings="%HomeDrive%%HomePath%\\settings.ini"</opt>

and also http://launch4j.sourceforge.net/docs.html#Additional_jvm_options
And very interesting choice of phrase here in that section:

Now you can specify the options in the configuration file, ini file or in both, but you cannot override them.

We know that java.net.useSystemProxies is a system environment property.  And environment property for the JRE system.
And within code we know we can do something like System.setProperty("java.net.useSystemProxies", "true");
So perhaps we can just do:
-Denv.java.net.useSystemProxies=true ???

@thadguidry I think with -Denv.java.net.useSystemProxies=true  one will not be required to add proxy details to the configuration file. Let look into it to get more insight.

@WaltonG your testing code is incorrect. When you write
System.getenv("http.proxyHost" + "getenv with -D"), that is the same thing as System.getenv("http.proxyHostgetenv with -D") and that is clearly not going to retrieve the configuration variable you expect.
Of course make sure you repackage (mvn package) every time you make code changes too.

@wetneb Yes am now on the right track. Initially I was adding the test data to refine.ini  and not openrefine.l4j.ini.
Thank you for the oversight of System.getenv("http.proxyHost" + "getenv with -D").  The  + "getenv with -D" was supposed to be a tag but the syntax was incorrect thats why I got nulls from the below latest output
[-Xms512m, -Xmx1024m, -Djava.library.path=server/target/lib/native/windows, -Xms256M, -Xmx1024M, -Djava.net.useSystemProxies=true, -Dhttp.proxyHost=proxy.com, -Dhttp.port=80]
null
null
null
null

@wetneb I have confirmed from the test that proxy port and host in the openrefine.l4j.ini file can be retrived by getProperty method
[-Xms512m, -Xmx1024m, -Djava.library.path=server/target/lib/native/windows, -Xms256M, -Xmx1024M, -Djava.net.useSystemProxies=true, -Dhttp.proxyHost=proxy.com, -Dhttp.port=80]
null Retrieved by getenv
null Retrieved by getenv
proxy.com Retrieved by getProperty
80 Retrieved by getProperty


Add ability to delete individual titles from ErsatzTV

I have a number of titles where I renamed the files on disk and had plex rescan them. But ErsatzTV sees it as a duplicate title. How can I delete the title from ErsatzTV's lists/database.

Nevermind. I found the Trash section and those titles were in there, waiting to be deleted.


Who's putting NaNs in my exchange tables?

Processes are failing to load in openLCA due, in part, to a large number of NaNs found as amounts in process exchanges.

Going line by line through the upstream process inventory generation, everything seems okay except for HYDRO. The problem comes from a blank line in the source CSV file for facility 1784, Twin Falls (MI).
https://github.com/USEPA/ElectricityLCI/blob/2232c41f2cb4fd333ad59c8710aa55906e6a7ed3/electricitylci/data/hydropower_plant.csv#L314

Found a second culprit in hydro upstream where "water" was misspelled. Now there are only three NaNs caused by the blank line above.
https://github.com/USEPA/ElectricityLCI/blob/2232c41f2cb4fd333ad59c8710aa55906e6a7ed3/electricitylci/hydro_upstream.py#L59

Everything's good with generation processes, but when combined with upstream processes through __init__.write_gen_fuel_database_to_dict --> upstream_dict.olcaschema_genupstream_processes, loads of NaNs appear.
Could it be the omitted exchange dictionaries here:
https://github.com/KeyLogicLCA/ElectricityLCI/blob/2232c41f2cb4fd333ad59c8710aa55906e6a7ed3/electricitylci/upstream_dict.py#L116

In main.py, the data frame returned by get_generation_process_df converts the column "FlowAmount" from float to object. A clue!

In main.py, the data frame returned by get_generation_process_df converts the column "FlowAmount" from float to object. A clue!

It looks like the culprit is generation.py's create_generation_process_df, which returns object (i.e., str) flow amounts.

FOUND!
Setting the NOx (lbs) column to NoneType makes it string. Remove it!
https://github.com/KeyLogicLCA/ElectricityLCI/blob/2232c41f2cb4fd333ad59c8710aa55906e6a7ed3/electricitylci/ampd_plant_emissions.py#L606

A couple of new updates for Monday.

ElectricityLCI's get_gen_plus_netl function creates all the renewable fuel data frames (i.e., geo, solar, wind, and hydro). All fuels, except hydro, are matched to their respective EIA generation year (e.g., 2022). Hydro, on the other hand, is always set to 2016. Notably, the year 2016 is not found in the years of interest (from the inventories of interest) for any of the new model configs (i.e., 2020–2022). This becomes important when considering further down in get_get_plus_netl where generation.py's  create_generation_process_df function is called. This method scans over all inventories of interest (e.g., 2019–2021) to gather up all the relevant facilities (note how 2016 facilities are not included).
The last little tidbit from get_gen_plus_netl calls combinator.py's concat_clean_upstream_and_plant, which, in turn runs fill_nans, which attempts to fill missing facility IDs based on the current year's generation data (EIA generation year), which is not a part of any of the years for 2022 (hydro is 2016, and years of interest are 2019–2021). :worried:
More to come from this investigation.

After all the fixes above; the nans in the exchange table remain.
Further tracing leads me to generation.py's olcaschema_genprocess method.
Walking through the turn_data_into_dict leads to this interesting bit of logic:
# Define inputs based on compartment label
data["input"] = False
input_filter = (
    (data["Compartment"].str.lower().str.contains("input"))
    | (data["Compartment"].str.lower().str.contains("resource"))
    | (data["Compartment"].str.lower().str.contains("technosphere"))
)
data.loc[input_filter, "input"] = True

# Define products based on compartment label
product_filter=(
    (data["Compartment"].str.lower().str.contains("technosphere"))
    | (data["Compartment"].str.lower().str.contains("valuable"))
)
data.loc[product_filter, "FlowType"] = "PRODUCT_FLOW"

# Define wastes based on compartment label
waste_filter = (
    (data["Compartment"].str.lower().str.contains("technosphere"))
)
data.loc[waste_filter, "FlowType"] = "WASTE_FLOW"

If I'm right, the compartment with "technosphere" in its name is always labeled with a flow type as a waste flow, due to the third clause above, so why have it the product flow query?
https://github.com/USEPA/ElectricityLCI/blob/e56268132f7607ead58a33bb5bdd525563a784f5/electricitylci/generation.py#L1091
@m-jamieson, do you remember how this labeling works?

Okay. The NaNs are coming from aggregate_data in generation.py somewhere. Two possible paths forward:

Keep digging through the aggregation method to see where they coming from and handle appropriately.
Modify the olcaschema_genprocess to skip over exchanges that have nan as their flow amount.

I'm alright with 2 - I mean that's basically what happened in post-processing in the first fed commons database. Would be nice to get some idea of what's getting dropped though and why. It can only either be the sum of the emissions of the aggregated group or the electricity. I would guess the electricity route is more likely.

The problem is with generation_process_df.
There are NaNs in the Emission_factor column associated with these flows;
'Carbon dioxide',
'Methane',
'Nitrogen oxides',
'Nitrous oxide',
'Sulfur dioxide',
'natural gas, through transmission',
'petroleum fuel, through transportation',
'coal, transported',
'coal, processed, at mine',
'power plant construction',
'Ammonia',
'Benzene',
'Ethylbenzene',
'Hexane',
'Hydrochloric acid',
'Lead',
'Manganese',
'Mercury',
'Naphthalene',
'Nickel',
'Toluene',
'Xylene',
'Polycyclic aromatic compounds',
'Benzo[ghi]perylene',
'nuclear fuel, through transportation',
'Anthracene',
'Phenanthrene',
'Hydrogen sulfide',
'Hydrofluoric acid',
'Chlorine',
'Styrene',
'Cobalt',
'Ethylene glycol'
Across just about all BAAs and stage codes.
Note that power plant construction, coal, natural gas, and petroleum NaNs are the cause for issue https://github.com/USEPA/ElectricityLCI/issues/250

eh...that's a lot....like basically everything. This also suggests that all data sources are involved too. Is the current Keylogic development branch the most reasonable one to try and run to replicate? And then what data year are you running to get these nans?

Yes and ELCI_2022_config.yaml

Just adding some things here as I debug in case I forget to come back to this later. As best as I can tell (or as pandas tells me) there are no NaN FlowAmounts or Electricity in the dataframe prior to the aggregation. There are however a significant number of NaNs in some of the columns that are included in the groupby (like Balancing Authority Name and FuelCategory). While I think this should mean that those facilities aren't included in the groupby, it's probably still not good.

 Which suggests that the electricity amounts aren't being summed correctly in calculate_electricity_by_source. And this occurs for mutliple data source combinations:

NEI_ampd_ap42_eGRID
NEI_ap42_eGRID
ampd_ap42_eGRID
NEI_RCRAInfo_TRI_ampd_ap42_eGRID_eia_netl
NEI_TRI

Never mind it's a year mis-match problem. For example:
Arizona Public Service Company - BIOMASS - Carbon dioxide has source string "NEI_ampd_ap42_eGRID" and year 2022.
The electricity dataframe has a matching source string "NEI_ampd_ap42_eGRID" but it's for year 2021.
Just to describe what's supposed to be happening here. There are two biomass plants reporting CO2 emissions in the Arizona Public Service Company BA in the year 2022. We can easily sum these. The electricity that's supposed to be assigned to this aggregation is from all plants that reported to the same emission sources. In this case, these two plants report to NEI, ampd, ap42, and eGRID - or at least that's what the fetched data suggests. But there are very few years where plants will be reporting to all the same data sources in the same year. This very likely should be source string "ampd_ap42" for year 2022 and "NEI" for year 2021 or something like that. calculate_electricity_by_source likely needs to be tweaked to differentiate data reporting by year or fix how it's done now.

I think this commit created the current issue: https://github.com/KeyLogicLCA/ElectricityLCI/commit/946463a25eb25ce583707d187523c8c5548b0680
We groupby a different set of columns "grouby_cols" than before ["FlowName","Compartment"] because before we were trying to omit flows that were only ever reported by one source...it doesn't really matter what year the data comes from at that point because there will only ever be a single year for a single data source. However, when multiple sources are involved, we need to make sure there's source grouping per year to prevent the missing electricity flows as discussed in the previous comment.

After replacing the ["FlowName","Compartment"] in the groupbys below, all the blank electricity amounts for the emissions go away, leaving just the inputs as blank electricity, which are all source_list "NEI_RCRAInfo_TRI_ampd_ap42_eGRID_eia_nei" or in other words all sources. Coming into calculate_electricity_by_source the source for all the fuel inputs is "eia", water inputs are "netl", and heat inputs are "eGRID." I think the original idea here is that we'd sum up electricity from all sources to divide fuel inputs by electricity from all plants in the matching year. I think the drop_duplicates happening here  needs to have "Year" added to the list ["eGRID_ID"], so ["eGRID_ID","Year"] to make sure that all years of all sources are calculated and available to join to the fuel inputs later on. I'm not 100% satisfied with this because I think the "source" for the fuel inputs should say "eia" once they make it into openLCA.
            source_df = pd.DataFrame(
                db_multiple_sources.groupby(groupby_cols)[
                    ["Source"]].apply(combine_source_lambda),
                columns=["source_list"],
            )
            source_df[["source_list", "source_string"]] = pd.DataFrame(
                source_df["source_list"].values.tolist(),
                index=source_df.index
            )
            source_df.reset_index(inplace=True)
            db_multiple_sources.drop(
                columns=["source_list", "source_string"], inplace=True
            )
            old_index = db_multiple_sources.index
            db_multiple_sources = db_multiple_sources.merge(
                right=source_df,
                left_on=groupby_cols,
                right_on=groupby_cols,
                how="left",
            )

Was able to do a test run with the fix above, and it worked as intended - fuel flows are again getting electricity matches, but the facility counts aren't lining up. From an emissions perspective, this is an expected part of the method - the number of reported emissions of a species can be less than the number of facilities reporting electricity generation. For fuel inputs though, this means that resulting plant processes are being more efficient than they should be. In the test run that I did PJM GAS has electricity summed for 170 facilities, but gas inputs from Appalachian and Arkoma basins only sum to 143. Guess this comes down to not having entries in gas_supply_basin_mapping.csv.
As best as I can tell, there are electricity flows for all inputs coming into aggregate, so maybe the answer here is to not separate between "power" and "nonpower" and just run the electricity summing for all entries.

Tried the test mentioned in the previous comment and am still getting large mismatches in facility counts due to the lack of matching basin matching data. Power plant construction amounts are listed as eia data and are automatically generated, so there ends up being more of them.
I guess some more solutions here are to make special labels for fuel amounts like "eia_fuel" or change construction to something else.


Added tests, codecov is now 100%, made printing slightly more insightfull.

Codecov Report

Merging #2 into master will increase coverage by 38.88%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##           master        #2       +/-   ##
============================================
+ Coverage   61.11%   100.00%   +38.88%
============================================
  Files           2         2
  Lines          54        51        -3
  Branches        5         4        -1
============================================
+ Hits           33        51       +18
+ Misses         19         0       -19
+ Partials        2         0        -2

Impacted Files
Coverage Δ

src/test_locker/fixtures.py
100.00% <100.00%> (+40.38%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0f5f59b...6b79a2e. Read the comment docs.


Installation via homebrew fails (missing xctest)

Hi,
I tried to install the tool as described in project readme.
$ brew install samuelmeuli/tap/tmignore
==> Tapping samuelmeuli/tap
Cloning into '/usr/local/Homebrew/Library/Taps/samuelmeuli/homebrew-tap'...
remote: Enumerating objects: 40, done.
remote: Counting objects: 100% (40/40), done.
remote: Compressing objects: 100% (20/20), done.
remote: Total 40 (delta 17), reused 33 (delta 10), pack-reused 0
Receiving objects: 100% (40/40), 10.13 KiB | 5.06 MiB/s, done.
Resolving deltas: 100% (17/17), done.
Tapped 1 formula (28 files, 37.4KB).
==> Installing tmignore from samuelmeuli/tap
==> Downloading https://github.com/samuelmeuli/tmignore/archive/v1.1.1.tar.gz
==> Downloading from https://codeload.github.com/samuelmeuli/tmignore/tar.gz/v1.1.1
######################################################################## 100.0%
==> make build
Last 15 lines from /Users/dennis/Library/Logs/Homebrew/tmignore/01.make:
2020-03-25 14:18:01 +0100

make
build

swift build --configuration release --disable-sandbox
error: terminated(72): xcrun --sdk macosx --find xctest output:
    xcrun: error: unable to find utility "xctest", not a developer tool or in PATH

make: *** [build] Error 1

I am running macOS 10.15.3 (with current Xcode 11.3.1).
Do you have an idea what's going wrong here? I don't have installed any special Xcode tools, yet, but only did xcode-select --install once some time ago.
Any help is appreciated.
Greetings,
Dennis

Hi @Baloobear,
You'll need a full installation of Xcode to compile tmignore when installing it using Homebrew (see #4).

Thanks for your quick reply.
I'm not sure what "full installation of Xcode" means but I have the Xcode application fully running (not just the command line tools). I installed it from the App Store (and also just updated it to version 11.4).
Is anything missing?

Did you try this?

Hi @samuelmeuli,
thanks for this. This solved the issue and the installation (resp. build) was now successful.
But how should one know to do this?!? Strange...

Great! You shouldn't normally have to do this, I don't know why the path was incorrect in your case.


Keep namespace when running undeploy/helm

Description
In our e2e pipelines we have the operator's namespace prepared with secrets to access registries, however if we remove the namespace after each test, which is not intended.
How can this be tested?
Run any e2e test, the namespace should remain there.
Checklist

~[ ] Unit tests have been updated/added~
[x] PR is labeled accordingly with a single label
[x] I have read and understood the contribution guidelines

Codecov Report

Merging #2205 (267b01e) into release-0.14 (246c536) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@              Coverage Diff              @@
##           release-0.14    #2205   +/-   ##
=============================================
  Coverage         63.89%   63.89%
=============================================
  Files               244      244
  Lines             15454    15454
=============================================
  Hits               9874     9874
  Misses             4850     4850
  Partials            730      730


longer text

Hi,
Thanks for the repo. It's very well coded and easy to use with a custom dataset.
I first tried on a custom dataset where the average text length is 7 letters. This works quite well.
Now using a more complicated dataset with average text length of 18 characters, where space can be one of the characters (so multiple words instead of single words). Still training (I think the GRU takes time), but so far the results have not been that good.
With both models, the loss goes down quite smoothly, but the average edit distance jumps around quite  a lot. For the first model, it improved when I used Adam (your default) instead of AdaDelta which I was playing with. For the second, Adam's not really doing the trick.
If you've worked a lot with this model and have some ideas, please let me know. Thanks.

For anyone else interested in this, it helps to have a bigger projection layer. I changed the default of 10x20 to 10x50, immediately got a jump. Plus using ResNet50 instead of ResNet18 also helps.

Hi, I think that you should find an information bottlenecks in network. I didn't test this network with long text sequences.


Fix typo

"tinygo-version" requires a full version.
Thank you for the useful github-actions!

Good catch! Thanks for the fix and you're welcome 😄


Adds documentation for USB registers

This adds Documentation for some of the USB registers and merges the EP*R register for some devices in an array.
The pull request is based of https://github.com/stm32-rs/stm32-rs/pull/119 with the following changes:

dropped USB_SRAM rename for stm32l4 as this does not build and i'm not using that device.
add the EP*R array to STM32f0x2

I tested this for the STM32F042K6.

Thanks for these (and thanks @octronics for #119 in the first place). Sorry it's taken so long to review!


first stab at reference documentation

For #270.

Big question I can't seem to find the answer to: how the hell can I have a fragment of Java source code with highlighting in asciidoc?!

Oh and another question: what's the right way to change the asciidoctor.css file? That's one of the ugliest monospaced fonts I've ever seen.

Oh and another question: what's the right way to change the asciidoctor.css file? That's one of the ugliest monospaced fonts I've ever seen.

Have  you already checked ORM? https://github.com/hibernate/hibernate-orm/blob/master/documentation/documentation.gradle#L229

@FroMage I'm going to need at least some sort of text in here talking about HR in Panache and Quarkus, even if it's just something short drawing attention to differences, and linking to other documentation. WDYT, could you help me out on that front?

@FroMage is on PTO so I might just merge the work I've already done, and come back to the question of Panche later.

Sounds good to me