#45951 & #45958: Implement  component and Enhance toLocaleOrdinal to support string ordinals

Details

This PR adds a view of more than the default approval workflows; The buttons should be presable, but their functionalities are yet to be implemented. This PR is UI-focused.
UI with enabled canUseWorkflowsAdvancedApproval should look like this:

Meanwhile, account without canUseWorkflowsAdvancedApproval permission should remain unchanged:

Fixed Issues

$ https://github.com/Expensify/App/issues/45951
$ https://github.com/Expensify/App/issues/45958
PROPOSAL:
Tests

Right now, canUseWorkflowsAdvancedApproval permission is switched off, to see the new layout, make function src/libs/Permissions.tsx/canUseWorkflowsAdvancedApproval return true.

Open WorkspaceWorkflowPage.tsx and check if page looks like this:

Check if every section redirects to ROUTES.WORKSPACE_WORKFLOWS_APPROVALS_EDIT

Add approvals button's update involved only UI, it's functionality will be added in #45954

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

Offline tests

N/A
QA Steps

N/A

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

PR Author Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native
https://github.com/user-attachments/assets/a73ff168-9e0e-42c2-9976-90d134926e5f

Android: mWeb Chrome
https://github.com/user-attachments/assets/87dba521-8891-4849-a377-8cdb2027f932

iOS: Native
https://github.com/user-attachments/assets/af96cde9-2e0f-427b-89fa-8739d39c22db

iOS: mWeb Safari
https://github.com/user-attachments/assets/70611c2b-d9f0-45b9-93e4-a092a911bec1

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/aa61aee9-bbba-449d-ade7-053913a6eb96

MacOS: Desktop
https://github.com/user-attachments/assets/df120d7d-feae-42a7-9642-578eb3dd1df4

In videos you can see that all approvers are with their order prefix, even if there is only 1 approver; I just fixed it, just didn't update the videos:

PR is ready for review from C+; I'm OOO until the end of the week, so any change before that will be handled by @blazejkustra, good luck!👋

@shubham1206agra function from #45892 is directly used by this PR, we decided to link them together to speed up the process and not to block the #45951

Also @shawnborton please take a quick look, everything should be just like in Figma :)

@blazejkustra @Guccio163 One question.
Does #45892 help improve this PR in some way?

Not really, as we need a different word for each number. #45892 has many forms but I don't think it would make things easier:
type PluralFormPhase = {
    zero?: string;
    one: string;
    two?: string;
    few?: (count: number) => string;
    many?: (count: number) => string;
    other: (count: number) => string;
};

@shubham1206agra function from https://github.com/Expensify/App/pull/45892 is directly used by this PR
Ah my bad, I was checking on mobile, I thought you are asking about #45958 😅; @blazejkustra is right here 👆

