MyMonero should be removed from Downloads until compatible with Fluorine Fermi network upgrade

Many users are looking for a new wallet after their current wallet software, e.g. Exodus, did not update in time for the Fluorine Fermi hard fork. GetMonero.org should not point users to another wallet that is also currently not working.
Once MyMonero is confirmed to be working with the hard fork, it can be added to Downloads again.

Edge relies on Mymonero's update and has confirmed that
"The XMR update for edge is still inprogress, however the all other coins on Edge are still working"
Either full removal or a section / indication that these apps are non-functional

Once MyMonero is confirmed to be working with the hard fork, it can be added to Downloads again.

I don't think this should happen immediately or automatically. We have a responsibility to other users to not recommend unreliable service providers and MyMonero should have to rebuild community trust before it's added back.

Official update from MyMonero here: https://github.com/mymonero/mymonero-app-js/issues/513

Please find MyMonero’s official response here:
https://www.reddit.com/r/MyMonero/comments/wxbdb9/mymonero_important_announcement/?utm_source=share&utm_medium=ios_app&utm_name=iossmf

See MyMonero's latest update here:
https://github.com/mymonero/mymonero-app-js/issues/513#issuecomment-1227235460

I do appreciate that mymonero is speeding up things to fix the problem, but the issue here is that we are still pointing people to a wallet outside of Monero's network. Thousands of people visit the website every day. IMO #2030 should be merged and deployed immediately. We can re-add MyMonero easily as soon as they will be ready.