@shawnborton is OOO at the moment, but this is looking stellar. On mobile I think we should reduce the padding on this approval card to be 12px instead of 16px (I believe that's what you have?):

With it being 16px it gets a bit too cramped so I think 12px would be good

That makes sense to me Jon! I like that idea.

In some of the screenshots, the icon for the approver row looks slightly cut off - any ideas there?

With it being 16px it gets a bit too cramped so I think 12px would be good

Done! @dubielzyk-expensify

In some of the screenshots, the icon for the approver row looks slightly cut off - any ideas there?

Done 😄 @shawnborton

@blazejkustra Can you merge main please?

Merged the main for you

@shubham1206agra I merged the newest main for you 🚀

@blazejkustra I am getting this error on toggling Approval section.
{
    "jsonCode": 404,
    "message": "404 Account not found",
    "onyxData": [],
    "requestID": "8acf33b07bc959b2-DEL"
}

Is this connected to this PR? 🤔

It looks like we aren't using a selected BG color for the selected approver. Is that something we are working on in this PR? Or should we handle that elsewhere?

This is generally feeling good. cc @Expensify/design - I added you both to the beta in case you want to test the adhoc build above. You might need to clear cache from Settings > Troubleshoot.
Just confirming, do we want to truncate after two lines here? cc @JmillsExpensify

It looks like we aren't using a selected BG color for the selected approver. Is that something we are working on in this PR? Or should we handle that elsewhere?

The screen you are seeing is still the old Approver screen, meaning it will be handled in a future PR. Although, I thought it should be highligthed only when hovering over the item like in other selection lists in the app:
https://github.com/user-attachments/assets/3638fb00-7280-4e55-8201-7d78604c505f
Is using a selected BG color for the selected approver a novelty in the app or is it used somewhere?

It looks like we aren't using a selected BG color for the selected approver. Is that something we are working on in this PR? Or should we handle that elsewhere?

The screen you are seeing is still the old Approver screen, meaning it will be handled in a future PR. Although, I thought it should be highligthed only when hovering over the item like in other selection lists in the app:
https://github.com/user-attachments/assets/3638fb00-7280-4e55-8201-7d78604c505f
Is using a selected BG color for the selected approver a novelty in the app or is it used somewhere? @shawnborton

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

🚀 Deployed to staging by https://github.com/tgolen in version: 9.0.17-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/marcaaron in version: 9.0.17-2 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/marcaaron in version: 9.0.17-2 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/marcaaron in version: 9.0.17-2 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Update changelog

The changelog is super useful when updating gems, but the one for this project is out of date. It would be great to have it updated for future versions, and even better to have it retroactively updated for previous versions.

Updated.


Subnets selection is missing once a user clicks on any other operation on the page during EKS cluster creation

Setup

Rancher version: 2.6.8
Browser type & version: Chrome/MacOS

Describe the bug
EKS->Create Cluster-> Networking->Subnet->Custom: Subnets selection is missing once user click on any other operation on the configuration page.
To Reproduce
Steps:

Create AWS Instance
Provision Rancher
Create a cluster from Rancher – On Network Configuration page
Select Custom and select a Subnet under a VPC
Perform any other operation on the page (except click on NEXT)
Ex: Select/Deselect Private
Check for the Subnets selection

Result
Actual:

The selected subnets information is removed, user has to reselect the Subnets
The Next button is enabled

Expected Result

Selected Subnets should have the focus till the user choose to change the options

Screenshots
On this screen if user click on any other option - the Subnet selection is loosing the selection

This appears to be an ember issue that may have been around for a while. Need to dig in.

WIll check when we port EKS to Vue

@mantis-toboggan-md One to check when the port is done - moving to your next up


No Data available Message on Graph after some time idle

I've been using Zeppelin around today on the booth, and I get this message "No Data Available" on some graphs after some time. Even if I refresh it and it regraph the result again, the message often pop again after a few seconds/minutes.
Also, when the message is shown, If I switch to table mode I can see that there is data, but when I come back on the graph, it is blank with the message on it. (only refresh the query can show the graph again)
Anybody had the same issue?

Is this still an issue or we may close this one for now?

We can close it for now, since I never got the problem after

then +1 for closing it
On Thu, Jan 22, 2015 at 10:33 AM, CORNEAU Damien<EMAIL_ADDRESS>wrote:

We can close it for now, since I never got the problem after
—
Reply to this email directly or view it on GitHub
https://github.com/NFLabs/zeppelin/issues/239#issuecomment-70956767.

--
Kind regards,
Alexander.


PR for issue 651

... hooks on the db migrate task.  This is an effort to address issue 651 located here:
https://github.com/flyway/flyway/issues/651
This task could be updated to include a context that gets passed from listener to listener if there is a need for that.  This would allow listeners to communicate with each other.

@dlbunker Could you please contact me by email at axel at boxfuse dot com ? Thanks!


support for CORS

[Current coverage][cc-pull] is 55.34%

Merging [#9][cc-pull] into [master][cc-base-branch] will not change coverage

@@             master         #9   diff @@
==========================================
  Files            41         41
  Lines          2739       2739
  Methods         299        299
  Messages          0          0
  Branches          0          0
==========================================
  Hits           1516       1516
  Misses         1223       1223
  Partials          0          0

Powered by Codecov. Last updated by [d542c4b...48f0b75][cc-compare]
[cc-base-branch]: https://codecov.io/gh/caoym/phprs-restful/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/caoym/phprs-restful/compare/d542c4b6316f2fd6770b0699db22e485edd39e45...48f0b7522141c192253b973dd3315593e25f4fcc
[cc-pull]: https://codecov.io/gh/caoym/phprs-restful/pull/9?src=pr

cors 常规的做法是在webserver层加，而不是加在php层，毕竟不是所有项目都有跨域需求，而且如果每个框架都自己去处理cors，也太多余。
nginx的cors设置，可以参考http://blog.csdn.net/oyzl68/article/details/18741057

Agreed.


possible issue with input value on

Hello guys today i try to use the setState in a reactjs component and i see the <TextInput /> component has the value property but this is not update when the message is changed, maybe i am wrong but can you check ?, this is the example code :
<form onSubmit={sendMessage}>

		<TextInput
			id="input-x-chatbot"
			placeholder="Default Input Field" color="gray"
			value={message}
			handleOnChange={(e) => setMessage(e.target.value)}
		/>

		<Button type="primary"> Send </Button>

</form>

The documentation of the component is this one : https://react.keepdesign.io/docs/components/textInput
I anyone more have this issue, I solved temporally calling the document and rewriting the value :
const msg = document.getElementById('input-cognitus-chatbot');
msg.value = '';

is not the best option but works for now
When i have a little time this wekeend i gonna check if i can help in this because are interesting components and can increase the productivity
If i am wrong or anyone have a better option please let me know
Have a nice week guys :rocket:

Hello @kypanz,
After testing the functionality myself, I can confirm that there doesn't seem to be any issue with the value property of the  component. It appears to be updating properly when the message is changed.
If you're encountering any discrepancies, I would recommend ensuring that you're using the latest version of Keep React. Sometimes, updates and improvements are made in newer versions that address such issues.
If you have any further questions or need assistance, please feel free to reach out. We're here to help!
Best regards,
Md Ariful Islam,


Installation problems   Could not find adapter type mysql!

--

Hello, @Gschiavon what was the issue? I am having it using airbyte and custom normalization.

Solved, the adapter/plugin was not installed (and is not even listed on that page).
Just install it with pip or pip3
pip install dbt-mysql


Google Tag Manager validation fails

Hello,
we are using rack-tracker v1.1.0 and we are having problems validating our site. Google says it can't verify the site becouse it is missing the google analytics snippet in the  section.
A look at the google documentation confirms that one part of the gtm intergration has to be in the  tag and the other one after the opening of the  tag.
https://developers.google.com/tag-manager/quickstart
rack-tracker renders both parts before the closing of the body tag. Is there any way to change this?
Thanks in advance!
Best regards
Roberto

done in: https://github.com/railslove/rack-tracker/pull/84


Actions menu does not close when an action is clicked

Reproduction
Open the actions menu for a row item in List or Table, then click on an action.
Expected Behavior
The actions menu should close.
Actual Behavior
The actions menu does not close.

This may have something to do with microsoft/fluentui#14022.

If that issue went unresolved because it was already fixed (who knows), this bug might be resolved by upgrading the peer react-northstar version…
…however newer versions cause a bug in this project where icons don't display due to having zero inherent height/width. This may be because this project applies styles that are no longer relevant.

This bug also exhibits when the user tabs away from the menu.


Modular Fault System Rupture Set/Solution (v2)

This is version 2 of a working draft of my idea for how to re-think the nasty hierarchy of FaultSystemRupSet/Solution classes. There was lots of good discussion (especially with respect to the motivation) in #21, which I will close shortly.
cc: @field-usgs @chrisbc @voj @pmpowers-usgs
I have created a new system of loading, tracking, and storing modules. This will likely be useful outside of rupture sets & solutions, so it's located in the org.opensha.commons.util.modules package. Here's the structure:
Module Interfaces
In their simplest form, a module is anything that implements the tagging interface OpenSHA_Module. There are also a lot of helper interfaces, here's the structure:

OpenSHA_Module: basically just a tagging interface for a module, does nothing other than extend Named

ArchivableModule: adds methods for storing/loading module information to/from a zip archive

FileBackedModule: provides default implementations for the above, requiring that implementations just supply a file name and ability to write to/init from streams

CSV_BackedModule: same, but now to/from a CSV
JSON_BackedModule: same, but now to/from a JSON
TextBackedModule: same, but now to/from plain text

SubModule<E extends ModuleContainer<?>>: a module that knows about its container, and through generics can enforce that its container only be a certain type

Module Containers
Modules can be stored in and retrieved from containers. The base class for this is ModuleContainer which provides addModule(OpenSHA_Module), hasModule(Class<? extends OpenSHA_Module), and getModule(Class<? extends OpenSHA_Module).
There is a subclass that handles loading module collections to/from zip files: ModuleArchive extends ModuleContainer. Here, modules are loaded lazily by using container.addAvailableModule(Callable<E> call, Class<E> clazz).
Something can be both a module and a container, in that case modules are nested in the zip file (see below). Further, if a module implements the SubModule<E extends ModuleContainer<?>> interface, it will be able to access an instance of its container, including after it is loaded from a file.
Inheritance Considerations
The container handles inheritance, and so if you have multiple possible implementations of any module and register a subclass, it will be retrievable using it's subclass or using the common base class. Further, if you can only have one instance loaded at a time for any module tree (to prevent accidental loading of multiple implementations of the same module). For example, consider these classes:
	abstract class AbstractCustomModule implements OpenSHA_Module {
		// abstract module code
	}

	class CustomModuleImpl extends AbstractCustomModule {
		// concrete module code
	}

	class AltModuleImpl extends AbstractCustomModule {
		// alt module code
	}

If you add a module that is of type CustomModuleImpl, you can retrieve it via either calling getModule(CustomModuleImpl.class) or getModule(AbstractCustomModule.class), as both the base class and concrete implementation are of type OpenSHA_Module and thus would be mapped to the registered instance. If you later add a module of type AltModuleImpl, it will first evict the CustomModuleImpl (as they both share the same parent module class, AbstractCustomModule).
Helper interfaces that should never be registered to a module can be tagged with the @ModuleHelper. This prevents things like the CSV_BackedModule helper interface from ever being mapped to an implementation, and prevents unrelated modules from being evicted if you add two modules that use the same helper.
Rupture Set & Solution Implementations
Rupture Sets and Solutions are both modules and containers for sub-modules. The basic structure is as follows, but note that there is no inheritance here:

ModularArchive: archive that contains top level modules (rupture set and solution

FaultSystemRupSet: rupture set module

sub modules

FaultSystemSolution: solution module

sub modules

Here are the class definitions:
package org.opensha.sha.earthquake.faultSysSolution;

public class FaultSystemRupSet extends ModuleContainer<OpenSHA_Module> implements ArchivableModule,
  SubModule<ModuleArchive<OpenSHA_Module>> {
     // contents here
}

public class FaultSystemSolution extends ModuleContainer<OpenSHA_Module> implements ArchivableModule,
SubModule<ModuleArchive<OpenSHA_Module>> {
     // contents here
}

You load a rupture set or solution via static load(File) methods, and you write them via getArchive().write(File) methods. If you load an rupture set that has a solution attached, the solution will still be written out even if you never accessed the solution (or didn't even know it was there). These classes make all file I/O methods final, such that they can only be loaded and stored in their general form that will always be accessible (e.g., if you make a NZRupSet class it will be loaded back in as a regular FaultSystemRupSet, and thus be accessible in SCEC-VDO). All custom information should be added as modules.
I made the old rupSet/solution implementations extend these new classes, so it's a drop in replacement and we can slowly ween ourselves off of the old classes. This should make adoption less painful.
File Structure
Here's what it looks like as a zip archive:

modules.json: master module index, lists rupture set and solution modules
ruptures: sub-directory for rupture information & sub-modules

ruptures/modules.json: rupture set sub-modules
ruptures/section_indices.csv: data file used by the rupture set module
ruptures/properties.csv: data file used by the rupture set module
ruptures/info.txt: data file used by the Info module that was added to the rupture set module

solution: sub-directory for solution information & sub-modules

solution/modules.json: solution sub-modules
solution/rates.csv: data file used by the solution module
solution/info.txt: data file used by the Info module that was added to the solution module

...and here are the contents of those various module.json files:
modules.json:
[
  {
    "name": "Rupture Set",
    "className": "org.opensha.sha.earthquake.faultSysSolution.FaultSystemRupSet",
    "path": "ruptures/"
  },
  {
    "name": "Solution",
    "className": "scratch.UCERF3.FaultSystemSolution",
    "path": "solution/"
  }
]

ruptures/modules.json:
[
  {
    "name": "Info",
    "className": "org.opensha.sha.earthquake.faultSysSolution.modules.InfoModule",
    "path": "ruptures/"
  }
]

solution/modules.json:
[
  {
    "name": "Info",
    "className": "org.opensha.sha.earthquake.faultSysSolution.modules.InfoModule",
    "path": "solution/"
  }
]

TODO list

Deprecate old classes
Finalize file formats for rupture sets. Draft documentation here.

Lots of progress to report on. First I have implemented a new rupture set builder, including a method for reproducing a UCERF3 inversion rupture set:
FaultSystemRupSet.builder(subSects, rups).forU3Branch(branch);

I have tested all of the various arrays and such against the original UCERF3 implementations and verified that they match perfectly to full double precision JUnit here. Once I got things to match perfectly, I modified both codes a tiny bit to use FaultSection.getArea(boolean) instead of doing their own calculations, for simplicity. That method has a different multiplication order so it doesn't match the previous implementation perfectly to floating point precision, but I think it's better to use the standard methods.
I also modularized all of the inputs necessary for generating inversion inputs, and verified that the matrices match perfectly without using any of the old classes. The same is true after writing the new files to a (new style) archive, and loading them back in, with the caveat that I had to copy over the input fault section data (due to issue #25, same would occur with the old classes and I/O). Those tests are just in the main method of UCERF3InversionInputGenerator for now as they require a lot of memory and aren't well suited for CI.
So I think we're in really good shape. @chrisbc  and @voj, I can show you how to configure inversions using the new code next week. Next steps include:

Serializing grid source providers
Improving fault section file format
Generalizing the inversion setup code to be more flexible for UCERF4 (longer term goal)
Deprecating the old code, and letting the new code load in the old file formats

This is almost ready, and I now have a complete draft of the file formats for core modules (gridded seismicity was the last one).
I have posted a draft of file format documentation, which is intended mostly for outside users wishing to implement the models in other codes (it doesn't currently describe the module JSON format). As an outside-ish user, would you be willing to take a look @pmpowers-usgs?
Docs here: https://github.com/opensha/opensha/wiki/Modular-Fault-System-Solution
Demo files here: https://github.com/opensha/opensha/tree/modular-fault-sys-rup-set2/src/test/resources/org/opensha/sha/earthquake/faultSysSolution
I also renamed the old (in scratch) classes to U3FaultSystemRupSet and U3FaultSystemSolution, and deleted some unused one-off test classes.
The updated TODO list is:

Add formal tests for rupture set/solution file formats, loading, default modules, etc
Deprecate old classes
Finalize file formats for rupture sets
Add fallback code if you try to load the new objects from an old file

Yes, but not for a few days

I updated the file format following feedback from @chrisbc to separate out the section indices for each rupture, and properties (like magnitude/rake) into separate CSV files. Documentation has been updated here to reflect these changes.

Review comments for modular fault system solution:
Documentation looks great!
Solution comments:

README --> markdown
(nit) Don't put the trailing slash in "path" in modules.json files. Use java.nio.file internally to resolve paths.
Reduce precision across the board on export of the solutions and fix floating point errors where present in magnitudes and lat-lons.

Ruptures comments:

section_indices.csv --> rupture_indices.csv | indices.csv

Drop the # 1,# 2, ... part of the header in section_indices; the readme should explain what the additional columns are after the header

ave_slips.csv --> slips.csv | average_slips.csv

Why isn't slip in properties.csv?

fault_sections.geojson features need DipDirection
properties.csv should include dip and width; reduce precision:

magnitude to 3 decimal places
rake to 0 or 1 decimal place; integer value is fine too
area and length to, say, 5 decimal places (6 sig figs); Is there a compelling reason to have area and length in m as opposed to km?

Solution comments:

grid_region.geojson

I'd be wary of storing grid coordinates as a MultiPoint nested inside a GeometryCollection (I don't like these because there is no way to define properties for the component geometries). Consider WUS or AK at 0.1° spacing? 4x increase if we go to 0.05°.
I don't understand LatNodes and LonNodes
Consider using grid_region.geojson as follows:

a single Polygon feature that is the bounds of the grid
include spacing property; are lat and lon spacing ever different? To date, NSHMs are always the same and just have a single value
consider dropping anchor; the stored coordinates should suffice
use optional bbox geojson member to define mercator bounds of region

*_mfds.csv

Fix floating point precision errors in magnitude headers
Consider also having mfds.csv that user knows are total gridded mfds
Reduce precision of mfd rates to 5 or 6 decimal places.

Good rounding method to clean up values to fixed precision when serializing:
  /**
   * Round a double to a specified number of decimal places according to the
   * supplied {@link RoundingMode}. Internally this method uses the scaling and
   * rounding capabilities of {@link BigDecimal}. Note that a negative
   * {@code scale} will round {@code value} to the specified number of places
   * above the decimal.
   *
   * @param value to round
   * @param scale the number of decimal places in the result
   */
  public static double round(double value, int scale, RoundingMode mode) {
    return BigDecimal.valueOf(value).setScale(scale, mode).doubleValue();
  }

Thanks a log @pmpowers-usgs, this is really helpful. A few comments/questions/ramblings that come to mind as I mull your suggestions over:

Reduce precision across the board on export of the solutions and fix floating point errors where present in magnitudes and lat-lons.

I certainly agree that things would be more user friendly with more appropriate precision. The downside of doing so is that [de]serialized files wouldn't exactly match the rupture sets/solutions that were created in memory. So if you created a rupture set in memory and generated inputs for an inversion, those inputs would be slightly different if you had loaded in the same rupture set from a file. Any differences would likely be immaterial, however. I suppose we could do the rounding on construction rather than on serialization to keep things consistent.

Why isn't slip in properties.csv?

I have gone back and forth on this one. The current thinking is that "average slip" is an optional property that is not required for hazard calculations, just for running inversions (satisfying slip rate constraints), and thus shouldn't be in the required properties.csv file. Externally built rupture sets might not have this property defined, and I don't bother with slips when I load in RSQSim catalogs as rupture sets (though the information is there in RSQSim).

fault_sections.geojson features need DipDirection

Agreed, I actually ran into this yesterday and forced it to always be written from here on out.

properties.csv should include dip and width

Interesting -- those things are calculated on the fly from the fault sections in OpenSHA, do you think it would be more convenient for users to have them included in the file? In that case I would write them out, but probably ignore them on load. I guess the same could be said for area and length, though lengths aren't always the sum of all subsection lengths (e.g., faults with multiple subsections down-dip).

I'd be wary of storing grid coordinates as a MultiPoint nested inside a GeometryCollection

Do you propose a different way of storing them? It's very important to me to store the grid nodes rather than infer them, as I don't want to ever be in the position where a change in the Location class or gridding algorithms breaks compatibility with previous results (as occurred recently when we changed Location). I need to reliably be able to load in the exact same grid.

I don't understand LatNodes and LonNodes

They're optional and can be included to ensure that any deserialized GriddedRegions are exactly match the original version, but can be ignored by most users.

include spacing property; are lat and lon spacing ever different? To date, NSHMs are always the same and just have a single value

I'm mirroring the GriddedRegions class that supports different spacings, and don't see the harm. I can see it being used for extreme latitudes. You might consider it for Alaska where equal spacing in degrees would mean approximately double the horizontal resolution: at lat=65 N, 0.1 degrees of longitude is 5km whereas 0.1 degrees of latitude is still 11 km.

use optional bbox geojson member to define mercator bounds of region

Can you elaborate on the usefulness of this?

Good points. Further thoughts:

dip and width

Most users aren't messing with individual ruptures. However, reconstructing average dips and widths from fault sections requires a bunch of steps, some of which I could see users getting wrong (e.g. the width when averaging is measured in the DipDir, not normal to the upper trace of a potentially trapezoidal subsection). I'd gotten used to having them available because they feed directly into GMMs, no muss, no fuss. However, I don't think we (the NSHMP) are parameterizing ruptures the way we should be given how the GMMs are developed and their sensitivity to things like hanging wall effects. Averaged values from multi-fault ruptures give rise to parameterizations that don't make sense or are inconsistent. I'd advocate continuing to export them for now with possible removal/deprecation at a later date.

grid_region.geojson

As far as I can tell, you've got the actual border of the region encoded in Lat|LonNodes and the the rectangular (mercator) 'bounding box' (hence the bbox suggestion) encoded in the GC > Polygon feature. The nodes themselves exist in 4 files. In the NSHMs, we use geojson polygons for borders and other properties of the region, but that file is secondary to csv files which enumerate the specific nodes along with MFD properties or explicit rates in magnitude columns. I'd like to know where Ned is on all the bookkeeping business; the on-fault, off-fault, supra-, sub-seimogenic distinctions are a lot of complexity that  we don't actually know is an improvement, or not, over dealing with the just the fault (and fault-like structures, or zones) in the inversion and then computing a final off-fault/background MFD. We're refactoring the NSHMs to use spatial PDFs in the model files. These can be used to scale a-values or an explicit MFD. Double-counting in grid cells then gets handled as the model loads, truncating any node MFD at the mMin of fault-based ruptures in the cell. (In UCERF3 there was then a step where we went back and renormalized the spatial PDF based on the truncations; very confusing and difficult to explain/remember). The only point of this ramble is that it would be much simpler to define solutions that contain a spatial PDF and the background MFD.

I think the time has finally come to merge this in, as development on master has ceased, things seem to be in working order, and file formats are now relatively stable. Will also merge in related branches on dev, cybershake, and SCEC-VDO repos.


[NO-ISSUE] Use apache-release profile when doing a release build

Adds gpg setup and apache-release Maven profile to the release build.

PR job #1 was: UNSTABLE
Possible explanation: This should be test failures

Reproducer
build-chain build full_downstream  -f 'https://raw.githubusercontent.com/${AUTHOR:apache}/incubator-kie-kogito-pipelines/${BRANCH:main}/.ci/buildchain-config-pr-cdb.yaml' -o 'bc' -p apache/incubator-kie-kogito-apps -u https://github.com/apache/incubator-kie-kogito-apps/pull/2062 --skipParallelCheckout
NOTE: To install the build-chain tool, please refer to https://github.com/kiegroup/github-action-build-chain#local-execution

Please look here: https://ci-builds.apache.org/job/KIE/job/kogito/job/main/job/pullrequest_jobs/job/kogito-apps-pr/job/PR-2062/1/display/redirect
Test results:

PASSED: 1610
FAILED: 4

Those are the test failures:

org.kie.kogito.index.infinispan.ProcessDataIndexInfinispanHttpIT.testProcessInstanceEvents
1 expectation failed.JSON path data.UserTaskInstances[0].potentialGroups[0] doesn't match.Expected: managers  Actual: null

org.kie.kogito.index.mongodb.ProcessDataIndexMongoDBHttpIT.testProcessInstanceEvents
1 expectation failed.JSON path data.UserTaskInstances[0].potentialGroups[0] doesn't match.Expected: managers  Actual: null

org.kie.kogito.index.mongodb.ProcessDataIndexMongoDBKafkaIT.testProcessInstanceEvents
1 expectation failed.JSON path data.UserTaskInstances[0].potentialGroups[0] doesn't match.Expected: managers  Actual: null

org.kie.kogito.index.ProcessDataIndexMongoDBIT.testProcessInstanceEvents
1 expectation failed.JSON path data.UserTaskInstances[0].potentialGroups[0] doesn't match.Expected: managers  Actual: null

PR job #4 was: UNSTABLE
Possible explanation: This should be test failures

Reproducer
build-chain build full_downstream  -f 'https://raw.githubusercontent.com/${AUTHOR:apache}/incubator-kie-kogito-pipelines/${BRANCH:main}/.ci/buildchain-config-pr-cdb.yaml' -o 'bc' -p apache/incubator-kie-kogito-apps -u https://github.com/apache/incubator-kie-kogito-apps/pull/2062 --skipParallelCheckout
NOTE: To install the build-chain tool, please refer to https://github.com/kiegroup/github-action-build-chain#local-execution

Please look here: https://ci-builds.apache.org/job/KIE/job/kogito/job/main/job/pullrequest_jobs/job/kogito-apps-pr/job/PR-2062/4/display/redirect
Test results:

PASSED: 1611
FAILED: 3

Those are the test failures:

org.kie.kogito.index.mongodb.ProcessDataIndexMongoDBHttpIT.testProcessInstanceEvents
1 expectation failed.JSON path data.UserTaskInstances[0].potentialGroups[0] doesn't match.Expected: managers  Actual: null

org.kie.kogito.index.mongodb.ProcessDataIndexMongoDBKafkaIT.testProcessInstanceEvents
1 expectation failed.JSON path data.UserTaskInstances[0].potentialGroups[0] doesn't match.Expected: managers  Actual: null

org.kie.kogito.index.ProcessDataIndexMongoDBIT.testProcessInstanceEvents
1 expectation failed.JSON path data.UserTaskInstances[0].potentialGroups[0] doesn't match.Expected: managers  Actual: null


construct each handler by a custom backend

Closes #10676
Briefly describe your proposed changes:

[x] Rebased/mergeable
[x] Tests pass
[x] http/swagger.yml updated (if modified Go structs or API)
[x] Sign CLA (if not already signed)

Hi @zhulongcheng we didn't merge this quite fast enough; sorry!  Would you be able to rebase ?

@zhulongcheng I rebased this locally and made some adjustements. Fixing last bits.

Closing in favor of #11695.


Template Text is short, width. Add size=maxLength ?

The width of <input> for a Template Text is short.
My suggest:
Add attrubute:
size="maxLength value" (from 1 to 255)

input[type="text"] {
          width: calc(100% - 8rem);

should be
          width: calc(100% - 0.5rem);

Attribute size is not necessary.

The Webserver is basicly unusable on a smartphone.
The silder of a number component has no width, the same with the text.
@vespadj do you have any workaround to make it useable?

@vespadj do you have any workaround to make it useable?

@RFDarter, no I'm sorry. You need to use home assistant, I suppose, or write your own js / css.
Width and Margins could be revised.


Bug in the tutor section "Images" in InlinePanel

Bug in the tutor section "Images" in InlinePanel
I reproduced the tutorial from https://docs.wagtail.org/en/stable/getting_started/tutorial.html. After adding the code for the image gallery, an error appeared. AttributeError: 'InlinePanel' object has no attribute 'field_name' .
`(kuzovsibir) PS C:\Users\79232\my_sites\kuzovsibir_ru\kuzovsibir_ru> python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...
Exception in thread django-main-thread:
Traceback (most recent call last):
File "C:\Users\79232\AppData\Local\Programs\Python\Python39\lib\threading.py", line 954, in bootstrap_inner
self.run()
File "C:\Users\79232\AppData\Local\Programs\Python\Python39\lib\threading.py", line 892, in run
self.target(*self.args, **self.kwargs)
File "C:\Users\79232\my_sites\kuzovsibir_ru\env\kuzovsibir\lib\site-packages\django\utils\autoreload.py", line 64, in wrapper
fn(*args, **kwargs)
File "C:\Users\79232\my_sites\kuzovsibir_ru\env\kuzovsibir\lib\site-packages\django\core\management\commands\runserver.py", line 133, in inner_run
self.check(display_num_errors=True)
File "C:\Users\79232\my_sites\kuzovsibir_ru\env\kuzovsibir\lib\site-packages\django\core\management\base.py", line 485, in check
all_issues = checks.run_checks(
File "C:\Users\79232\my_sites\kuzovsibir_ru\env\kuzovsibir\lib\site-packages\django\core\checks\registry.py", line 88, in run_checks
new_errors = check(app_configs=app_configs, databases=databases)
File "C:\Users\79232\my_sites\kuzovsibir_ru\env\kuzovsibir\lib\site-packages\django\core\checks\model_checks.py", line 36, in check_all_models
errors.extend(model.check(**kwargs))
File "C:\Users\79232\my_sites\kuzovsibir_ru\env\kuzovsibir\lib\site-packages\wagtail\models_init.py", line 1517, in check
errors = super().check(**kwargs)
File "C:\Users\79232\my_sites\kuzovsibir_ru\env\kuzovsibir\lib\site-packages\wagtail\models_init.py", line 906, in check
*super().check(**kwargs),
File "C:\Users\79232\my_sites\kuzovsibir_ru\env\kuzovsibir\lib\site-packages\wagtail\models_init.py", line 483, in check
*super().check(**kwargs),
File "C:\Users\79232\my_sites\kuzovsibir_ru\env\kuzovsibir\lib\site-packages\wagtail\models_init.py", line 850, in check
*super().check(**kwargs),
File "C:\Users\79232\my_sites\kuzovsibir_ru\env\kuzovsibir\lib\site-packages\wagtail\models\i18n.py", line 190, in check
errors = super().check(**kwargs)
File "C:\Users\79232\my_sites\kuzovsibir_ru\env\kuzovsibir\lib\site-packages\wagtail\search\index.py", line 108, in check
errors.extend(cls._check_search_fields(**kwargs))
File "C:\Users\79232\my_sites\kuzovsibir_ru\env\kuzovsibir\lib\site-packages\wagtail\search\index.py", line 114, in _check_search_fields
for field in cls.get_search_fields():
File "C:\Users\79232\my_sites\kuzovsibir_ru\env\kuzovsibir\lib\site-packages\wagtail\search\index.py", line 55, in get_search_fields
search_fields[(type(field), field.field_name)] = field
AttributeError: 'InlinePanel' object has no attribute 'field_name'`
Steps to Reproduce

All steps from tutor befor "Images"
Edit blog\models.py as follows: Add `from modelcluster.fields import ParentalKey

from wagtail.models import Page, Orderable
from wagtail.fields import RichTextField
from wagtail.admin.panels import FieldPanel, InlinePanel
from wagtail.search import index
class BlogPage(Page):
date = models.DateField("Post date")
intro = models.CharField(max_length=250)
body = RichTextField(blank=True)
search_fields = Page.search_fields + [
    index.SearchField('intro'),
    index.SearchField('body'),
]

content_panels = Page.content_panels + [
    FieldPanel('date'),
    FieldPanel('intro'),
    FieldPanel('body'),

    # Add this:
    InlinePanel('gallery_images', label="Gallery images"),
]

class BlogPageGalleryImage(Orderable):
page = ParentalKey(BlogPage, on_delete=models.CASCADE, related_name='gallery_images')
image = models.ForeignKey(
'wagtailimages.Image', on_delete=models.CASCADE, related_name='+'
)
caption = models.CharField(blank=True, max_length=250)
panels = [
    FieldPanel('image'),
    FieldPanel('caption'),
]`

Run server (also at makemigrations)
ANd received the following error: AttributeError: 'InlinePanel' object has no attribute 'field_name'

Any other relevant information. For example, why do you consider this a bug and what did you expect to happen instead?

I have confirmed that this issue can be reproduced as described on a fresh Wagtail project: yes. The problem is reproduced on the latest version of wagtail.

Technical details

Python version: Python 3.9.5
Django version: Django>=4.2,<5.1
Wagtail version: Wagtail v5.2.3
Browser version: Google Chrome 121.0.6167.85, (64 bit)

Working on this
I just started learning Wagtail, I don't have enough knowledge yet to fix this error.
But it seems to me that you just need to add the lost field_name attribute to the class InlinePanel
Anyone can contribute to this. View our contributing guidelines, add a comment to the issue once you’re ready to start.

I am working on this

@p-p-a-83 Are you sure you added the InlinePanel line to the content_panels list? From the stack trace, it looks like you might have added it to search_fields instead.

Closing due to lack of response - I'm assuming the problem was indeed due to adding the panel to search_fields.


Use non existing namespace for giantswarm sonobuoy plugin

The block in the Task is duplicated, so I'm removing it.
Sonobuoy will fail if using an existing namespace, so we need to pass a non existing one.

going with a ping

going with a ping


Impossible to login

I have installed the files and the database.
I success to create some data when I attempt to register (I see the record in the database) but when I try to login with<EMAIL_ADDRESS>and with<EMAIL_ADDRESS>Nothing happen
I am runing on Laragon with php 7.2.19 and with mysql 5.7.24
When I try to inspect the login page with Chrome and look at network  I got "login" with status "pending"
I checked that laravel is running on server as it indicate in my terminal Laravel development server started: http://<IP_ADDRESS>:8000
my .env in the vue-material-dashboard is having this :
VUE_APP_APP_BASE_URL=http://<IP_ADDRESS>:8081/
VUE_APP_API_BASE_URL=http://<IP_ADDRESS>:8000/api/v1

Hi there,
Can you show us exactly what errors do you see in the telescope?
Also, if you are using phpartisan server, try using another one like lamp stack (for Linux OS) or laragon (for Windows OS).
Thank you,
UPDIVISION

It seems laravel server is blocking time to time, and I am not sure why.

GET
/
404
568ms
2:43m ago

OPTIONS | /api/v1/login | 204 | 403ms | 7m ago |
-- | -- | -- | -- | -- | --

Time
November 16th 2020, 10:36:31 PM (6m ago)

Hostname
DESKTOP

Method
OPTIONS

Controller Action

Middleware

Path
/api/v1/login

Status
204

Duration
403 ms

Memory usage
2 MB

PAYLOAD:
[
]
Headers
{
"host": "<IP_ADDRESS>:8000",
"connection": "keep-alive",
"accept": "/",
"access-control-request-method": "POST",
"access-control-request-headers": "content-type",
"origin": "http://localhost:8080",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36",
"sec-fetch-mode": "cors",
"sec-fetch-site": "cross-site",
"sec-fetch-dest": "empty",
"referer": "http://localhost:8080/",
"accept-encoding": "gzip, deflate, br",
"accept-language": "fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7"
}
SESSION:
[
]
RESPONSE:
"HTML Response"

Hi there,
Did you try using another php server like a full lamp stack or Laragon?
UPDIVISION

I tried with Laragon too, same problem. Invalid credentials when i try to login.
What is strange is that in a random way when i access to telescope it keeps scanning again and again without displaying data requests, yet in the database it is recording in the telescope entries as i can see them

Hi @cococococococo,
The issue that you have is pretty common. The solution for it is to run the server in multi-thread.
We encourage you to try again it.
Maybe this reference will be helpful to you: https://stackoverflow.com/questions/51095171/laravel-passport-auth-stuck-when-run-on-standalone-project-for-password-based-to
Best,
UPDIVISION

Hi @cococococococo,
Hope your problem got solved. I will go ahead and close this ticket.
Best,
UPDIVISION
P.S. If you need help with any of your projects, we're happy to get in touch. We do custom development for start-ups and companies across the globe (you can check out our portfolio here https://updivision.com/portfolio and some happy clients over here https://updivision.com/testimonials). Don`t hesitate to drop us a line at<EMAIL_ADDRESS>or by using our contact form (https://updivision.com/contact).

not solved yet
On Thu, Dec 3, 2020 at 7:33 AM Updivision Team<EMAIL_ADDRESS>wrote:

Hi @cococococococo https://github.com/cococococococo,
Hope your problem got solved. I will go ahead and close this ticket.
Best,
UPDIVISION
P.S. If you need help with any of your projects, we're happy to get in
touch. We do custom development for start-ups and companies across the
globe (you can check out our portfolio here
https://updivision.com/portfolio and some happy clients over here
https://updivision.com/testimonials). Don`t hesitate to drop us a line at
<EMAIL_ADDRESS>or by using our contact form (
https://updivision.com/contact).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/creativetimofficial/vue-material-dashboard-laravel/issues/8#issuecomment-737698060,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABTCJ276IITG4IMSE3BBAJTSS4WMJANCNFSM4TWLZ2TA
.

--
Christopher Oliva
+33 7 81 35 63 38

Hi @cococococococo,
We're sorry for the late reply, can you please update us on the current state of your errors?
Thank you

Hi @teamupdivision

Hi @teamupdivision

Hello @fernandusmoris.
Thank you for using Creative Tim products.
The problem is that the login is not working?
Can you please let me know what install instructions did you use?
Thank you

Hello @fernandusmoris.
Thank you for using Creative Tim products.
The problem is that the login is not working?
Can you please let me know what install instructions did you use?
Thank you

Hello @teamupdivision
Thanks for your quick response, I follow the git documentation installation
URL: https://github.com/creativetimofficial/vue-material-dashboard-laravel

Hello @teamupdivision
Thanks for your quick response, I follow the git documentation installation
URL: https://github.com/creativetimofficial/vue-material-dashboard-laravel

And what is the problem you encountered?

And what is the problem you encountered?

When I log in using the above credentials it's still loading and after a long time it shows 500 internal server error

When I log in using the above credentials it's still loading and after a long time it shows 500 internal server error

can you please send a screenshot of your network tab with the login request clicked?

can you please send a screenshot of your network tab with the login request clicked?

Thank you,
Can you please send one with the header tab?
Also, can you show us exactly what errors do you see telescope (http://<IP_ADDRESS>:8000/telescope) ?
If you are using php artisan serve, try using another one php server like a full lamp stack (for Linux OS) or Laragon (for Windows OS).

Thank you,
Can you please send one with the header tab?
Also, can you show us exactly what errors do you see telescope (http://<IP_ADDRESS>:8000/telescope) ?
If you are using php artisan serve, try using another one php server like a full lamp stack (for Linux OS) or Laragon (for Windows OS).

Header Tab Image

Telescope URL IMage

Yes, I using PHP artisan serve, and I don't know to use another server. Kindly help on this

Header Tab Image

Telescope URL IMage

Yes, I using PHP artisan serve, and I don't know to use another server. Kindly help on this

You need to have a multi-threaded local environment for this to work.
You can either install Wamp  or Laragon(https://laragon.org/) if you work on Windows.
They're both very easy to install and work with.

You need to have a multi-threaded local environment for this to work.
You can either install Wamp  or Laragon(https://laragon.org/) if you work on Windows.
They're both very easy to install and work with.

I am using Ubuntu

I am using Ubuntu

In that case you need a lamp stack, check this tutorial:
https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-ubuntu-18-04

In that case you need a lamp stack, check this tutorial:
https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-ubuntu-18-04


:sparkles: active state to NeoDropdown

Thank you for your contribution to the KodaDot NFT gallery.
👇 _ Let's make a quick check before the contribution.
PR Type

[ ] Bugfix
[x] Feature
[ ] Refactoring

Context

[x] Closes #4603
[ ] Requires deployment <>

Before submitting pull request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged recent default branch -- main and I've no conflicts
[x] I've tried to respect high code quality standards
[x] I've didn't break any original functionality
[x] I've posted a screenshot of demonstrated change in this PR

Optional

[ ] I've tested it at </bsx/collection>
[ ] I've tested PR on mobile
[ ] I've written unit tests 🧪
[ ] I've found edge cases

Had issue bounty label?

[x] Fill up your KSM address: Payout

Community participation

[x] Are you at KodaDot Discord?

Screenshot 📸

[x] My fix has changed something on UI; a screenshot is best to understand changes for others.

https://user-images.githubusercontent.com/73316633/210859536-8912dfef-5914-4270-b603-de5cac22350a.mp4

some context:

oruga buttons don't have active states, ref https://oruga.io/components/button.html
oruga dropdowns emit active-change events, ref https://oruga.io/components/dropdown.html (also have states, but related only to dropdown menu, button is separate)
if we want to have NeoDropdowns which support active state, we'll have to merge o-button and o-dropdown, I'm not sure how many of those are we going to need and whether it is necessary
maybe we can have NeoDropdownActive which supports this -> I can make it in this PR if that's what we want
I've moved CSS to separate file, it was getting quite long
some leftover CSS was removed

maybe I missed something, or I'm just wrong and there are better ways to do this, if so, please let me know and I'll adjust.

add additional classes on NeoDropdown when active. with this, the changes only on NeoDropdown. this one simpler

<template>
  <o-dropdown
    aria-role="list"
    :position="position"
    :append-to-body="appendToBody"
    class="neo-dropdown"
    :class="{ 'o-drop-active': isActive }"
    @active-change="isActive = $event">
    <template #trigger>
      <slot />
    </template>
    <slot name="items" />
  </o-dropdown>
</template>

<script lang="ts" setup>
import { ODropdown } from '@oruga-ui/oruga'

// ...

const isActive = ref(false)
</script>

<style lang="scss">
// ...

// example, override is-neo in here
.o-drop-active {
  .is-neo,
  .is-neo:hover {
    background-color: black;
    color: white;
  }
}
</style>

Well, I've learned something new today 😆 went with the second option; let's see what @roiLeo will have to say

add additional classes on NeoDropdown when active. with this, the changes only on NeoDropdown. this one simpler

I'm fine with this solution as long as we don't change when dropdown is used without button (check NeoDropdown story)
it's still strange that we don't have active state for button while using bulma theme, might be good to open an issue on oruga repo.

it's still strange that we don't have active state for button while using bulma theme, might be good to open an issue on oruga repo.

yes please

pay 30 usd

😍 Perfect, I’ve sent the payout
💵 $30 @ 24.41 USD/KSM ~ 1.229 $KSM
🧗 FNyt7T1xdbhN7dagf7yGYCRJuE3R45VmTCE3tjzy1rKxa7y
🔗 0xadfb4fa179ddc3bb3f93533818e123747b054855b10bcf93312f9c29d18c97a0
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues

the connect button has now dropshadow, that is the only issue i have with it :D

the connect button has now dropshadow, that is the only issue i have with it :D

added again here, sorry

#4624


Remove Expense Does Not Work

In EditExpensePage remove expense does not remove the expense.

expenses reducer startRemoveExpense had a typo in the database reference (extra 'd').
${uid}d/expenses -> ${uid}/expenses
export const startRemoveExpense = ({ id } = {}) => {
  return (dispatch, getState) => {
    const uid = getState.auth.uid;
    return database.ref(`users/${uid}d/expenses/${id}`).remove().then(() => {
      dispatch(removeExpense({ id }));
    });
  };
};


Forecast Skill

Develop a real world use case for the new widgets feature. A part of the skill could look like this thanks to the new Aurora design system of Leon:

 ✨ [1.0.0-beta.10] Weather Domain - Forecast Skill


Guarantee that master branch has "-dev" tag in version

For #7471

[x] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR)
[x] Title summarizes what is changing
[ ] Has a news entry file (remember to thank yourself!)
[ ] Appropriate comments and documentation strings in the code
[ ] Has sufficient logging.
[ ] Has telemetry for enhancements.
[x] Unit tests & system/integration tests are added/updated
[ ] Test plan is updated as appropriate
[ ] package-lock.json has been regenerated by running npm install (if dependencies have changed)
[ ] The wiki is updated with any design decisions/details.

Codecov Report

Merging #7477 into master will decrease coverage by 0.38%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #7477      +/-   ##
==========================================
- Coverage   58.53%   58.14%   -0.39%
==========================================
  Files         494      494
  Lines       21799    21799
  Branches     3495     3490       -5
==========================================
- Hits        12761    12676      -85
- Misses       8247     8323      +76
- Partials      791      800       +9

Impacted Files
Coverage Δ

src/client/testing/serviceRegistry.ts
48.64% <0%> (-46.85%)
:arrow_down:

src/client/testing/codeLenses/main.ts
44.44% <0%> (-33.34%)
:arrow_down:

...t/datascience/jupyter/jupyterDataRateLimitError.ts
66.66% <0%> (-33.34%)
:arrow_down:

src/client/formatters/serviceRegistry.ts
75% <0%> (-25%)
:arrow_down:

src/client/api.ts
62.5% <0%> (-25%)
:arrow_down:

src/client/common/utils/platform.ts
64.7% <0%> (-23.53%)
:arrow_down:

src/client/common/utils/icons.ts
83.33% <0%> (-16.67%)
:arrow_down:

src/client/datascience/cellFactory.ts
75.86% <0%> (-13.8%)
:arrow_down:

src/client/providers/providerUtilities.ts
83.33% <0%> (-5.56%)
:arrow_down:

src/client/common/platform/pathUtils.ts
66.66% <0%> (-5.56%)
:arrow_down:

... and 8 more

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 631acd2...bef54ae. Read the comment docs.


Go to definition navigates to Metadata instead of decompiled source code.

Issue Description
Go to definition navigates to Metadata instead of decompiled source code.
I am using Kubernetes client library and trying to navigate to the decompiled source code using "Go To Definition". However, I am being navigated to the Metadata for the navigated method instead of the decompile source code. Hovering over the method name when pressing the CMD key (I have different key mappings), it shows me" 2 implementation available". However, when I try navigating to implementation, I am given a "FileNotFound exception in the Omnisharp Logs and the editor window. The editor windows have error - "The editor could not be opened because the file was not found,  Create File ".
The path shown in gutter is the same that I see in omnisharp logs - /$metadata$/Project/<Redacted>/<Redacted>/Assembly/KubernetesClient/Basic/Symbol/k8s/IAppsV1Operations.cs
I guess, $metadata$ is not resolved before handing over request to file system because when I click on "Create file", I get the following error in a popup window - Unable to write file /$metadata$/Project/<Redacted>/<Redacted>/Assembly/KubernetesClient/Basic/Symbol/k8s/IAppsV1Operations.cs' (Unknown (FileSystemError): Error: EROFS: read-only file system, mkdir '/$metadata$')
Steps to Reproduce
Expected Behavior
Should have navigated to decompiled source in editor.
Actual Behavior
Navigating to Metadata instead of source code. On next attempt of "go to definition" from the shown metadata, getting a File Not found error.
Logs
OmniSharp log
Starting OmniSharp server at 2/5/2023, 9:20:08 PM
    Target: /Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/<Redacted>.sln

OmniSharp server started with .NET 7.0.102
.
    Path: /Users/ankurtyagi/.vscode/extensions/ms-dotnettools.csharp-1.25.4-darwin-arm64/.omnisharp/1.39.4-net6.0/OmniSharp.dll
    PID: 24665

[info]: OmniSharp.Stdio.Host
        Starting OmniSharp on Unknown 0.0 (Unknown)
[info]: OmniSharp.Services.DotNetCliService
        Checking the 'DOTNET_ROOT' environment variable to find a .NET SDK
[info]: OmniSharp.Services.DotNetCliService
        Using the 'dotnet' on the PATH.
[info]: OmniSharp.Services.DotNetCliService
        DotNetPath set to dotnet
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Located 4 MSBuild instance(s)
            1: .NET Core SDK 7.0.102 17.4.1 - "/usr/local/share/dotnet/sdk/7.0.102/"
            2: .NET Core SDK 7.0.101 17.4.0 - "/usr/local/share/dotnet/sdk/7.0.101/"
            3: .NET Core SDK 6.0.405 17.3.2 - "/usr/local/share/dotnet/sdk/6.0.405/"
            4: .NET Core SDK 6.0.403 17.3.2 - "/usr/local/share/dotnet/sdk/6.0.403/"
[info]: OmniSharp.MSBuild.Discovery.MSBuildLocator
        Registered MSBuild instance: .NET Core SDK 7.0.102 17.4.1 - "/usr/local/share/dotnet/sdk/7.0.102/"
[info]: OmniSharp.WorkspaceInitializer
        Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpFormattingWorkspaceOptionsProvider, Order: 0
[info]: OmniSharp.Cake.CakeProjectSystem
        Detecting Cake files in '/Users/ankurtyagi/workspace/Compute-CCI-ExecSvc'.
[info]: OmniSharp.Cake.CakeProjectSystem
        Did not find any Cake files
[info]: OmniSharp.MSBuild.ProjectSystem
        Detecting projects in '/Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/<Redacted>.sln'.
[info]: OmniSharp.MSBuild.ProjectManager
        Queue project update for '/Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/src/<Redacted>.csproj'
[info]: OmniSharp.MSBuild.ProjectManager
        Queue project update for '/Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/src/<Redacted>.csproj'
[info]: OmniSharp.MSBuild.ProjectManager
        Queue project update for '/Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/src/<Redacted>.csproj'
[info]: OmniSharp.MSBuild.ProjectManager
        Queue project update for '/Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/test/<Redacted>.csproj'
[info]: OmniSharp.MSBuild.ProjectManager
        Queue project update for '/Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/test/<Redacted>.csproj'
[info]: OmniSharp.MSBuild.ProjectManager
        Queue project update for '/Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/test/<Redacted>.csproj'
[info]: OmniSharp.Script.ScriptProjectSystem
        Detecting CSX files in '/Users/ankurtyagi/workspace/Compute-CCI-ExecSvc'.
[info]: OmniSharp.Script.ScriptProjectSystem
        Did not find any CSX files
[info]: OmniSharp.WorkspaceInitializer
        Configuration finished.
[info]: OmniSharp.Stdio.Host
        Omnisharp server running using Stdio at location '/Users/ankurtyagi/workspace/Compute-CCI-ExecSvc' on host 24615.
[info]: OmniSharp.MSBuild.ProjectManager
        Loading project: /Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/src/<Redacted>.csproj
[info]: OmniSharp.MSBuild.ProjectManager
        Successfully loaded project file '/Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/src/<Redacted>.csproj'.
[info]: OmniSharp.MSBuild.ProjectManager
        Adding project '/Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/src/<Redacted>.csproj'
[info]: OmniSharp.MSBuild.ProjectManager
        Loading project: /Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/src/<Redacted>.csproj
[info]: OmniSharp.MSBuild.ProjectManager
        Successfully loaded project file '/Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/src/<Redacted>.csproj'.
[info]: OmniSharp.MSBuild.ProjectManager
        Adding project '/Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/src/<Redacted>.csproj'
[info]: OmniSharp.MSBuild.ProjectManager
        Loading project: /Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/src/<Redacted>.csproj
[info]: OmniSharp.MSBuild.ProjectManager
        Successfully loaded project file '/Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/src/<Redacted>.csproj'.
[info]: OmniSharp.MSBuild.ProjectManager
        Adding project '/Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/src/<Redacted>.csproj'
[info]: OmniSharp.MSBuild.ProjectManager
        Loading project: /Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/test/<Redacted>.csproj
[info]: OmniSharp.MSBuild.ProjectManager
        Successfully loaded project file '/Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/test/<Redacted>.csproj'.
[info]: OmniSharp.MSBuild.ProjectManager
        Adding project '/Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/test/<Redacted>.csproj'
[info]: OmniSharp.MSBuild.ProjectManager
        Loading project: /Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/test/<Redacted>.csproj
[info]: OmniSharp.MSBuild.ProjectManager
        Successfully loaded project file '/Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/test/<Redacted>.csproj'.
[info]: OmniSharp.MSBuild.ProjectManager
        Adding project '/Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/test/<Redacted>.csproj'
[info]: OmniSharp.MSBuild.ProjectManager
        Loading project: /Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/test/<Redacted>.csproj
[info]: OmniSharp.MSBuild.ProjectManager
        Successfully loaded project file '/Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/test/<Redacted>.csproj'.
[info]: OmniSharp.MSBuild.ProjectManager
        Adding project '/Users/ankurtyagi/workspace/Compute-CCI-ExecSvc/test/<Redacted>.csproj'
[info]: OmniSharp.MSBuild.ProjectManager
        Update project: <Redacted>
[info]: OmniSharp.MSBuild.ProjectManager
        Update project: <Redacted>
[info]: OmniSharp.MSBuild.ProjectManager
        Update project: <Redacted>
[info]: OmniSharp.MSBuild.ProjectManager
        Update project: <Redacted>
[info]: OmniSharp.MSBuild.ProjectManager
        Update project: <Redacted>
[info]: OmniSharp.MSBuild.ProjectManager
        Update project: <Redacted>
[info]: OmniSharp.Roslyn.CSharp.Services.Diagnostics.CSharpDiagnosticWorkerWithAnalyzers
        Solution initialized -> queue all documents for code analysis. Initial document count: 158.
Received response for /v2/gotodefinition but could not find request.
Received response for /findusages but could not find request.
[warn]: OmniSharp.Roslyn.CSharp.Services.Navigation.FindUsagesService
        No document found. File: $metadata$/Project/<Redacted>/<Redacted>/Assembly/KubernetesClient/Basic/Symbol/k8s/IAppsV1Operations.cs.
[warn]: OmniSharp.Roslyn.CSharp.Services.Navigation.FindUsagesService
        No document found. File: $metadata$/Project/<Redacted>/<Redacted>/Assembly/KubernetesClient/Basic/Symbol/k8s/IAppsV1Operations.cs.
[warn]: OmniSharp.Roslyn.CSharp.Services.Navigation.FindUsagesService
        No document found. File: $metadata$/Project/<Redacted>/<Redacted>/Assembly/KubernetesClient/Basic/Symbol/k8s/IAppsV1Operations.cs.

C# log
Empty
Environment information
VSCode version: 1.74.3
C# Extension: 1.25.4
Mono Information
        There is a problem with running OmniSharp on mono: Error: Unable to find Mono. Ensure that Mono's '/bin' folder is added to your environment's PATH variable.
Dotnet Information
.NET SDK:
 Version:   7.0.102
 Commit:    4bbdd14480
Runtime Environment:
OS Name:     Mac OS X
OS Version:  13.2
OS Platform: Darwin
RID:         osx.13-arm64
Base Path:   /usr/local/share/dotnet/sdk/7.0.102/
Host:
Version:      7.0.2
Architecture: arm64
Commit:       d037e070eb
.NET SDKs installed:
6.0.403 [/usr/local/share/dotnet/sdk]
6.0.405 [/usr/local/share/dotnet/sdk]
7.0.101 [/usr/local/share/dotnet/sdk]
7.0.102 [/usr/local/share/dotnet/sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 6.0.11 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.13 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 7.0.1 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 7.0.2 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.11 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.13 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 7.0.1 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Microsoft.NETCore.App 7.0.2 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Other architectures found:
None
Environment variables:
Not set
global.json file:
Not found
Learn more:
https://aka.ms/dotnet/info
Download .NET:
https://aka.ms/dotnet/download

Visual Studio Code Extensions

Extension
Author
Version

auto-using
Fudge
0.7.15

codespaces
GitHub
1.13.7

copilot
GitHub
1.71.8269

csharp
ms-dotnettools
1.25.4

dotnet-test-explorer
formulahendry
0.7.8

EditorConfig
EditorConfig
0.16.4

intellij-idea-keybindings
k--kato
1.5.5

namespace
adrianwilczynski
1.1.2

nuget-reverse-package-search
jesschadwick
0.1.68

powershell
ms-vscode
2023.1.0

roslynator
josefpihrt-vscode
4.2.0

vscode-icons
vscode-icons-team
12.2.0

vscode-proto3
zxh404
0.5.5

Did you enable decompilation support? there is a setting "omnisharp.enableDecompilationSupport": true

Navigating to Metadata instead of source code. On next attempt of "go to definition" from the shown metadata, getting a File Not found error.

however, this (navigation within the metadata/decompiled source) is not currently supported, also not for decompiled sources.
You can navigate from source to metadata (or decompiled source) and from metadata to metadata in another file (or in another decompiled source), but not from metadata to metadata in the same file (or in the same decompile source).

Did you enable decompilation support? there is a setting "omnisharp.enableDecompilationSupport": true

Yes, its enabled and the Terms Agreement is also accepted.

Navigating to Metadata instead of source code. On next attempt of "go to definition" from the shown metadata, getting a File Not found error.

however, this (navigation within the metadata/decompiled source) is not currently supported, also not for decompiled sources.
You can navigate from source to metadata (or decompiled source) and from metadata to metadata in another file (or in another decompiled source), but not from metadata to metadata in the same file (or in the same decompile source).

Thanks, I didn't know this. Though it seems to be very weird limitation. Any Idea, if this is being worked upon or planned ?
Anyhow, Navigating (using GoToDefinition) from Source to decompiled source should work but rather I get navigated to metadata instead.

Anyhow, Navigating (using GoToDefinition) from Source to decompiled source should work but rather I get navigated to metadata instead.

I think something is wrong with the extension passing the options to OmniSharp then. You should be able to use the following workaround:
Create a file omnisharp.json at ~/.omnisharp/omnisharp.json with the following content and restart OmniSharp.
{
    "RoslynExtensionsOptions": {
        "EnableDecompilationSupport": true
    }
}


More PR checks needed

Here is the PR check section for this repo:

It should be uniform with the rest of our repos and have many more checks in place like this:

I will create a Jira ticket and ask Amol's team to do the needful.

https://jts.seagate.com/browse/EOS-27544 created to track this and ensure it is done.

Hi @johnbent ,
We have already created the PR for Alex workflow, this needs to be merged.
https://github.com/Seagate/cortx-k8s/pull/3
CC: @mukul-seagate11

For the convenience of the Seagate development team, this issue has been mirrored in a private Seagate Jira Server: https://jts.seagate.com/browse/EOS-27622. Note that community members will not be able to access that Jira server but that is not a problem since all activity in that Jira mirror will be copied into this GitHub issue.

As mentioned in the individual PRs, we need a universal change across all CORTX repos to fork third-party GitHub Actions and reference the forked versions instead of using third-party repository-hosted actions directly.
Referenced PRs:

https://github.com/Seagate/cortx-k8s/pull/56
https://github.com/Seagate/cortx-k8s/pull/41
https://github.com/Seagate/cortx-k8s/pull/3

These have all been merged in with updated locally forked GitHub Actions.

Richard Osowski commented in Jira Server:

Implemented PR checks on GitHub repo

Richard Osowski commented in Jira Server:

Implemented PR checks on GitHub repo

Richard Osowski commented in Jira Server:

Implemented PR checks on GitHub repo


code release question

Hi, nice work for your paper.
It's very helpful to know more about your idea with the code.
When will you release the code ?

I'm preparing an extension of this work, it's nearly done. Once finished, I'll clean and release my code

Sounds exciting.
I'll follow your extension work and the code.

Hi, nice work for your paper.
I want to how to add the photon shot noise? That is, how to obtain the Np?

@DML-source
you need to have system overall gain K to convert your digital number D to the number of photoelectrons I via I = D / K.  Then you impose a  Poisson distribution on I, and finally revert it by D* = I* x K.

@DML-source
you need to have system overall gain K to convert your digital number D to the number of photoelectrons I via I = D / K. Then you impose a Poisson distribution on I, and finally revert it by D* = I* x K.
and Np = D* - D (though you don't need to explicitly calculate Np as you already have D*)

Thanks for your explanation.
So, is the param for Poisson distribution fixed, or how to choose this param?

@DML-source  there is no param for Poisson distribution

@DML-source there is no param for Poisson distribution.
The only param to control the photon shot noise is the system overall gain K

I am sorry, but the Poisson distribution needs the param lamda, right?  I am confused about how to obtain the I* from I.

Actually, you should feed I* to lam

nice work! looking forward to the codes 👀


'panic' function on borrowed capability causes some resources not to show up in resources explorer in playground

The new Playground UI with expanded resources explorer functionality should display all account storage items for any given account. The new functionality works, but somehow when the 'panic' function is applied to a borrowed capability it causes some resources not to show up in account storage.
Steps to reproduce:

fork the following playground: https://play.onflow.org/7c60f681-40c7-4a18-82de-b81b3b6c7915?type=account&id=0
click on the storage icon next to account 0x01, notice storage is empty
deploy the 'ExampleToken' contract
notice that account 0x01's storage is still empty

Now,  on a new fork of the playground link before step 2, remove line 146 (the panic), and then on line 145 add a force unwrap operator, ex let recipientRef = recipient.borrow()!. Deploy and watch how account storage shows the 'Minter', 'MainMinter' and 'MainVault' resources properly.

This one is a great issue, @hichana  did you find out the reason ? If not I will debug this one.

Hi @bluesign  I didn’t find out the reason unfortunately. @MaxStalker helped me uncover it as I was building the new resources explorer, so he might have some insights.

Seems problem with runtimeContext.predeclaredValues, so checker doesn't recognize panic command.

Appears to be fixed in the latest build:


[Java code] Use nullable annotations

This will add unnecessary complexity to the Java code. Since such the portion of the app written in Java is so small, there's not much maintainability incentive to do this. Plus the Java compiler can't really enforce the annotations since the callsites are in C#, so we'd still have to validate arguments anyway.


[tests] add traffic for Cert_5_3_06_RouterIdMask.py

Thanks for @hjian2017 's work here which helps to expose the issue introduced in #2217 (fixed in #2320), a meaningful start that updated cert scripts could help improve the code quality of future PRs.

Great to see the value of this effort!  @hjian2017, please rebase to validate that the issue has been addressed by #2320.

I am so glad to see it works. @librasungirl @jwhui

@hjian2017 , please try to output important information during execuation or when error happens. It would help to ease the debug process. Thanks.

@librasungirl


Log out button issues

Log out button is not signing people out. I am prompted with the Shibboleth button and agree and close my browser window and re-open and I'm still logged in.

It seems like this is an issue with the "Restore previous session" type options in browsers, where it retains your previous tabs/windows after closing and reopening your browser.  Does this match up with what you experienced?  I was able to replicate the issue in Firefox by having it restore my previous session, even if there wasn't a CDR tab in the set of restored tabs.  If you don't use this option, you will be properly logged out when you reopen your browser.
This is pretty bad, but unfortunately its an issue with how Shibboleth interacts with web browsers rather than being CDR related, since we don't do any of the session clearing.

That sounds like the behavior I saw. Thanks for looking into it.

I think this issue results from a Tomcat session rather than a SSO token..  The UNC SSO token is used the first time, to authenticate the user. Once a session is established, I think tomcat will maintain that session until we destroy it or it times out.
What we really need to do is make the logout button destroy the tomcat session. If we do that, then I'm not even sure we need to logout of SSO in general. The person's SSO login is still good for logging into the CDR again or other campus services. Or we could redirect to the SSO logout after performing session destroy.

I think if we don't destroy the SSO then the next user that comes along can
just click the login button and automatically log in as whoever last logged
into Shibb.  The shibb logout page talks about the need to close your
browser entirely because shibb doesn't really do logout very well.  It
would be nice to have a less arduous logout process, losing ones browser
state is a lot to ask in some cases.  So if there's something we can do
Tomcat side then I'd be interested, but I think were dependent on the shibb
logout process because of how the cookies are created.
On Wed, Nov 2, 2011 at 2:41 PM, Gregory Jansen <
<EMAIL_ADDRESS>
I think this issue results from a Tomcat session rather than a SSO token..
The UNC SSO token is used the first time, to authenticate the user. Once a
session is established, I think tomcat will maintain that session until we
destroy it or it times out.
What we really need to do is make the logout button destroy the tomcat
session. If we do that, then I'm not even sure we need to logout of SSO in
general. The person's SSO login is still good for logging into the CDR
again or other campus services. Or we could redirect to the SSO logout
after performing session destroy.
--
Reply to this email directly or view it on GitHub:
https://github.com/UNC-Libraries/Carolina-Digital-Repository/issues/6#issuecomment-2607627

I bet I can manually remove the UNC SSO cookie and still have a tomcat session..  Tomcat is setting it's own session tracking cookie after Apache authenticates the user via shib.
Also, can we add a "Hello, COUNT0" message to the banner, so that the user knows who is logged in.

You can probably manually remove it in your browser, but the cookies are
associated with the SSO and I believe you therefore can't do a real logout
from the CDR without a full browser closing
https://wiki.brown.edu/confluence/display/CISDOC/Shibboleth+and+Application+Logout+Best+Practices
"Shibboleth works the same way that many online banking applications work;
they remind users that the only way to ensure that the authentication
session is terminated is to close all browser windows and tabs and quit the
browser."
Good suggestion with the username in the banner, I'll mention it to Jill.
It'll be a good anchor for getting to the user profile/permissions page
when we get to that
On Wed, Nov 2, 2011 at 5:18 PM, Gregory Jansen <
<EMAIL_ADDRESS>
I bet I can manually remove the UNC SSO cookie and still have a tomcat
session..  Tomcat is setting it's own session tracking cookie after Apache
authenticates the user via shib.
Also, can we add a "Hello, COUNT0" message to the banner, so that the user
knows who is logged in.
--
Reply to this email directly or view it on GitHub:
https://github.com/UNC-Libraries/Carolina-Digital-Repository/issues/6#issuecomment-2609848

I think the issue here is that you are really logged in to two things, UNC's Single-Signon server, our Apache Shibboleth service and our Tomcat server session. At leave tomcat and unc sso are separate cookies, though I'm not sure that our apache shib sets one of it's own.
If you don't sign out of UNC SSO, you will be automatically authenticated when you visit a protected CDR page. If you don't kill the tomcat session, I think you will remain authenticated even if your SSO cookie is removed.


buildEnv: build the whole tree of directories to pathsToLink

Things done

[x] Tested using sandboxing
(nix.useChroot on NixOS,
or option build-use-chroot in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

This patch fixes #16614 and #16741.
The first issue was caused by the fact that both /share and
/share/fish/vendor_completions.d end in the pathsToLink. The
pkgs/build-support/buildenv/builder.pl creates /share, then links
/share/fish under /share and then tries to create the directory
/share/fish/vendor_completions.d and fails because it already exists.
The simplest way to reproduce the issue is to build the next Nix
expression:
let pkgs = import <nixpkgs> { };
in pkgs.buildEnv {
  name = "buildenv-issue";

  paths = [
    pkgs.fish
    pkgs.vim
  ];

  pathsToLink = [
    "/share"
    "/share/fish/vendor_completions.d"
  ];
}

The second issue is more critical and was caused by the fact findFiles
doesn't recurse deep enough. It stops at first unique directory for the
package (e.g., "/share" or even "/") and later the scripts decides it
shouldn't link it as it doesn't match pathsToLink (e.g., "/share/fish"),
so the result is empty.
The test:
let pkgs = import <nixpkgs> { };
in pkgs.buildEnv {
  name = "buildenv-issue";

  paths = [
    pkgs.fish
    pkgs.vim
  ];

  pathsToLink = [
    "/share/fish/functions"
  ];
}

or
let pkgs = import <nixpkgs> { };
in pkgs.buildEnv {
  name = "buildenv-issue";

  paths = [
    pkgs.vim
  ];

  pathsToLink = [
    "/share"
  ];
}

Awesome! buildEnv was in dire need of several fixes IMO. Thanks @rasendubi.

I have tested this on current staging -- it results in a working system with no regression visible. I think we can merge this, but I'm not sure whether we want it in the current pack of staging patches or should wait till the next.
cc @vcunat as one who'll most likely start staging evaluation and looked through recent patches.

Thanks for fixing the bug after discovering it, and even going way further. I must admit, my motivation to do it myself was rather low, so thank you sir!

@abbradar: you can merge immediately, if you feel confident it's OK. I can't get staging to re-evaluate now anyway, probably due to out-of-disk problem.

@vcunat I did just that after yet one more testing, and also merged in https://github.com/NixOS/nixpkgs/pull/16763 and https://github.com/NixOS/nixpkgs/pull/16801 -- I figured out if they are dependent on staging patches but otherwise ready we can as well just merge them there.

Closed by https://github.com/NixOS/nixpkgs/commit/0172558e8278eda2f08f9fc02ff831538548ced3


Tests with AWS

https://aws.amazon.com/blogs/security/use-iam-roles-to-connect-github-actions-to-actions-in-aws/


Feature/chartdata

Add frame methods
Add lerp method (can expand to other interpolation types later with care)
Lots of renames, organize tests
Test memoization more thoroughly
Move column jsdoc and flow types to column file
A billion more tests

approve

This is really good stuff overall, just a couple of changes and things to think about.
I also went in and dropped the line length down to help with readability - hope that's ok.


Allow interface name and HTTP bind address/port configuration for otbr-web

Defaults are:

interface name: wpan0 (see https://github.com/canonical/openthread-border-router-snap/issues/17)
HTTP bind address: ::
HTTP bind port: 80

CLI usage:
Usage: otbr-web [-d DEBUG_LEVEL] [-I interfaceName] [-p port] [-a listenAddress] [-v]

Source code:
https://github.com/openthread/ot-br-posix/blob/main/src/web/main.cpp

I would like to have this feature as well. Allows me to have OTBR listen on 8080 and put a reverse SSL proxy in front of it.

@wido this has been implemented and is now available under the latest/beta channel. Please test and report if you find any issues.
sudo snap install openthread-border-router --channel=latest/beta
# or simply:
sudo snap install openthread-border-router --beta


Windows: no such file or directory: "/usr/bin/env"

Hi there,
I have successfully got lspinstall working on my Mac, but now trying on my Windows machine with the exact same init.lua, when attempting to run  LspInstall csharp, I get the following error:

Is this meant to work on windows?

It seems to be that not supports windows for now, that's a unix path... I have the same error. Also thinked about modifying the code but probably it's all made for linux users and it might be a lot of work.

There is a PR open to add support for windows i saw a week ago


delay DR

https://www.raidbots.com/simbot/report/mWUHiBaxNYGNJXtStU36it

https://www.raidbots.com/simbot/report/9czojtESmFnxD8wFDLvwCs/simc

WIth your changes, if you turn off delay in some cases it's a loss for AoE, bigger if you play without vola/add enough targets.
Starts to happen on 5T and above.
Might be worth to keep old logic for next_dragonrage for aoe if delay is turned off? (3t+)
EoI ST build:
https://www.raidbots.com/simbot/report/h4ex7PTuEDD1Jxs7crPhyw
EoI ST build with vola:
https://www.raidbots.com/simbot/report/6qXXSw9PZEAshNhYPUHtzG
AoE build 6T:
https://www.raidbots.com/simbot/report/5nU7EtXdozeZMhqV19Mupp
AoE Build 5T:
https://www.raidbots.com/simbot/report/uGStgbuSpZeUm11DZoSpnJ
AoE Build 4T:
https://www.raidbots.com/simbot/report/ftc9zyCvZwebkpypnXGD4B
AoE build 3T:
https://www.raidbots.com/simbot/report/sHgsqQP89ZvzcswzS8KauN
On 6T with Snapfire build (-Power Swell) delay becomes a loss somehow (could prolly just take the L on this one, seems to be the only build becomes loss with delay):
https://www.raidbots.com/simbot/report/rk4vMdwJqV66K6te2DMR8H
Above build (-Snapfire +Power swell) now a gain again:
https://www.raidbots.com/simbot/report/cgH6twRAcsWHwRqvCSpyae
Snipfire+EBF:
https://www.raidbots.com/simbot/report/x3iYCnHfbwzruY1PC2URFg

Thanks for checking this. This was intended to only affect ST for now so it seems I have missed that empower still depend on next_dragonrage for AOE too. Whats interesting is that because of the way DR is handled in AOE it won't actually get delayed right now, so the DPS gain we see probably comes from holding empowers for DR (which I thought wasn't a gain?). I'll try to make this DPS neutral at least and delaying should obviously be supported for AOE too

After some more testing the dps gain is coming from using deep breath on pull

Changes excluding Deep Breath on pull
ST: https://www.raidbots.com/simbot/report/7AvfkydXutmHXrJEN4YPhz
3T: https://www.raidbots.com/simbot/report/v6LbTsQB7PxTZi7Jox8f7Q
4T: https://www.raidbots.com/simbot/report/u1yfhf76Tn73BveHQHWvon
5T: https://www.raidbots.com/simbot/report/b28iK9aMpwqWfJM1Bzwfq9
6T: https://www.raidbots.com/simbot/report/6Hg5ichNz9LVqB9ZFv4MSr
Changes with Deep Breath on pull
ST: https://www.raidbots.com/simbot/report/59Hb2ksYamXSqMEJ8pRDeH
3T: https://www.raidbots.com/simbot/report/fwX3j8C6Xc7sLVmNytpx8P
4T: https://www.raidbots.com/simbot/report/qCmzTevDCUNozxdFpBq2JW
5T: https://www.raidbots.com/simbot/report/q3MUjaqdSJrwft4Q7U4vSV
6T: https://www.raidbots.com/simbot/report/3mXRiqjt3uaJJGwNY6KXLR
Delay vs no delay
ST: https://www.raidbots.com/simbot/report/keZKLqw9X56pW9ztRoDWvV
3T: https://www.raidbots.com/simbot/report/t8Jr37SaJpdC3QyJt4tNDR
4T: https://www.raidbots.com/simbot/report/agS8W5fFn65MtGEzdzn9Mc
5T: https://www.raidbots.com/simbot/report/few1D4DZaKCFaHeAAYXHZ5
6T: https://www.raidbots.com/simbot/report/mNesfeu1nqCcwxxXdu3iLy

Here are some more sims:
1 minute
Changes with Deep Breath on pull

ST: https://www.raidbots.com/simbot/report/sy2GzJBG44KWmK9tWGnZAq
3T: https://www.raidbots.com/simbot/report/phoAgk596Yi7bcdxvuhBL3
4T: https://www.raidbots.com/simbot/report/bYHowvNv4MWGqJjaXxFsGV
5T: https://www.raidbots.com/simbot/report/bXmEXesa5ZRDJejewGrBwb
6T: https://www.raidbots.com/simbot/report/w4GDus35FBD8f9pELHBcRJ

Delay vs no delay
This should show no difference because we use DR on pull together with lust

ST: https://www.raidbots.com/simbot/report/dSd6w4E4AhobAS4LXG1oHL
3T: https://www.raidbots.com/simbot/report/tfmZRRnVpm4XGVUgu6sTBT
4T: https://www.raidbots.com/simbot/report/5rxpixw6GMGa5vJ4HrkbKh
5T: https://www.raidbots.com/simbot/report/fHFrSgXxDuzunNbJQFsFpj
6T: https://www.raidbots.com/simbot/report/cJfnvSCkJt1TGHuqUPnf5G

2 minutes
Changes with Deep Breath on pull

ST: https://www.raidbots.com/simbot/report/wnM95z8LBoVS2TRfPWmjDq
3T: https://www.raidbots.com/simbot/report/3qWapwapCFRor74CYLWKXt
4T: https://www.raidbots.com/simbot/report/2Z88pQnLRqs4zWUUJSZiYQ
5T: https://www.raidbots.com/simbot/report/gcCPbfvaJPLUw2uMnp9Yc5
6T: https://www.raidbots.com/simbot/report/nsakyzn1Fy3x3bHNMqqL9e

Delay vs no delay
This should show no difference because we use DR on pull together with lust

ST: https://www.raidbots.com/simbot/report/oUa8xDPcQ5shmzepK4BrNL
3T: https://www.raidbots.com/simbot/report/taNrqMyVX1z6FWUaKor6aR
4T: https://www.raidbots.com/simbot/report/ecaATnPFW4BJNFt4x8FMKj
5T: https://www.raidbots.com/simbot/report/uTWyirh2WsZCiLYD8nZcAo
6T: https://www.raidbots.com/simbot/report/s5mV1HungkBrJEfuE3RD61

4 minutes
Delay vs no delay

ST: https://www.raidbots.com/simbot/report/azYiVUqGr4QmsjooEtQkeJ
6T: https://www.raidbots.com/simbot/report/nASGjEiiTZn7Wi6obQFxbg


v0.10.7

https://github.com/govuk-react/govuk-react/releases/tag/untagged-7c48461bbee8d850316c
What's Changed

Use gh instead of hub by @penx in https://github.com/govuk-react/govuk-react/pull/1247
Add dependabot groups by @penx in https://github.com/govuk-react/govuk-react/pull/1258
Regenerate docs by @penx in https://github.com/govuk-react/govuk-react/pull/1259
Remove enzyme, snapshots by @penx in https://github.com/govuk-react/govuk-react/pull/1267
Remove defaultProps to support React 18.3.0 by @richrace in https://github.com/govuk-react/govuk-react/pull/1650

New Contributors

@richrace made their first contribution in https://github.com/govuk-react/govuk-react/pull/1650

Full Changelog: https://github.com/govuk-react/govuk-react/compare/v0.10.6...v0.10.7

@penx I think I've everything right, apart from this bit in the draft release:

@penx I think I've everything right, apart from this bit in the draft release:

Thanks, I'm not sure what is wrong with this screenshot, looks fine to me, we'll change the target branch to main once this PR is merged.
I've done this step:

Edit the PR and write the release notes in the PR description (see release notes below)

and this:

get approval for the PR (reviewers should be reviewing the release notes in the PR description) then merge the PR

happy for this to be merged in


Kb/hq workflow changes

Summary
Implemented execution of the HQSmokeTests scripts on production as well during pushes
Description
Added a sequential job of executing the HQSmokeTests scripts on Production as well when we push any changes.
Link to Jira Ticket (if applicable)

QA Checklist

[ ] Label(s) and Assignee added
[X] PR sent for review
[ ] Documentation (if applicable) added/updated

I think (untested) that this should work from looking at the docs:

https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs
https://docs.github.com/en/actions/learn-github-actions/expressions#fromjson
https://docs.github.com/en/actions/using-jobs/defining-outputs-for-jobs

I've kept the actual build job very basic so that we could see if this works. Once it's working we can add the rest of the build steps.
jobs:
  set_matrix:
    runs-on: ubuntu-latest
    outputs:
      matrix: ${{ steps.set-matrix.outputs.matrix || steps.set-matrix-default.outputs.matrix }}
    steps:
      - id: set-matrix
        if: ${{ github.event.client_payload.environment != null }}
        run: echo "::set-output name=matrix::{\"environment\": [\"${{ github.event.client_payload.environment }}\"]}"
      - id: set-matrix-default
        if: ${{ github.event.client_payload.environment == null }}
        run: echo "::set-output name=matrix::{\"environment\": [\"production\", \"staging\"]}"
  build:
    needs: set_matrix
    strategy:
      matrix: ${{fromJSON(needs.set_matrix.outputs.matrix)}}
    name: Smoke on '${{ matrix.environment }}'
    runs-on: ubuntu-latest
    steps:
      - run: |
        echo "client_payload: ${{ toJson(github.event.client_payload) }}"
        echo "matrix environment: ${{ matrix.environment }}"


Add pkgs.overridePackages

Rationale:

There's no way to override an already existing pkgs set, AFAIK.
If you want to import <nixpkgs> with an overridden config.packageOverrides you lose the config.nix overrides, unless you merge with the default config.

This is similar to what I'm doing with gnome3.overridePackages nowadays. It's very useful, and doesn't hurt the existing pkgs, but will help a lot when composing pkgs with third-party packages or making more complex overrides.
Compared to the packageOverrides it also defines a self parameter, which is quite usual nowadays, e.g. in most GNOME or Haskell. Because when doing overrides you might want to refer to the final overridden set, not only the old set.
I will write proper documentation in nixpkgs once it gets accepted.
cc @edolstra @domenkozar @peti @nbp

:+1:

Looks good, but please document that this shouldn't be used in Nixpkgs itself for efficiency reasons.
It's also kind of bad that we keep adding utility functions to pkgs (which, as the name indicates, should be a set of packages) but I don't see an easy solution to that.

Added the warning, also added the nixpkgs doc with a new doc/functions.xml chapter. I plan to add more nixpkgs functions to it. Hope that will be a good start for documenting our utility functions.