(https://github.com/monero-project/monero-site/pull/2030#issuecomment-1227311250)

See MyMonero's latest official update here:
https://github.com/mymonero/mymonero-app-js/issues/513#issuecomment-1228276635


Website not visible

The link of input website is not visible in output link

Can you elaborate it more.

I agree that whoever click my link I'll get his pic, location etc...
But the link that bot provide me doesn't work nothing is visible in the
link ...
On Sat, 3 Dec, 2022, 8:24 am Prateek Chaubey, @.***>
wrote:

Can you elaborate it more.
—
Reply to this email directly, view it on GitHub
https://github.com/Th30neAnd0nly/TrackDown/issues/3#issuecomment-1336021938,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZ4YNIDEIL6SNARBIIBDPKLWLKY55ANCNFSM6AAAAAASSBUDTI
.
You are receiving this because you authored the thread.Message ID:
@.***>


Widget can not be reached by using Tab key

Run the test project
Click on DataView - Editable
Press Tab key
The text area of the widget is not focused

That is correct. The Bootstrap Wysiwyg editor creates an editor on a <div /> element, which cannot be focussed


Did sports reference completely change their site?

I am unable to even load boxscore data for the site using this package. Wondering if they completely changed their site's tables?
Was worried this would happen...

still works for me, using the NFL library.

Which boxscores are you trying to load?

Just trying to run the basic example:
from sportsipy.nfl.boxscore import Boxscore

game = Boxscore('202302120phi')
df = game.dataframe

Get this error:
traceback (most recent call last):
  File "/Users/jake/workspace/scripts/testSportsReference.py", line 3, in <module>
    game = Boxscore('202302120phi')
  File "/Users/jake/Library/Python/3.9/lib/python/site-packages/sportsipy/nfl/boxscore.py", line 296, in __init__
    self._parse_game_data(uri)
  File "/Users/jake/Library/Python/3.9/lib/python/site-packages/sportsipy/nfl/boxscore.py", line 784, in _parse_game_data
    value = self._parse_name(short_field, boxscore)
  File "/Users/jake/Library/Python/3.9/lib/python/site-packages/sportsipy/nfl/boxscore.py", line 447, in _parse_name
    return pq(str(boxscore(scheme)).strip())
  File "/Users/jake/Library/Python/3.9/lib/python/site-packages/pyquery/pyquery.py", line 212, in __init__
    elements = fromstring(context, self.parser)
  File "/Users/jake/Library/Python/3.9/lib/python/site-packages/pyquery/pyquery.py", line 63, in fromstring
    result = getattr(lxml.html, meth)(context)
  File "/Users/jake/Library/Python/3.9/lib/python/site-packages/lxml/html/__init__.py", line 873, in fromstring
    doc = document_fromstring(html, parser=parser, base_url=base_url, **kw)
  File "/Users/jake/Library/Python/3.9/lib/python/site-packages/lxml/html/__init__.py", line 761, in document_fromstring
    raise etree.ParserError(
lxml.etree.ParserError: Document is empty

Potentially just a dependency issue? But seems like it is getting an empty document, so figured maybe the site changed. I saw they added a video segment above the games.

For the specific test you are running, the fix on #729 resolved the issue for me.  See https://github.com/roclark/sportsipy/issues/729#issuecomment-1180900763

@jchavis06 @roclark is this fixed? I am still running into this issue. Seems like no uri are returned from boxscores and boxscore doesn't return any stats either.

As far as I can tell, no one is merging any fixes to this repository for some time.  I've got a fork which is updated for newer Python module requirements and includes the fix for #729 as well as others, see https://github.com/davidjkrause/sportsipy
If it doesn't work, you can let me know or file an issue there and I'll take a look.

Sites change, so a tool like this will need constant maintenance; adding one vote to make @davidjkrause's repo the new home for sportsipy.  Please join this bandwagon, and if enough of us use and star that repo, perhaps we can ask @roclark to point to it in the README of this repo, and maybe transfer PyPI ownership at some point.  @davidjkrause, maybe update the README on your repo to indicate that you are at least pulling in new PRs from the original repo, i.e., preferably the top of the README on your repo doesn't also indicate that it's not being maintained?
Go go OSS community ownership.

Sites change, so a tool like this will need constant maintenance; adding one vote to make @davidjkrause's repo the new home for sportsipy. Please join this bandwagon, and if enough of us use and star that repo, perhaps we can ask @roclark to point to it in the README of this repo, and maybe transfer PyPI ownership at some point. @davidjkrause, maybe update the README on your repo to indicate that you are at least pulling in new PRs from the original repo, i.e., preferably the top of the README on your repo doesn't also indicate that it's not being maintained?
Go go OSS community ownership.

Updated the README file on my fork.  Willing to take ownership going forward, however that works.

Looks like the source data site has changed URI(s) and that seems to be breaking working code.

Looks like the source data site has changed URI(s) and that seems to be breaking working code.

Do you have a specific use case that's failing?  As was discussed above, the site does change from time to time, but this repository isn't really updating.  If you can share a short sample that's failing for you, I can take a look and possibly fix in my fork.


slurm: init at 0.4.4

Description of changes
Closes #257288
Adds the package slurm as a generic network load monitor. The name of the package is slurm-cli as there already is a package named slurm.
URL: https://github.com/mattthias/slurm
Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

You are missing the "include" of the new package in pkgs/top-level/all-packages.nix like:
  slurm-cli = callPackage ../tools/networking/slurm-cli { };

(Also out of curiosity, any reason to name it slurm-cli instead of slurm?)

Just guessing: To avoid a conflict with pkgs/servers/computing/slurm.

As @tobim said and because i thought that slurm-network-monitor would be a bit long. Any suggestions for another name @eclairevoyant ?

Makes sense. I don't have a strong suggestion about the naming, as I'm not familiar with the software. Just wanted to check.
I'll approve once you get a chance to move the file and the commits are created per the guidelines (1 maintainers commit, 1 commit to create this new package)

I personally (when thinking about it) would prefer slurm-nm/netmon or sth because with cli like e.g. 1password, 1password-cli someone could think packages are related

Cool, I'm working on it now and try to correct the errors from the checks (:

@eclairevoyant thank you for thanking the time and reviewing my PR despite all my clear oversights in the contribution guidelines. I've learned a lot! (:
Changes:

[ ] Moved to by-name hierarchy
[ ] Test built it with nix-build -A
[ ] Renamed the package to slurm-nm
[ ] Added my-self as a maintainer
[ ] Updated the meta
[ ] Applied suggestions from code review

However, it says that the maintainer list is not sorted, but maybe I misunderstand something. But, mikael comes after mihnea and before mike, right?

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

1 package built:

slurm-nm


DisplayName property on TwinRelationshipAttribute doesn't work

Using the display name attribute as part of a relationship, e.g.
       [TwinRelationship(DisplayName = "Runs Production Lines", MaxMultiplicity = 500)]
        public IList<ProductionLine> RunsLines { get; } = new List<ProductionLine>();

Causes the following error in the ModelParser:

dtmi:factoryexample:models:factoryfloor;1 has 'contents' value with name 'runsLines' which does not have a @type that allows property 'DisplayName'. Remove property 'DisplayName' or correct if misspelled.

The generated DTDL is:
    {
      "DisplayName": "Runs Production Lines",
      "maxMultiplicity": 500,
      "minMultiplicity": 0,
      "target": "dtmi:factoryexample:models:productionline;1",
      "@type": "Relationship",
      "name": "runsLines"
    },

The capitalisation of displayName is incorrect; in the specification it is camelCase, like the other properties.

This problem has been resolved with a simple solution however in the process another bug revealed itself once I have resolved that I will raise a PR with the fix

I have restructured some of the DTDL model classes to match the DTDLv2 spec, in my Semantic Properties branch/PR.
This moves the DisplayName attribute to a base class, as it is common across all of DTDL (see the diagram in my other branch).

This now works. The code:
        [TwinRelationship(DisplayName = "Runs Production Lines")]
        public IList<ProductionLine> RunsLines { get; } = new List<ProductionLine>();

Becomes:
    {
      "target": "dtmi:factoryexample:models:productionline;1",
      "name": "runsLines",
      "@type": "Relationship",
      "displayName": "Runs Production Lines"
    }

The displayName property is correctly serialised.
Note that displayName is common across all DTDL types, so I added it to the base class (diagram is here https://github.com/telstra/DigitalTwins-CodeFirst-dotnet/blob/main/docs/pics/DTDLv2-structure.png).
(The fix also shows how min & max default values are just left blank and no unnecessarily output; and the max now works correctly).


JMPickerActionSheet below UITabBarController

Hi,
On iPhone, the view is under UITabBarController if there is an UITabBar.

You can reproduce it by adding a UITabBarController in your sample like this :

Have good day !

Got same issue

Some questions about the way you present the JMPickerActionSheet
Are you using this selector ?
showActionSheetDescription:actionSheetDescription inViewController:viewController
viewController is the tabbarController?


shorthand notation

Any chance you have a glossary of sorts for all the shorthand notation that you use?  When going through your code it can sometimes be tedious to figure out what things mean.  For example, I spent a good 3 minutes just figuring out what mmr is.  I'm not going to suggest you change the names as domain-specific shorthand can be good sometimes, but it would be nice to have a cheat-sheet.

+100 for readable names.
Atom, for example, has an easy-to-use search and replace over a whole directory for this kind of thing (though, of course, that can be dangerous).


Revert java import changes for s390x

What type of PR is this?
/kind failing-test
What does this PR do / why we need it:
Reverting back changes in https://github.com/openshift/odo/pull/4602 as registry.redhat.io/redhat-openjdk-18/openjdk18-openshift:latest has been fixed.
Which issue(s) this PR fixes:
Fixes #?
PR acceptance criteria:

[ ] Unit test

[ ] Integration test

[ ] Documentation

[ ] I have read the test guidelines

How to test changes / Special notes to the reviewer:
It should run successfully on s390x arch.

ping @xkwangcn could you please validate this pr change on s390x arch.

/test psi-kubernetes-integration-e2e

/test psi-kubernetes-integration-e2e

@xkwangcn did you have a chance to validate the changes in a s390x system?

Hello, @prietyc123 @rnapoles-rh, I took vacation last week, sorry for slow reply.
I will verify it today, Thank you.

this is correct on s390x. please revert it. Thank you.

this is correct on s390x. please revert it. Thank you.

/hold cancel

@prietyc123 hi, I mean this change is correct, please merge this PR.


Sort by oldest or newest first

Entries are currently shown newest first, however it is often desirable to read entries in chronological sequence.
The ability to choose sort order by oldest or newest first would be desirable in this case.

This issue is finally resolved! You can change your preferred sort order on your profile page.


Ensure correct background is present for horizontalStackedAvatar style

Details
Looks like we want to the border on avatars to be more of a pass through than matching the app background color. Noticed there was a style of appBG being passed to the avatar.
Fixed Issues
$ https://github.com/Expensify/App/issues/13347
Tests
Same as QA

[ ] Verify that no errors appear in the JS console

Offline tests

QA Steps

Create a new workspace
Navigate to /settings
Verify that the avatar does not have a black border around it
Hover over the item
Verify the border matches the background of the containing element
Press the item
Verify the border again matches the background of the containing element
Create another workspace
Repeat the previous steps of the test and verify the borders around the avatars match the background colors of the row correctly.
Keep adding more workspaces until the counter for workspaces appears and they are limited to 4 avatars
Verify the borders around the avatars match the background colors of the row correctly.
Locate a workspace chat in the sidebar
Verify the background color around the smaller subscript avatar matches the background of the row
Navigate to the chat
Verify the background color around the smaller subscript avatar matches the lighter background of the row

General regression testing idea: Verify that other avatar styles in the app look correct.

[ ] 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] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[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 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 was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[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 a new component is created I verified that:

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

[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(themeColors.componentBG)

[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] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://user-images.githubusercontent.com/32969087/205786564-d93f593f-a165-4000-bf01-d256ef147e60.mp4

Mobile Web - Chrome
https://user-images.githubusercontent.com/32969087/205793353-292a3dcd-cbe9-4351-913a-aaeb1b37b707.mp4

Mobile Web - Safari
https://user-images.githubusercontent.com/32969087/205791802-9c3301e6-b74b-49e5-bac9-262cae85cf91.mp4

Desktop
https://user-images.githubusercontent.com/32969087/205790141-42171941-90de-44b1-80ca-b6f526bf22b2.mp4

iOS
https://user-images.githubusercontent.com/32969087/205844098-43adbc07-e7ed-486f-839f-aa29aba658da.mp4

Android
https://user-images.githubusercontent.com/32969087/205794612-5bd795d4-da27-40a4-ac6f-8849a72c5e1e.mp4

How does this look with multiple workspaces in the row?

Updated to cover that case!
Not sure if there is an easier way to do this... but realized we needed to pass the "hover" and "pressed" states so that these borders work correctly. At first, I tried just removing the background color, but this doesn't work very well once you start adding the extra avatars into the mix and need the overlapping border to be solid so it creates the avatar stacking illusion.

Ah actually noticing that this style will also need to be fixed:

And now thinking it would be better to pass a hover + pressed styles as a prop instead of booleans.

This also needs to be fixed

Think this is in a pretty good spot. Gonna open up for reviews / testing.

Reviewer Checklist

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

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

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

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

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

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

I need to restart my computer, gonna take a break and then finish :)

Reviewer Checklist

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

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[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 checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

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

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (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 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 was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[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 verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[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] If a new component is created I verified that:

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

[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(themeColors.componentBG)

[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] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://user-images.githubusercontent.com/3069065/206098149-404ffd4c-14f0-4800-8132-5e79dbf0582f.mov

Mobile Web - Chrome
https://user-images.githubusercontent.com/3069065/206098172-4ce41f04-8b1e-448d-abbc-75f851470df1.mov

Mobile Web - Safari
https://user-images.githubusercontent.com/3069065/206098239-36fd8e9c-6fb5-4dfd-82ce-90ad42a09076.mov

Desktop
https://user-images.githubusercontent.com/3069065/206098274-3e1f3a76-b15a-4b46-a46d-55b915b88da6.mov

iOS
https://user-images.githubusercontent.com/3069065/206098300-811085f6-abb6-4bd3-bade-c8c93ec62b32.mov

Android
https://user-images.githubusercontent.com/3069065/206098370-0e13a257-e100-4eba-abfc-9dfa44e33514.mov

: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 production by @chiragsalian in version: 1.2.38-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


AP ESLint Config

Feature Request 🛍
Create an AP ESLint configuration to be shared among our repositories
Use Case
We should have our own ESLint configuration to help keep code across our ecosystem consistent and approachable
Possible Solution
This should run during tests to enforce linting
Context
Use @clausehq/eslint-config as a starting point reference

We may need different linting rules for core part of the stack and web components

Somewhat different issue, in the area of code checks:

license checks on all project

Yes maybe we could have a core stack config and a ui stack config?

Yes maybe we could have a core stack config and a ui stack config?

I'm not super versed in linter configurations, but one difference is the JavaScript style where the core stack uses CommonJS "requires" v the web components using the ES6 style.
Also the standard indentation in the core stack is 4 whitespace rather than 2 in the web components (I wouldn't mind getting rid of that difference though).

Hey, I'm Interested in this :)
I'm a newcomer here, I was just able to close this simple issue :) #341
I want to discuss this issue a little bit, I had joined Slack today, can you tell me to whom should I approach and discuss this issue there?

Happy to discuss this more @Aniruddha-Shriwant, I know others can also help: @DianaLease @mttrbrts

I think we should use the @clauseHQ/eslint-config ESLint configuration as a starting point. But I think we should be making our own configuration repository. One for “core” and one for “ui” to start with. So, @accordproject/eslint-core and @accordproject/eslint-ui. We could make this a monorepo (accordproject/linting?), which would make future linting configurations easier to add.
@jeromesimeon as a side note, this makes me think we may want to think about having a more structured naming convention for repositories and projects.

Hey @irmerk ,
I apologize for the delay, I will make a sample .eslintrc.json / eslint config file keeping the below suggestion in mind

I'm not super versed in linter configurations, but one difference is the JavaScript style where the core stack uses CommonJS "requires" v the web components using the ES6 style.
Also the standard indentation in the core stack is 4 whitespace rather than 2 in the web components (I wouldn't mind getting rid of that difference though).

and then we can discuss it and move on to further monorepo creation and so on...

Hello @irmerk ,
I had created a .eslintrc.json file here as a sample, So that we can discuss some more rules that we should add in it...
For convenience I'm pasting that file below...
{
    "extends": [
      "@clausehq/eslint-config",
      "eslint:recommended",
      "plugin:import/errors",
      "plugin:react/recommended",
      "plugin:jsx-a11y/recommended"
    ],
    "rules": {
      "react/prop-types": 0,
      "indent": ["error", 2],
      "linebreak-style":1,
      "require-jsdoc":0
    },
    "parser": "babel-eslint",
    "plugins": [
        "react",
        "import",
        "jsx-a11y"
    ],
    "parserOptions": {
      "ecmaVersion": 2021,
      "sourceType": "module",
      "ecmaFeatures": {
        "jsx": true
      }
    },
    "env": {
      "es6": true,
      "browser": true,
      "node": true
    },
    "settings": {
      "import/resolver": {
        "node": {
            "paths": ["src"],
            "extensions": [".js", ".jsx", ".ts", ".tsx"]
        }
      },
      "react": {
        "version": "detect"
      }
    }
}

The import plugin helps ESLint catch commons bugs around imports, exports, and modules in general
jsx-a11y catches many bugs around accessibility that can accidentally arise using React, like not having an alt attribute on an img tag.
react is mostly common React things, like making sure you import React anywhere you use React.
babel-lint allows ESLint to use the same transpiling library, Babel, that Parcel uses under the hood. Without it, ESLint can't understand JSX.
eslint-plugin-react now requires you to inform of it what version of React you're using. We're telling it here to look at the package.json to figure it out.
Also as you had given me the starting point @clausehq/eslint-config I had also extended that.
I had added the indentation rule of 2 whitespaces as suggested by @jeromesimeon , we can add other rule for core-stack in different file once the monorepo is created...

@DianaLease & @mttrbrts , I would like to know your views and opinions on this as you were the contributors in @clausehq/eslint-config...

Thanks @Aniruddha-Shriwant  for your efforts here.
@irmerk why don't we just adopt an existing lining ruleset? There are plenty to choose from and we avoid the overhead of maintaining our own.

I'm going off the assumption that @jeromesimeon is correct in that we need two separate linters.

Okay @irmerk , I didn't make two files before because I was waiting for your views on this file...will make other file soon :)

@Aniruddha-Shriwant I think we'll want more input from @jeromesimeon on this before moving forward.

@Aniruddha-Shriwant I think we'll want more input from @jeromesimeon on this before moving forward.

Yeah sure! Waiting for your reply @jeromesimeon 😅

@irmerk any update on this?
I had created two sample files...
Core stack
Web Components
Looking forward to having your input on this...

@irmerk pinging you here to discuss a little about configurations...
Sample .eslintrc.json for Accord Project ( Core Stack )
{
    "extends": [
      "@clausehq/eslint-config",
      "eslint:recommended",
      "plugin:import/errors",
      "plugin:jsx-a11y/recommended",
      "plugin:node/recommended"
    ],
    "rules": {
      "global-require":"warn",
      "indent": ["error", 4],
      "linebreak-style":1,
      "require-jsdoc": [0, {
        "require": {
            "FunctionDeclaration": true,
            "MethodDefinition": false,
            "ClassDeclaration": false,
            "ArrowFunctionExpression": false,
            "FunctionExpression": false
        }
      }],
      "arrow-parens": ["error", "as-needed"],
      "comma-dangle": ["error", "always-multiline"],
      "comma-spacing": ["error", { "before": false, "after": true }],
      "default-param-last": ["error"],
      "eol-last": ["error", "always"],
      "implicit-arrow-linebreak": ["error", "beside"],
      "object-curly-spacing": ["error", "always"],
      "no-multi-spaces": "error",
      "no-trailing-spaces": "error",
      "quotes": ["error", "single"],
      "semi": ["error", "always"]
    },
    "parser": "babel-eslint",
    "plugins": [
        "node",
        "import",
        "jsx-a11y"
    ],
    "parserOptions": {
      "ecmaVersion": 2018,
      "sourceType": "module",
      "ecmaFeatures": {
        "jsx": true
      }
    },
    "env": {
      "es6": true,
      "browser": true,
      "node": true,
      "commonjs": true
    },
    "settings": {
      "import/resolver": {
        "node": {
            "paths": ["src"],
            "extensions": [".js", ".jsx", ".ts", ".tsx"]
        }
      },
      "react": {
        "version": "detect"
      }
    }
}

Sample .eslintrc.json for Accord Project ( Web Components )
{
    "extends": [
      "@clausehq/eslint-config",
      "eslint:recommended",
      "plugin:import/errors",
      "plugin:react/recommended",
      "plugin:jsx-a11y/recommended"
    ],
    "rules": {
      "react/prop-types": 0,
      "indent": ["error", 2],
      "linebreak-style":1,
      "require-jsdoc": [0, {
        "require": {
            "FunctionDeclaration": true,
            "MethodDefinition": false,
            "ClassDeclaration": false,
            "ArrowFunctionExpression": false,
            "FunctionExpression": false
        }
      }],
      "arrow-parens": ["error", "as-needed"],
      "comma-dangle": ["error", "always-multiline"],
      "comma-spacing": ["error", { "before": false, "after": true }],
      "default-param-last": ["error"],
      "eol-last": ["error", "always"],
      "implicit-arrow-linebreak": ["error", "beside"],
      "object-curly-spacing": ["error", "always"],
      "no-multi-spaces": "error",
      "no-trailing-spaces": "error",
      "quotes": ["error", "single"]
    },
    "parser": "babel-eslint",
    "plugins": [
        "react",
        "import",
        "jsx-a11y"
    ],
    "parserOptions": {
      "ecmaVersion": 2020,
      "sourceType": "module",
      "ecmaFeatures": {
        "jsx": true
      }
    },
    "env": {
      "es6": true,
      "browser": true,
      "node": true
    },
    "settings": {
      "import/resolver": {
        "node": {
            "paths": ["src"],
            "extensions": [".js", ".jsx", ".ts", ".tsx"]
        }
      },
      "react": {
        "version": "detect"
      }
    }
}

Also,

I'm not super versed in linter configurations, but one difference is the JavaScript style where the core stack uses CommonJS "requires" v the web components using the ES6 style.
Also the standard indentation in the core stack is 4 whitespace rather than 2 in the web components (I wouldn't mind getting rid of that difference though).

As suggested by Jerome, I had added these rules in those files...Also you may get a little information in this comment about various plugins I had added
Looking forward to having your suggestions on adding some specific rules which I missed adding and then we can move on creating Accords ESlint Config repo and further npm publishing work...

I'm going off the assumption that @jeromesimeon is correct in that we need two separate linters.

Can't we take an off-the-shelf linter for each pattern? I still don't understand the motivation for creating one or more custom house styles

hey can i get to work on this issue?

@mustang-shr I suggest following @mttrbrts's suggestion and implement an existing linter.

hey @irmerk can you please elaborate on the problem like do I have to create an eslint.config.js  file inside the project?


Allow metrics-server non-kube-system RBAC (+ClusterRole) deployment

Hi!
We have a pretty rare case in our company which is still spread across clusters out there. In a situation where you can not deploy to kube-system namespace it is not possible to deploy the chart, because metrics-server needs access to
extension-apiserver-authentication ConfigMap, thus a RoleBinding should be deployed to kube-system in order to achieve this: https://github.com/kedacore/charts/blob/43b0f516e0d101c18830d06126700916c029712b/keda/templates/metrics-server/clusterrolebinding.yaml#L24
A possible solution here would be to add a ClusterRole with same permissions as the extension-apiserver-authentication-reader Role and make it optional if kube-system deployment is not possible. I have already forked the chart and am ready to create a MR if it could be approved. Maybe you have other suggestions, would be really glad to hear them.
Looking forward to hearing from you!
Nils.

I look forward to this application

I look forward to this application


Error creating a new project request

Exporting XLIFF files fails with following error on Windows PC (should also check on Mac).
"java.nio.file.InvalidPathException: Illegal char <:> at index 110: C:\Users\BEKARE~1\AppData\Local\Temp\fileSystemDropExporter\TestRepo\Week 40 (╤З╨╡╤В╨▓╨╡╤А╨│) - 29 ╤Б╨╡╨╜╤В╤П╨▒╤А╤П 2016 - 21:45:13\Source Files\ru-RU_09-29-16.xliff"
The weirdly encoded symbols in the filename should be cyrillic, it should say: "Week 40 (четверг) - 29 сентября 2016 - 21:45:13" (which is "Week 40 (Thursday) - 29 September 2016 - 21:45:13")

On Windows, <>:\"|?* are reserved characters and cannot be used in Path.  We need to update the project folder name to make it work on both Windows and Mac.


[FR] support for -tag

Expected behaviour
option to strike text and keep it that way for others to read
Actual behaviour
nothing.

with markdown syntax you can add ~~ before and after the text you want to strike
like this

that didn't work for me in KB. Does it work for you in KB?


Improve reusability of builds

Is your feature request related to a problem? Please describe.

We currently allow this to be circumvented by creating tasks, however there are two main barriers to using and consuming these:

Task creation must be done manually
Tasks cannot be consumed via the Build Explorer, and instead must be called via the Command Palette

Furthermore, tasks might be a step too far for most developers who simply just want to replay the same build again. We currently store the last build state, but we could extend this in certain ways by storing multiple builds and displaying them in Build Explorer
Describe the solution you'd like
There's a few different ways we could improve this, either by focusing on improving tasks or focusing on reducing the need for tasks. Again, we could pick one or we could pick multiple.
Improving tasks

Add a new command to aid in the generation of tasks that can be run via the right click menu on a device in the Build Explorer or via the Command Palette
Display a Tasks sub-item alongside the platforms in the Build Explorer that shows the user-defined Titanium tasks

Improving build recall

Display a Recent sub-item alongside the platforms in the Build Explorer that shows the most recent builds performed. We could store the last 5 builds and then display these there. (credit to @Topener for this idea)

We already offer the ability to set that information today via tasks. The second bullet of Improving tasks is for adding a way to create those
Personally, I don't think this extension should be generalising and simplifying the configuration beyond tasks though as it's then getting into the realm of configuration that should maybe be performed by the CLI itself.

Ah, didn't know that. I've got build scripts which do some more actions before the distribution build

Closing this out as we just released 0.12.0
Right click on a device (i.e simulator/emulator/device) or distribution target will now also offer a "Generate task" option, and the Build Explorer now also has a Recent section that shows the last 5 builds


New Instances deployed in the host stuck in "networking" state forever after the host was powered down and powered on.

Server version - Build from master
Had a set up with 3 hosts.
All hosts had instances running.
powered down one of the hosts.
health check enabled instances in this host were all marked for removal and new instances got created in other hosts.
powered on this host.
Created a service with scale 3.
All the instances of the services got allocated to this host and are are all stuck in "networking" state forvever.
New instances that get added to the host are also stuck in "networking" state forever.
Following error seen in agent logs repeatedly:
2016-01-08 00:22:58,945 INFO agent [139847576391504] [utils.py:430] Request: {"id":"ef3c95d4-a6bd-4ffd-9818-aaa027573b53","name":"delegate.request","replyTo":"reply.9208204411059765707","resourceId":null,"resourceType":null,"publisher":null,"transitioning":null,"transitioningMessage":null,"transitioningInternalMessage":null,"previousIds":null,"previousNames":null,"data":{"instanceData":{"description":null,"version":"0","domain":null,"token":"5xk1Q3PuNdinfGAIoDhcEzygEahYcVCnmvnYmlAg4JmY7g1Z9Gr56p5vrfBJP5ulzIcsRBSOLJOpI5hEyAA","created":1452197534000,"data":{"fields":{"imageUuid":"docker:rancher/agent-instance:v0.6.0","networkIds":[],"vnetIds":[3],"privileged":true,"dataVolumeMounts":{},"dataVolumes":[],"transitioningMessage":"Post-network","transitioningProgress":95,"dockerHostIp":"<IP_ADDRESS>","dockerIp":"<IP_ADDRESS>","dockerPorts":{"4500/udp":"4500","500/udp":"500"},"primaryIpAddress":"<IP_ADDRESS>"},"ipsec":{"3":{"isakmp":500,"nat":4500}},"dockerMounts":[],"dockerInspect":{"State":{"Status":"running","Pid":5893,"OOMKilled":false,"Dead":false,"Paused":false,"Running":true,"FinishedAt":"0001-01-01T00:00:00Z","Restarting":false,"Error":"","StartedAt":"2016-01-07T20:13:11.885664912Z","ExitCode":0},"Config":{"Volumes":{},"Hostname":"362403aedaa1","Entrypoint":null,"Env":["CATTLE_URL=http://<IP_ADDRESS>:8080/v1","CATTLE_CONFIG_URL=http://<IP_ADDRESS>:8080/v1","CATTLE_AGENT_INSTANCE_AUTH=Basic RTFGRDVBNkVDMjZBMDhFRjkzRDQ6WEw1WHZEVjVwZEJ1UDgxS2NWRWszdnZIam13QkNic0xSWFRKZ2lNeg==","CATTLE_SECRET_KEY=XL5XvDV5pdBuP81KcVEk3vvHjmwBCbsLRXTJgiMz","CATTLE_ACCESS_KEY=E1FD5A6EC26A08EF93D4","HOME=/","PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],"Memory":0,"OnBuild":null,"OpenStdin":false,"MacAddress":"02:eb:84:6f:f9:ad","Cpuset":"","User":"","VolumeDriver":"","AttachStderr":false,"AttachStdout":false,"NetworkDisabled":false,"WorkingDir":"","Cmd":["/etc/init.d/agent-instance-startup","init"],"StdinOnce":false,"AttachStdin":false,"MemorySwap":0,"Tty":false,"CpuShares":0,"Domainname":"","Image":"rancher/agent-instance:v0.6.0","Labels":{"io.rancher.container.agent_id":"7","io.rancher.container.system":"NetworkAgent","io.rancher.container.ip":"<IP_ADDRESS>/16","io.rancher.container.uuid":"5e8c6183-f2a8-440e-b1dc-7b0f2ccce7cb"},"ExposedPorts":{"4500/udp":{},"500/udp":{}}},"ResolvConfPath":"/var/lib/docker/containers/362403aedaa1290df1f4f31ee160175da9364d4ff120fe77e0d0f67e434e7f5f/resolv.conf","HostsPath":"/var/lib/docker/containers/362403aedaa1290df1f4f31ee160175da9364d4ff120fe77e0d0f67e434e7f5f/hosts","Args":["init"],"Driver":"aufs","ExecDriver":"native-0.2","Path":"/etc/init.d/agent-instance-startup","HostnamePath":"/var/lib/docker/containers/362403aedaa1290df1f4f31ee160175da9364d4ff120fe77e0d0f67e434e7f5f/hostname","VolumesRW":{},"RestartCount":0,"Name":"/5e8c6183-f2a8-440e-b1dc-7b0f2ccce7cb","Created":"2016-01-07T20:13:11.504347957Z","GraphDriver":{"Data":null,"Name":"aufs"},"Volumes":{},"ExecIDs":null,"ProcessLabel":"","NetworkSettings":{"Bridge":"","GlobalIPv6PrefixLen":0,"LinkLocalIPv6Address":"","HairpinMode":false,"IPv6Gateway":"","SecondaryIPAddresses":null,"SandboxID":"d72f232b20b367d558de9bdb1e5b7c233b1b905e23df463d2effd4d7a200bcf7","GlobalIPv6Address":"","LinkLocalIPv6PrefixLen":0,"EndpointID":"e7777a318faca78fba3d5c039586ec5242cefbcc15368492b5de11b00254b59a","SandboxKey":"/var/run/docker/netns/d72f232b20b3","MacAddress":"02:eb:84:6f:f9:ad","SecondaryIPv6Addresses":null,"IPPrefixLen":16,"IPAddress":"<IP_ADDRESS>","Gateway":"<IP_ADDRESS>","Ports":{"4500/udp":[{"HostPort":"4500","HostIp":"<IP_ADDRESS>"}],"500/udp":[{"HostPort":"500","HostIp":"<IP_ADDRESS>"}]}},"AppArmorProfile":"","Image":"6d192de69e23c1e239b0e6266e5579a187eb24e4eaf68c5510d33d85b6b9031a","LogPath":"/var/lib/docker/containers/362403aedaa1290df1f4f31ee160175da9364d4ff120fe77e0d0f67e434e7f5f/362403aedaa1290df1f4f31ee160175da9364d4ff120fe77e0d0f67e434e7f5f-json.log","HostConfig":{"CpuPeriod":0,"MemorySwappiness":null,"ContainerIDFile":"","MemorySwap":0,"CpusetMems":"","Dns":null,"Memory":0,"DnsSearch":null,"Privileged":true,"Ulimits":null,"CpusetCpus":"","PidMode":"","CgroupParent":"","BlkioWeight":0,"RestartPolicy":{"MaximumRetryCount":0,"Name":""},"PublishAllPorts":false,"VolumeDriver":"","ReadonlyRootfs":false,"CpuShares":0,"GroupAdd":null,"OomKillDisable":false,"MemoryReservation":0,"ConsoleSize":[0,0],"NetworkMode":"default","LxcConf":null,"Devices":null,"Binds":null,"CpuQuota":0,"KernelMemory":0,"UTSMode":"","ExtraHosts":null,"VolumesFrom":null,"CapDrop":null,"DnsOptions":null,"Links":null,"IpcMode":"","PortBindings":{"4500/udp":[{"HostPort":"4500","HostIp":"<IP_ADDRESS>"}],"500/udp":[{"HostPort":"500","HostIp":"<IP_ADDRESS>"}]},"SecurityOpt":null,"CapAdd":null,"LogConfig":{"Config":{},"Type":"json-file"}},"Id":"362403aedaa1290df1f4f31ee160175da9364d4ff120fe77e0d0f67e434e7f5f","MountLabel":""},"dockerContainer":{"Status":"Up Less than a second","Created":1452197591,"Image":"rancher/agent-instance:v0.6.0","Labels":{"io.rancher.container.agent_id":"7","io.rancher.container.system":"NetworkAgent","io.rancher.container.ip":"<IP_ADDRESS>/16","io.rancher.container.uuid":"5e8c6183-f2a8-440e-b1dc-7b0f2ccce7cb"},"HostConfig":{"NetworkMode":"default"},"ImageID":"6d192de69e23c1e239b0e6266e5579a187eb24e4eaf68c5510d33d85b6b9031a","Command":"/etc/init.d/agent-instance-startup init","Names":["/5e8c6183-f2a8-440e-b1dc-7b0f2ccce7cb"],"Id":"362403aedaa1290df1f4f31ee160175da9364d4ff120fe77e0d0f67e434e7f5f","Ports":[{"IP":"<IP_ADDRESS>","Type":"udp","PublicPort":4500,"PrivatePort":4500},{"IP":"<IP_ADDRESS>","Type":"udp","PublicPort":500,"PrivatePort":500}]}},"id":49,"hostname":null,"healthState":null,"startCount":1,"kind":"container","accountId":5,"removed":null,"registryCredentialId":null,"imageId":49,"uuid":"5e8c6183-f2a8-440e-b1dc-7b0f2ccce7cb","agentId":7,"zoneId":1,"instanceTriggeredStop":"restart","systemContainer":"NetworkAgent","externalId":"362403aedaa1290df1f4f31ee160175da9364d4ff120fe77e0d0f67e434e7f5f","removeTime":null,"offeringId":null,"userdata":null,"createIndex":null,"memoryMb":null,"deploymentUnitUuid":null,"firstRunning":1452197592000,"compute":null,"allocationState":"active","nativeContainer":false,"networkContainerId":null,"name":"Network Agent","state":"running"},"event":{"id":"767f4dfe-39b5-4d80-929d-b1a8f065d4f6","name":"config.update","replyTo":"config.update.reply","resourceId":"7","resourceType":"agent","publisher":null,"transitioning":null,"transitioningMessage":null,"transitioningInternalMessage":null,"previousIds":null,"previousNames":null,"data":{"configUrl":"http://<IP_ADDRESS>:8080/v1","items":[{"name":"ipsec-hosts","requestedVersion":null,"apply":false,"increment":false,"checkInSyncOnly":true},{"name":"hosts","requestedVersion":null,"apply":false,"increment":false,"checkInSyncOnly":true},{"name":"iptables","requestedVersion":null,"apply":false,"increment":false,"checkInSyncOnly":true},{"name":"healthcheck","requestedVersion":null,"apply":false,"increment":false,"checkInSyncOnly":true}]},"time":1452212546750,"timeoutMillis":7500,"transitioningProgress":null,"context":null}},"time":1452212578926,"timeoutMillis":7500,"transitioningProgress":null,"context":null}
2016-01-08 00:22:58,945 INFO agent [139847576391504] [utils.py:430] worker24 : Starting request ef3c95d4-a6bd-4ffd-9818-aaa027573b53 for delegate.request
2016-01-08 00:22:59,264 INFO agent [139847576391504] [utils.py:430] Response: {"name": "reply.9208204411059765707", "transitioningProgress": null, "resourceType": null, "resourceId": null, "id": "eb65f0d6-50a4-4cad-9cec-ecd549f2d8f2", "transitioningMessage": "Update failed", "time":<PHONE_NUMBER>000, "previousNames": ["delegate.request"], "transitioning": "yes", "data": {"name": "config.update.reply", "transitioningProgress": null, "resourceType": "agent", "resourceId": "7", "id": "fccca55f-9084-4a3d-8e68-1fa09a98d9e4", "transitioningMessage": "Update failed", "time":<PHONE_NUMBER>000, "previousNames": ["config.update"], "transitioning": "yes", "data": {"output": "INFO: Updating ipsec-hosts\nINFO: Downloading http://<IP_ADDRESS>:8080/v1//configcontent//ipsec-hosts current=ipsec-hosts-132-43e5f6f2e4c495147a22ff1e593a5cb33f30a7d64bf9516ba68f45d1ab3c3923\nINFO: Running /var/lib/cattle/download/ipsec-hosts/ipsec-hosts-136-43e5f6f2e4c495147a22ff1e593a5cb33f30a7d64bf9516ba68f45d1ab3c3923/apply.sh\nINFO: HOME -> ./\nINFO: HOME -> ./etc/\nINFO: HOME -> ./etc/cattle/\nINFO: HOME -> ./etc/cattle/ipsec/\nINFO: HOME -> ./etc/cattle/ipsec/config.json\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) Failed to connect to localhost port 8111: Connection refused\nFailed to reload ipsec config\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) Failed to connect to localhost port 8111: Connection refused\ncurl: (3) [globbing] unmatched brace in column 1\n[[scripts.sh:184] script_env\n[[scripts.sh:109] '[' -n http://<IP_ADDRESS>:8080/v1 ']'\n[[scripts.sh:110] return\n[[scripts.sh:186] export CATTLE_HOME=/var/lib/cattle\n[[scripts.sh:186] CATTLE_HOME=/var/lib/cattle\n[[scripts.sh:187] export CATTLE_CONFIG_URL=http://<IP_ADDRESS>:8080/v1\n[[scripts.sh:187] CATTLE_CONFIG_URL=http://<IP_ADDRESS>:8080/v1\n[[scripts.sh:188] export CATTLE_STORAGE_URL=http://<IP_ADDRESS>:8080/v1\n[[scripts.sh:188] CATTLE_STORAGE_URL=http://<IP_ADDRESS>:8080/v1\n[apply.sh:5] stage_files\n[scripts.sh:77] local monit=false\n[scripts.sh:79] '[' -d content-home ']'\n[scripts.sh:80] find content-home -name '*.sh' -exec chmod +x '{}' ';'\n[scripts.sh:81] sed 's/^/INFO: HOME -> /'\n[scripts.sh:81] tar xvf - --no-overwrite-dir -C /var/lib/cattle\n[scripts.sh:81] tar cf - -C content-home .\nINFO: HOME -> ./\nINFO: HOME -> ./etc/\nINFO: HOME -> ./etc/cattle/\nINFO: HOME -> ./etc/cattle/ipsec/\nINFO: HOME -> ./etc/cattle/ipsec/config.json\n[scripts.sh:84] '[' -d content ']'\n[scripts.sh:102] '[' false = true ']'\n[apply.sh:7] '[' '' '!=' true ']'\n[apply.sh:8] curl -f http://localhost:8111/v1/reload\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) Failed to connect to localhost port 8111: Connection refused\n[apply.sh:9] echo Failed to reload ipsec config\nFailed to reload ipsec config\n[apply.sh:10] curl http://localhost:8111/v1/reload '{'\n  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current\n                                 Dload  Upload   Total   Spent    Left  Speed\n\r  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) Failed to connect to localhost port 8111: Connection refused\ncurl: (3) [globbing] unmatched brace in column 1\n", "exitCode": 3}, "previousIds": ["767f4dfe-39b5-4d80-929d-b1a8f065d4f6"]}, "previousIds": ["ef3c95d4-a6bd-4ffd-9818-aaa027573b53"]} [0.0339980125427] seconds
2016-01-08 00:22:59,265 INFO agent [139847576391504] [utils.py:430] worker24 : Done request ef3c95d4-a6bd-4ffd-9818-aaa027573b53 for delegate.request [0.319530010223] seconds

Also rancher-sever logs has these exceptions thrown constantly:
INFO: Running /var/lib/cattle/download/ipsec-hosts/ipsec-hosts-138-43e5f6f2e4c495147a22ff1e593a5cb33f30a7d64bf9516ba68f45d1ab3c3923/apply.sh
INFO: HOME -> ./
INFO: HOME -> ./etc/
INFO: HOME -> ./etc/cattle/
INFO: HOME -> ./etc/cattle/ipsec/
INFO: HOME -> ./etc/cattle/ipsec/config.json
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) Failed to connect to localhost port 8111: Connection refused
Failed to reload ipsec config
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) Failed to connect to localhost port 8111: Connection refused
curl: (3) [globbing] unmatched brace in column 1
[[scripts.sh:184] script_env
[[scripts.sh:109] '[' -n http://<IP_ADDRESS>:8080/v1 ']'
[[scripts.sh:110] return
[[scripts.sh:186] export CATTLE_HOME=/var/lib/cattle
[[scripts.sh:186] CATTLE_HOME=/var/lib/cattle
[[scripts.sh:187] export CATTLE_CONFIG_URL=http://<IP_ADDRESS>:8080/v1
[[scripts.sh:187] CATTLE_CONFIG_URL=http://<IP_ADDRESS>:8080/v1
[[scripts.sh:188] export CATTLE_STORAGE_URL=http://<IP_ADDRESS>:8080/v1
[[scripts.sh:188] CATTLE_STORAGE_URL=http://<IP_ADDRESS>:8080/v1
[apply.sh:5] stage_files
[scripts.sh:77] local monit=false
[scripts.sh:79] '[' -d content-home ']'
[scripts.sh:80] find content-home -name '*.sh' -exec chmod +x '{}' ';'
[scripts.sh:81] sed 's/^/INFO: HOME -> /'
[scripts.sh:81] tar xvf - --no-overwrite-dir -C /var/lib/cattle
[scripts.sh:81] tar cf - -C content-home .
INFO: HOME -> ./
INFO: HOME -> ./etc/
INFO: HOME -> ./etc/cattle/
INFO: HOME -> ./etc/cattle/ipsec/
INFO: HOME -> ./etc/cattle/ipsec/config.json
[scripts.sh:84] '[' -d content ']'
[scripts.sh:102] '[' false = true ']'
[apply.sh:7] '[' '' '!=' true ']'
[apply.sh:8] curl -f http://localhost:8111/v1/reload
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) Failed to connect to localhost port 8111: Connection refused
[apply.sh:9] echo Failed to reload ipsec config
Failed to reload ipsec config
[apply.sh:10] curl http://localhost:8111/v1/reload '{'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) Failed to connect to localhost port 8111: Connection refused
curl: (3) [globbing] unmatched brace in column 1

Tested with rancher-server version - V0.56.0-rc4
Had global Lb service with target services that were global , few health check enabled global services and other services.
power down one of the hosts.
host goes to "reconnecting" state and the health check enabled instances get marked for removal , global service gets to degraded state and back to "healthy" state.
power on the host.
When host gets to "Active" state , new instances for the global services (both LB service and regular services) get deployed successfully.
Repeated above steps few times and did not see the instances getting stuck in "networking" state.


'parse issue:expected a type'

I am new to Quickblox,I need to integrate with my Application,I have an issue with QMServiceDeployment.
Steps Followed:
i)Creating a Xcode Project
ii)Created a Cocoapods
pod 'QMServices'
iii)After successfully created the pods and opened my xcode workspace,It shows me 'parse issue:expected a type'
Can you please give me an idea/redirect me to solve my issue.
Thanks,
Shangari c.

Hi,
Seems like you are using Xcode 6 instead of 7, thats why it can't understand generics. You need to update your Xcode.

We will fix this issue for Xcode 6 in the next version.

Fixed in 0.3.2.


CORS response headers not applied when request origin not in explicit origins list

Describe the bug
Note: this was reproduced using an external auth service configuration (configured as an API gateway plugin). It's unclear at this time whether it affects the default authservice functionality that ships with AES
When one specifies an explicit list of origin values in the ambassador Module's cors spec, and the preflight request's Origin is not in this whitelist, the preflight request is sent to the auth service first, then forwarded to the API service where it will likely fail as the API service expects Ambassador to handle CORS concerns.
I don't believe it's intended that preflight requests should ever be routed to an API service, as the edge stack should handle that for us. When the request's origin is found in the whitelist, the preflight request is only sent to the auth service (as expected).
To Reproduce

Deploy an external auth service to your cluster alongside ambassador.

Ensure it can respond appropriately to CORS preflight OPTIONS requests (credentials will not be present)

Configure ambassador to disable the default auth service.
Configure ambassador to use the AuthService plugin instead and point it at your external auth service.
Provide a basic cors config with an explicit origins list in the ambassador Module

    cors:
        origins: "https://www.google.com"  # for example
        methods: GET, POST, PUT, PATCH, OPTIONS, DELETE
        headers: "*"
        exposed_headers: "*"
        max_age: "86400"

Deploy a back end API service and an associated mapping
Make a "non-simple" CORS request to your back end service

Ensure that the request origin is not in the whitelist (i used chrome dev tools while on wikipedia's home page)
This is the simplest example to reproduce this behavior. You can achieve the same results even if you provide credentials on the request or modify the cors: spec to allow credentialed requests. See the attached document for a more complete listing.

fetch(
  'https://*******.com/edge/echo/ping',
  {
    mode: 'cors',
    method: 'POST',
    body: "{}",
    headers: {
      'Content-Type': 'application/json',
    }
  }
)

Observe:

the preflight request is successfully handled by the auth service (returns 200)

it's likely that having the auth service return a 4XX here if it determines origin is not allowed will prevent the preflight request from being forwarded to the API service. However, it still seems like a bug to send preflight requests to the API service regardless of the auth result.

the preflight request is forwarded to the API service (this is the unexpected part)
the API service returns a 401

the 401 behavior is somewhat particular to our setup, but I'm including it here for completeness and noting that this may also play a part in the preflight response not having any CORS response headers

Expected behavior

[Most important] Ambassador should not forward the preflight request to the API service under any circumstances.
Ambassador should apply the remaining appropriate CORS response headers to the preflight request, even if the origin is not whitelisted, possibly informed by the auth service. In this case, it perhaps it should be that the Access-Control-Allow-Origin header is not present or is the empty string.
Ambassador should respond with a 200 status code to the preflight OPTIONS request.

There seems to be some wiggle room here in the CORS spec, so perhaps a 4XX is also acceptable. I believe browsers rely solely on the presence of the Access-Control-Allow-* headers to determine whether to deliver the response to the app or not and the status code is ignored.

Versions (please complete the following information):

Ambassador chart version: 6.5.9
Kubernetes environment: Self-managed on AWS
Ambassador version: 1.8.0

Additional context
I don't know if this is an Ambassador problem or an Envoy-proxy problem.
See the attached document for more details (and another type of CORS issue I have encountered)
ambassador-cors-experiment.pdf
This seems possibly related to these issues:
#2030
#2455

Observe:

the preflight request is successfully handled by the auth service (returns 200)
a. it's likely that having the auth service return a 4XX here if it determines origin is not allowed will prevent the preflight request from being forwarded to the api service. However, it still seems like a bug to send preflight requests to the API service regardless of the auth result.

I've confirmed that having the auth service reply to the preflight OPTIONS request with a 400 will prevent it from being forwarded to the API service. The response to the client has the 400 status code, whatever body the auth service generated and no CORS response headers.

The workaround noted on #3051 can apply here, too.
I'll copy the content here for completeness:

Casey Kurosawa offered a suggestion in the #ambassador slack channel, which was to add the desired CORS headers to the AuthService allowed_authorization_headers list.
Though the docs only mention that these headers will be added to the request as it's sent upstream, it appears that they are also applied to the response as it's sent back downstream, regardless of whether the request was allowed by the auth service or not.
While this will allow us to work around the behavior described here, I don't think it's ideal. Now it means that we have to maintain CORS configuration in two places - once in the AuthService CRD configuration and a second time in the auth service's implementation. Ideally, we would only need to specify it in the CRD and leave the auth service implementation happily CORS-unaware.
Another downside of this work-around is that the behavior is not consistent between authenticated calls and non-authenticated calls. Authenticated calls use the CRD configuration as the source-of-truth. Whereas calls that fail authentication will receive the response header values provided by the auth service. If one is careful to keep the configurations in sync, this isn't too troublesome, but it's still confusing.

We are experiencing the same issue in our product: we use external service to acknowledge API access and in case of 4xx errors client's browser fails with CORS error in the console.
As a workaround we also keep CORS in two places now: CRD and auth-service code with CORS taken configuration.
We deploy to Openshift so at least we have single variable with the same CORS parameters which are injected both to CRD and auth-service, which seems at least minimizes the drawback of the workaround mentioned by @jcwilson.
Hoping to get it fixed soon anyway. Thank you.

keeping this one alive for now

+1


Fixed broken link in exercise notebook3

Closes #145
Updated the link in the documentation for exercise  03_where_is_my_reader to direct to the right URL.

Sorry I forgot to tell you, please add your name to the top of the file underneath me and Gemma
Also, please could you add the change from char to short in this PR too? Thanks!


CalcManager Packaging

CalcManager Packaging
Problem Statement

Currently, CalcManager/CalcEngine is implemented in C++ as part of Calculator. Some teams may want to reuse it as an independent library package. Besides, if we want to convert Calculator App to C#, we need to wrap the CalcEngine in C#.
Evidence or User Insights

Potential Consumers

PowerToys (currently use https://github.com/FlorianRappl/Mages , and they want to switch off it)

Proposal

Concepts

Package Name
Description

Ratpack
Rational Package - to do arbitrary-precision rational math calculation

CalcEngine
Abstraction of the calculation and commands used in Calculator

CalcManager
Integration of different CalcEngine modes (Standard, Scientific, ...)

Functional Requirements

Calculator Engine
(accept operator/operand commands and calculate the result to display)
Arbitrary-precision rational calculation
Expression parsing *

Localization support *
Customizable aliasing (e.g. arcsin v.s. inverse sin v.s. sin^-1) *

Expression evaluation *

The requirements with star (*) are not implemented yet, but will be published eventually.
Usage Requirements
CalcEngine will be consumed by ourselves and 1P teams thru NuGet package.
For us, we need a C# wrapper for CalcEngine, because we will do C# conversion for Calculator App.
In sum, we have the following usage requirements:

Independent NuGet package
C# wrapper

Portability Requirements
OS

Windows

x86
x64
ARM32
ARM64

Languages

C/C++
C#

.NET Core 3
.NET 5

Implementation Requirements
Ratpak and CalcEngine are implemented in C++, which won't be changed.

Maintain Ratpack and CalcEngine in C++
CalcEngine should remain in the Calculator repo

Design Proposal
Choice of Packaging Techniques
To enable interop between C++ and C#, we have 3 choices:

Expose C API from C++
consumed by C# thru P-Invoke
Expose COM components from C++
consumed by C# thru COM
Expose WinRT components from C++ thru C++/WinRT
consumed by C# thru C#/WinRT

Comparison

C API
COM
WinRT

Supported Platforms
All
Windows Only
Windows Only

Supported Languages
All thru FFI
All with great efforts
C/C++/C#/Rust/Python with WinRT libraryAll with great efforts

Programming Paradigm
Procedure-oriented
OOP
OOP

Development Experience
Easy😊
Painful😱
Medium😐

Community Engagement
Widely used
😒
Not popular yet

Error Handling
Catch all explicitly and return error code
Catch all explicitly and return HRESULT
Catch all implicitly by C++/WinRT library and return HRESULT

This is your friendly Microsoft Issue Bot. I've seen this issue come in and have gone to tell a human about it.


"Single shortcut = multiple positions" idea

I'm not good at explaining things, so I will try to show.
If you implement this feature, [Positions] part of the Gridy.ini could look like this (silly example):
[Positions]
Position1 =0,330,840,690
Position2 =0,330,1680,690
Position3 =840,330,840,690
Position4 =0,0,840,1020
Position5 =450,225,720,600
Position5 =405,165,900,720
Position5 =300,75,1155,915
Position6 =840,0,840,1020
Position7 =0,0,840,330
Position8 =0,0,1680,330
Position9 =840,0,840,330
Position10=128,64,512,512
Position11=544,64,512,512
Position12=768,64,512,512

Do you notice multiple Position5 entries? This means when you press Win+Numpad5 you will get:
Position5 =450,225,720,600
But if you press Numpad5 the second time you will get:
Position5 =405,165,900,720
And the third time you will get:
Position5 =300,75,1155,915
This is something like in Explorer, if you click once you select a file, but if you click twice you open a file.
Since we are talking about keyboard keys (no mouse "clicking like crazy" limitations) we can have as many positions as we want in a single shortcut (in my example, only 3 for Win+Numpad5).
This will not affect regular users, only those who open Gridy.ini and add their own multiple positions.
Gridy could show position of a active window in a tray icon tooltip. Currently it only shows %NameString% + %VersionString%.
So what do you think? Good idea or too much work for something which will only advanced users use?

Its a nice idea, but:

I am not in favor of features that can only be configured in the INI file. This is especially true for complex features, like writing window position manually.
The proposed configuration syntax will not work - INI file cannot have more than one key with the same name.
Yes, it is probably too much work... :)

Understandable, thank you for giving it a thought.


Freedom for the  default style

Issue : <nav> is directly styled by it's tag name
Hi Materialize and thank you for your great work. :tada:
Is it intentional to directly style the <nav> tag ?
If it's not intentional, would you consider to avoid to do it ? Would you like a pull request ?
Demo
Codepen

Arguments
If it is intentional, I'm afraid it's considered bad practises.
Here is a few arguments :

Multiple <nav> in a page is a legit use case
<nav> may not be "navbar" or "toolbar"
<nav> elements are important for accessibility and SEO.
Separation of concerns applies to HTML & CSS
Material Design Spec seems to be aware of this concern.
The way the <nav> is styled in Materialize make it hard to override. (nesting depth of CSS selectors)

I understand this would be a breaking change but I hope you'll understand the necessity of it.
Thank you for your time
Cheers

I guess this requires a bigger rewrite of the component and would be a breaking change.
And I think it would be good to extend this to other components where components have no context and no classes and are solely styled depending on the tags.
This would also fix other issues like https://github.com/Dogfalo/materialize/issues/4764 and ease the general usage with own styles.

@tomscholz @fega could we create a board for this and collect related issues?

What do you in mind?

Meant project https://github.com/Dogfalo/materialize/projects
Still confusing this with Trello and other solutions.
We should collect the affected files and components and mark the lines using the commit hashes.
Probably one component after another but as separate branch for a later release so things do not break too often (eg each new release brings a new refactored component).
Maybe as bleeding edge non-stable for testers and not as normal release and as new major release (probably also refactoring and replace jQuery with vanilla JavaScript) after SemVer.

Thank you for your quick answers. You guys are really reactive, that's amazing.
200% agreed with you @DanielRuf.
I'd suggest you'll adopt SemVer after refactoring all components or ship every breaking change in a same release, otherwise you'll end up with a Materialize v36.0.0 pretty fast. It might be confusing for users and might damage your "brand trust".
A cautious road map might be :

Refactor component's style one after another in an incremental release path upon 0.x.x
Achievable goal. Ease integration with 3rd party. Fast ROI. Everyone is happy.
Adopt SemVer and ship 1.0.0
Send a strong signal to the community about your ambitions.
Intent to drop jQuery dependency step by step in a separate VanillaJS branch.
Make a public announcement. Call for help among contributors and plugin developers.
Merge successively every 1.x.x releases upon VanillaJS branch as the developpement / maintenance of 1.x.x progresses.
Will help the final merge.
Perform a final merge when VanillaJS branch is ready, and start a release canditate cycle.
Start to gather feedbacks from the community and adjust to them.
Ship 2.0.0
Celebrate and get drunk. (IRL)

Intending to drop jQuery will be savage as Materialize have many dependencies on jQuery plugins (datepicker, srollspy, etc). You could also loose the jQuery addicted fanbase... Moreover, I feel jQuery is not a big entry cost for most projects as it still very popular, already shipped with WordPress, faster than before and easly accessible with CDNs. I tend to personally see Materialize as a "big jQuery plugin" even if I'm not a big jQuery fan myself.
I'm not even sure my point 4. would welp as it'd become be a total rewrite.
On the other hand, the idea to be ES6/ES7 compliant might be very well received by the community and could galvenize everyone to start contributing. Being able to promote yourself as a dependency free framework would also be a big marketing argument.
So, a big investment cost for a low short term ROI, I guess many product managers would lough at us. But we worth better than that, don't we ? We understand the sake of a sustainable long term CI.
People used to say adopt early is important, let's say so does drop early.
Gathering the community is the key here, why not create a survey ?
Why not also adopt TypeScript ? Okay, let's not get too excited here.

@donacross I totally agree with all your points and your thoughts about this and these are some good recommendations for a possible roadmap.
Sure, jQuery is stll part of some other dependencies.
The goal is to have more performant and native ES6/7 components as jQuery as abstraction layer adds some unneeded overhead and constraint in many cases.
This would also make the components consumable for more projects and solutions where you do or can not directly work with the real DOM.
The ideal solution in this case would be truly independent components which could be easier leveraged in projects based on React, Vue.js and other solutions.
@fega @tomscholz your thoughts on this?

Sounds great, I'd be happy to help.

I thought about this problem too and thought about fixing it by myself but I didtn have the time.
The global styling in materialize-css really prevents me from using it because I have an existing codebase and it would be huge effort to rewrite my existing components.

See #5004


chebi_import no longer has bio-chebi GCIs

chebi_import is a module constructed from bio-chebi.owl
previously, creation of the module would bring in all the relevant GCIs from bio-chebi. From the Makefile:
# see go/ontology/docs/ for full details
# we need to bring in axioms from both bio-chebi (conjugate base axioms) as well as substance-by-role
CHEBIRELS = RO:0000057 RO:0002233 RO:0002234 RO:0002313 RO:0002233 RO:0002332 RO:0002340  RO:0002345 BFO:0000051 RO:0000087 GOCHEREL:0000000 GOCHEREL:0000001 GOCHEREL:0000002  GOCHEREL:0000003 GOCHEREL:0000004
chebi_import.owl: $(IMPORT_SEED)
    owltools --use-catalog $< bio-chebi.owl --add-imports-from-supports --extract-module -s $(OBO)/go/extensions/bio-chebi.owl -c  --make-subset-by-properties -f $(CHEBIRELS) // --remove-annotation-assertions -r -l  --set-ontology-id $(OBO)/go/extensions/$@ -o $@

This seems to have stopped working. On plane wifi, can't investigate much further. One hypothesis is that SLME behavior changed between owlapi3 and 4. We really eed better documentation on the SLME as it is so central.

@cmungall, @kltm Any news on the status of this?

Should be fixed with r37060 and r37061
It turns out none of our hypotheses were correct. The SLME was working fine. The issue was a post-processing owltools step was being too aggressive in filtering out object properties, and ended up removing the GCIs
I changed this:
owltools --use-catalog $< bio-chebi.owl --add-imports-from-supports --extract-module -s (OBO)/go/extensions/bio-chebi.owl -c  --make-subset-by-properties -f $(CHEBIRELS) // -remove-annotation-assertions -r -l  --set-ontology-id $(OBO)/go/extensions/$@ -o $@

So -n is used instead of -f after the --make-subset-by-properties command. The former forces any axioms with dangling refs to be deleted. Not entirely clear why this worked at some point, it may well have been some time ago and it was only when we switched to dynamic imports we saw this

Lots of changed inferences:
http://build.berkeleybop.org/job/build-go/7736/artifact/ontology/editors/go_inferences.diff/*view*/

For my own learning: could you give an example of such an axiom with dangling ref that would have been removed with the -f option? What does -n do instead?

Me too!

This is an obscure corner case to do with OPs. Better defined
functioality should be added to robot


Replacing causes new files with the "-E" suffix

How can I configure spectre to replace the selections inplace?

I got the same issue. I hope to have a solution to this problem.

Is there a way to make this automatically happen on mac and not on linux?
Something like:
require("spectre").setup({
  replace_engine = {
    ["sed"] = {
      cmd = "sed",
      args = {
        "-i",
	"",
	"-E",
      } if OSX else {},
    },
  },


Move webhook codes from service to webhook notification

As title. Also fix a bug notifications will not be triggered when delete comment.

Codecov Report

Merging #8712 into master will decrease coverage by 0.03%.
The diff coverage is 53.08%.

@@            Coverage Diff             @@
##           master    #8712      +/-   ##
==========================================
- Coverage   41.68%   41.64%   -0.04%
==========================================
  Files         533      533
  Lines       68738    68745       +7
==========================================
- Hits        28650    28629      -21
- Misses      36411    36432      +21
- Partials     3677     3684       +7

Impacted Files
Coverage Δ

routers/api/v1/repo/issue_comment.go
53.7% <ø> (-0.81%)
:arrow_down:

modules/notification/indexer/indexer.go
48.27% <0%> (-16.54%)
:arrow_down:

routers/repo/issue.go
34.21% <0%> (ø)
:arrow_up:

services/comments/comments.go
28.16% <100%> (-10.9%)
:arrow_down:

modules/notification/webhook/webhook.go
47.71% <54.16%> (+2.17%)
:arrow_up:

models/unit.go
62.16% <0%> (-5.41%)
:arrow_down:

modules/notification/base/null.go
59.09% <0%> (-4.55%)
:arrow_down:

models/repo_indexer.go
66.54% <0%> (-3.64%)
:arrow_down:

modules/migrations/migrate.go
21.22% <0%> (-1.68%)
:arrow_down:

... and 7 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 c66c9da...59588cc. Read the comment docs.


Update to Rust 1.81.0

Should this include an update to https://github.com/googleforgames/quilkin/blob/main/rust-toolchain.toml?
Last time I tried to upgrade Rust, I ran into issues with pprof as well.

Should this include an update to https://github.com/googleforgames/quilkin/blob/main/rust-toolchain.toml?

It does

Last time I tried to upgrade Rust, I ran into issues with pprof as well.

Yeah, I've been noticing that issue in another project, going to need to resolve that.

Should this include an update to https://github.com/googleforgames/quilkin/blob/main/rust-toolchain.toml?

It does

Whoops! I swear I triple checked to see if it was there.


Azure Firewall with Firewall Policy

Is your feature request related to a problem? Please describe.

Azure Firewall supports properties like application rule collection,network rule collection and dnat rule collection. We would like to extract these into a separate entity called firewall policy. So the user can just specify the firewall policy on the azure firewall instead of the rule collections. We should have a check on firewall. The user can either have firewall policy OR rule collections.

Azure Firewall should have a support for the field called virtual hub. This field indicated the virtual hub Id the firewall is attached to.

Azure Firewall should have a support for the field called Sku. This Sku indicates if the firewall is on Virtual Hub or Virtual Network

Describe the solution you'd like
The above details indicate the changes needed
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
Sample firewall
Firewall policy and the rule collections are mutually exclusive
With Firewall Policy
{   "name": "sujith-fw5",   "id": "/subscriptions/aeb5b02a-0f18-45a4-86d6-81808115cacf/resourceGroups/ankapooFPTest1/providers/Microsoft.Network/azureFirewalls/sujith-fw5",   "etag": "W/\"e250cec4-d2de-4600-b39e-bc530dd0f9e8\"",   "type": "Microsoft.Network/azureFirewalls",   "location": "centraluseuap",   "tags": {},   "properties": {     "provisioningState": "Succeeded",     "sku": {       "name": "AZFW_VNet",       "tier": "Standard"     },     "threatIntelMode": "Alert",     "ipConfigurations": [       {         "name": "IpConf",         "id": "/subscriptions/aeb5b02a-0f18-45a4-86d6-81808115cacf/resourceGroups/ankapooFPTest1/providers/Microsoft.Network/azureFirewalls/sujith-fw5/azureFirewallIpConfigurations/IpConf",         "etag": "W/\"e250cec4-d2de-4600-b39e-bc530dd0f9e8\"",         "type": "Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations",         "properties": {           "provisioningState": "Succeeded",           "privateIPAddress": "<IP_ADDRESS>",           "privateIPAllocationMethod": "Dynamic",           "publicIPAddress": {             "id": "/subscriptions/aeb5b02a-0f18-45a4-86d6-81808115cacf/resourceGroups/ankapooFPTest1/providers/Microsoft.Network/publicIPAddresses/sujith-pip5"           },           "subnet": {             "id": "/subscriptions/aeb5b02a-0f18-45a4-86d6-81808115cacf/resourceGroups/ankapooFPTest1/providers/Microsoft.Network/virtualNetworks/sujith-vnet5/subnets/AzureFirewallSubnet"           }         }       }     ],     "networkRuleCollections": [],     "applicationRuleCollections": [],     "natRuleCollections": [],     "firewallPolicy": {       "id": "/subscriptions/aeb5b02a-0f18-45a4-86d6-81808115cacf/resourceGroups/ankapooFPTest1/providers/Microsoft.Network/firewallPolicies/isguSujithP4"     }   } }
With Rule Collections:
{   "name": "sujith-fw3",   "id": "/subscriptions/aeb5b02a-0f18-45a4-86d6-81808115cacf/resourceGroups/ankapooFPTest1/providers/Microsoft.Network/azureFirewalls/sujith-fw3",   "etag": "W/\"edfc5eb5-734f-48f7-ab68-984c578df90d\"",   "type": "Microsoft.Network/azureFirewalls",   "location": "centraluseuap",   "tags": {},   "properties": {     "provisioningState": "Failed",     "sku": {       "name": "AZFW_VNet",       "tier": "Standard"     },     "threatIntelMode": "Alert",     "ipConfigurations": [       {         "name": "IpConf",         "id": "/subscriptions/aeb5b02a-0f18-45a4-86d6-81808115cacf/resourceGroups/ankapooFPTest1/providers/Microsoft.Network/azureFirewalls/sujith-fw3/azureFirewallIpConfigurations/IpConf",         "etag": "W/\"edfc5eb5-734f-48f7-ab68-984c578df90d\"",         "type": "Microsoft.Network/azureFirewalls/azureFirewallIpConfigurations",         "properties": {           "provisioningState": "Succeeded",           "privateIPAddress": "<IP_ADDRESS>",           "privateIPAllocationMethod": "Dynamic",           "publicIPAddress": {             "id": "/subscriptions/aeb5b02a-0f18-45a4-86d6-81808115cacf/resourceGroups/centralUSE_Liz/providers/Microsoft.Network/publicIPAddresses/fafa"           },           "subnet": {             "id": "/subscriptions/aeb5b02a-0f18-45a4-86d6-81808115cacf/resourceGroups/ankapooFPTest1/providers/Microsoft.Network/virtualNetworks/sujith-vnet3/subnets/AzureFirewallSubnet"           }         }       }     ],     "networkRuleCollections": [],     "applicationRuleCollections": [       {         "name": "apprc1",         "id": "/subscriptions/aeb5b02a-0f18-45a4-86d6-81808115cacf/resourceGroups/ankapooFPTest1/providers/Microsoft.Network/azureFirewalls/sujith-fw3/applicationRuleCollections/apprc1",         "etag": "W/\"edfc5eb5-734f-48f7-ab68-984c578df90d\"",         "properties": {           "provisioningState": "Failed",           "priority": 200,           "action": {             "type": "Allow"           },           "rules": [             {               "name": "goog",               "priority": 0,               "direction": "Inbound",               "protocols": [                 {                   "protocolType": "Http",                   "port": 80                 }               ],               "fqdnTags": [],               "targetFqdns": [                 "www.google.com"               ],               "actions": [],               "sourceAddresses": [                 "*"               ]             }           ]         },         "type": "Microsoft.Network/azureFirewalls/applicationRuleCollections"       }     ],     "natRuleCollections": []   } }
Swagger Link
https://github.com/Azure/azure-rest-api-specs/blob/network-december-release/specification/network/resource-manager/Microsoft.Network/stable/2019-11-01/azureFirewall.json
PowerShell reference
https://github.com/Azure/azure-powershell/blob/master/src/Network/Network/Models/AzureFirewall/PSAzureFirewall.cs
We have pending powershell changes to have a check to allow just either firewall policy or rule collections on the firewall. This is work in progress

@MyronFanQiu , please help take a look, thanks.

I just wanted to follow up if we are on track for the release for feb 18 :)

@saisujithreddym should be fine. I will do it in this week.