format-all doesn't find project root for Elixir files

format-all now includes logic to find the project root of Elixir files to run the formatter from there instead of the buffers directory. This is required because mix format only applies its config (.formatter.exs) if it is in the current working directory, this file is located in the project root. format-all tries to find the project root by going upwards until it finds a mix.exs, which is always in the root directory of Elixir projects.
It seems that dooms modifications of format-all somehow break this logic, since format-all always thinks the buffers directory is the project root, see https://github.com/lassik/emacs-format-all-the-code/issues/36#issuecomment-499064762 for more details.
Example with format-all-debug enabled:
*Messages*
Format-All: Running: /Users/work/.asdf/shims/mix format -
Format-All: Directory: /Users/work/dev/redacted/redacted-backend/lib/redacted_web/
Formatted (mix-format)

Project layout:
~/dev/redacted/redacted-backend/lib/redacted_web
❯ file mix.exs
mix.exs: cannot open `mix.exs' (No such file or directory)

~/dev/redacted/redacted-backend/lib/redacted_web
❯ file ../mix.exs
../mix.exs: cannot open `../mix.exs' (No such file or directory)

~/dev/redacted/redacted-backend/lib/redacted_web
❯ file ../../mix.exs
../../mix.exs: Ruby script text, ASCII text # (no idea why file thinks this is a ruby script)

The relevant commit in format-all that added this logic is this one: https://github.com/lassik/emacs-format-all-the-code/commit/4f458bd8f67ec6032e7e25e9c2be2dea0d978d78

13f5a76 should resolve this issue. Please update and let me know if that isn't the case and I will reopen this issue. Thanks for letting me know (and for the detailed bug report -- it was a huge help)!


Idea for new tool and block form request

I had an idea for a Dark Spade/Shovel. When its empowered and digs a gravity effected block (e.g. sand & gravel) it removes the blocks above the dug block. I was thinking 3 blocks for Empowered 1, 5 for 2, 8 for 3 and 12 for 4, or something like that. Also can you add a block form of the alloys, esp. Dark Steel, Energetic Alloy, Vibrant Alloy, and Pulsating Iron.

Block forms have been added for all ingots


BytesAhoCorasick could release the GIL if the haystack is a bytes object

Currently BytesAhoCorasick.find_matches_as_indexes() does not release the GIL for soundness reasons: the haystack could be mutated while searching is happening. (The patterns are stored within the Rust library, so GIL is irrelevant to them.)
However, bytes objects are contractually immutable, and are likely to be a common input. As such, there should be a special-case code path that releases the GIL when searching a bytes haystack.

@iscgar if you'd like to do this.


Refs #34233 -- Used str.removeprefix()/removesuffix().

See https://peps.python.org/pep-0616/.

@ngnpope Thanks :+1: I pushed edits.

Thanks both :gift:


Implement a FixAllProvider for SA1100

Fixes #1383
Timing chart for Roslyn.sln (76 violations):

Operation
Fixer
Time

Replace BaseExpressionSyntax with ThisExpressionSyntax
Batch
13899ms

Replace BaseExpressionSyntax with ThisExpressionSyntax
Custom
7629ms

Replace text contained in the BaseKeyword token
Custom
4584ms

:+1:


update copy

Thank you for your contribution to the IC Developer Portal.
Before submitting your Pull Request, please make sure that:

[ ] You have updated the .github/CODEOWNERS file according to your changes.
[ ] You have registered new documents to /sidebars.js if any.

@sesi200 the layout bug was because of the asset canister bug. It should now use the unreleased dfx version to serve the app.


JSON encoder still using pickle/binary encoding

I'm using SqliteDict to have persistent storage of a dict. For debugging purposes, I want to save the dict as JSON/ASCII, so I can edit it manually.
from sqlitedict import SqliteDict
mydict = SqliteDict('./my_db.sqlite', encode=json.dumps, decode=json.loads, autocommit=True)
mydict['key'] = 'value'

However, the resulting file is a binary (I assume pickle) file. Am I doing something wrong?

The resulting file is a SQLite database: https://www.sqlite.org/fileformat.html
You can export all DB rows into plain JSON/ASCII:
with open("db_export.json", "w") as fout:
    json.dump(my_sqlite_dict.items(), fout)

… but then why do you need the SQLite database at all?

Ah, I understand, then I misunderstand the library. I just want a dictionary that automatically syncs to a file on each change.
Do you have any suggestions how I can achieve that?

Yeah that's what sqlitedict does. The file it syncs to is a SQLite database (binary).

Thanks! Misunderstood it :) but now I found https://pypi.org/project/jsondict/ which does exactly what I want


Nuget v1.0.1 issues

Hi. First of all thanks for the plugin =) I collected few problems I was facing. If something that I described is unclear please write.

SideActionBarSamplePage code doesn't work on iOS platform when I'm using using Nuget package.
https://streamable.com/yzlor
If I'm launching the sample project from GitHub, everything works.

First move - swiping few ListView items, second move - try to swap another item. As you can see in video, only one item returns to previous state. Other swiped items remain shifted.
https://streamable.com/4xdcd

When set "FlowDirection=RightToLeft", swipe functional become broken:
https://streamable.com/k0q4n

@IgorPopov56 Hi, thank you very much for feedback

Call ContextMenuScrollViewRenderer.Initialize() in AppDelagate for iOS for preserving linking. (I updated Readme :) )

Wow.. good case :) really i didn't design the plugin fro such cases. Need to investigate, how to fix it WITHOUT memory leaks :) I am not keen to store in memory all cells.

Seems like Xamarin.Forms issue..

@AndreiMisiukevich About point 3 ("FlowDirection=RightToLeft"). I found out WHY it happens. ViewStack (of type StackLayout), than contains ContentView and ContextView, is changing the order of elements. That's why Context is left view, Content - right. Scroll logic doesn't change from the value of the variable FlowDirection.
So when "ForceCloseContextMenu" method executes ("await view.ScrollToAsync(0, 0, animated);"), ListViewItem from UI point of view becoming like this:
http://prntscr.com/lt44eb

@IgorPopov56 Are there any ideas how to fix it?)

@AndreiMisiukevich For now the only idea is to add support of RTL in code (re-create all the logic for RTL, inserting the correct values in methods (for example, ScrollTo).

RTL: i'm not keen to support RTL for this nuget.
Everybody should feel free to contribute it :)


New workflow submission - Start a Workflow within a Workflow

Note the following information for the model:
Name: workflow-within-a-workflow
Description: This sample project demonstrates how to use an AWS Step Functions state machine to launch other state machine executions. The state machine combines workflows using a Step Functions StartExecution task state with various integration patterns.
Simplicity: 1 - Fundamental
Language: Javascript
Diagram: Included in the PR.
PR: #181
Type: Standard
Framework: SAM
Author: Zainab Allawi

merged


[web] Use createElement for elements

Summary
Using createElement will apply RN StyleSheet styles properly and reset the styling.
This also fixes the testID by mapping it to the attribute data-testid.

Test Plan

What's required for testing (prerequisites)?
What are the steps to reproduce (after prerequisites)?
Compatibility

OS
Implemented

iOS
✅❌

Android
✅❌

Checklist

[ ] I have tested this on a device and a simulator
[ ] I added the documentation in README.md
[ ] I mentioned this change in CHANGELOG.md
[ ] I updated the typed files (TS and Flow)
[ ] I added a sample use of the API in the example project (example/App.js)

:tada: This PR is included in version 1.6.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[OpenBit] Add support for Core Blockchain Mainnet network

If this is your first time integrating, the following information is required

Core Chain is the first Bitcoin-aligned EVM-compatible Layer-1 blockchain
Social media links (twitter, website)
Any other useful material so we can get to know you better: https://docs.coredao.org/
Github: https://github.com/coredao-org

If you want to integrate a chain, you would need to provide

Name of the blockchain: Core Blockchain Mainnet
Type of the blockchain: EVM
Blockchain providers: https://rpc.coredao.org/
Metadata of the blockchain (chainId, paraId, addressPrefix, symbol,...)
Please check here: https://docs.coredao.org/docs/Dev-Guide/network-config#core-mainnet
Logo of the blockchain: https://www.figma.com/design/kx0dqXMzHmODOfWm9WMys0/02.OpenBit---Logo-Project?node-id=2242-515&t=W9ATE2z7pLJotDq1-4
Block explorers: https://scan.coredao.org/

If you want to integrate an asset (fungible token/ NFT), you would need to provide

Name of the asset: Core
Symbol of the asset: CORE
Origin blockchain of the asset: Core Blockchain Mainnet
Is it available on other blockchains? No
Metadata of the asset (symbol, decimals, smart contract address, on-chain metadata like assetId,...): Native
Logo of the token: https://www.figma.com/design/kx0dqXMzHmODOfWm9WMys0/02.OpenBit---Logo-Project?node-id=2242-515&t=W9ATE2z7pLJotDq1-4
Is your asset transferable? Yes
Is your asset listed on any exchange? Yes - https://www.coingecko.com/en/coins/core

holders: https://scan.coredao.org/accounts


SVPI-366 aws deploy

What does this PR do?
Shuffle kustomize yamls to have now 4 options of deployment:

minikube_vault
minikube_aws
openshift_vault
openshift_aws

I couldn't find a way how to do this better with kustomize. This approach is prone to get out of hands if we will need more configuration options as it defines overlays for all permutations. Any ideas are welcome, but I think this is the limit of kustomize and we would need something like helm to make this more generically configurable. It now looks like this:
            ┌────────┐  ┌─────┐   ┌────┐    ┌───┐  ┌───┐
            │ manager│  │oauth│   │rbac│    │svc│  │...│
            └────▲───┘  └──▲──┘   └──▲─┘    └─▲─┘  └─▲─┘
                 │         │         │        │      │
                 └─────────┼─────────┼────────┴──────┘
                           │ default │
                           └───▲──▲──┘
                               │  │
                  ┌─────┐      │  │   ┌───────┐
      ┌──────────►│ aws ├──────┘  └───┤ vault │◄──────┐
      │           └──▲──┘             └──▲────┘       │                        ▲
      │              │                   │            │               bases    │
      │              │                   │            │            ────────────┤
      │              │                   │            │             overlays   │
┌─────┴──────┐ ┌─────┴───────┐  ┌────────┴─────┐ ┌────┴──────────┐             ▼
│minikube_aws│ │openshift_aws│  │minikube_vault│ │openshift_vault│
└────────────┘ └─────────────┘  └──────────────┘ └───────────────┘

Like this, in infra-deployments we will need to change from using config/openshift to config/overlays/openshift_vault and then with AWS to config/overlays/openshift_aws.
TODO:

test and prepare update for infra-deployments

Screenshot/screencast of this PR

What issues does this PR fix or reference?

https://issues.redhat.com/browse/SVPI-366
How to test this PR?

There are 4 overlays, deploy with either of these:

make deploy_openshift # openshift with vault, functionally has not changed
make deploy_minikube # minikube with vault, functionally has not changed
make deploy_openshift_aws
make deploy_minikube_aws

for AWS, you need to manually create aws credentials secret. Once you login locally to AWS and you have ~/.aws folder with credentials and config files, you can create the secret with ./hack/aws-create-credentials-secret.sh.

Wdyt about removing ?
namePrefix: spi- # WARN: keep this in sync with the namespace defined in the prepare base

this has some other consequences, I'm not against, but I would do it in separate PR as it would require more changes on infra-deployment side


add-checker: flymake-collection-oxlint

Hello, @mohkale , I want to write a oxlint checker for js/ts, but it returns no diagnostic at all, would you please help me  a little bit?

@liuyinz

would you please help me a little bit?

Could you share an example of something that's supposed to produce lints so I can test your checker func against it? I tried just using a sample test but doesn't seem to work :/.


Update local cache when a project gets build

The extension should provide an option to export the package to the local cache as soon as we build it. This will help in workflows when the developer is modifying code in packages and both are linked. This will help in local debugging.

This feature is not needed I guess, I was thinking of using it while debugging libraries, user may need to update local cache on build, but to perform that task conan already have an feature named Packages in editable mode. So closing this ticket.


Bump telegraf version, introducing dcos related metrics

High-level description
This PR bumps telegraf to include two custom input plugins, a prometheus output, and related configuration. It builds on top of #3120.
Corresponding DC/OS tickets (obligatory)
These DC/OS JIRA ticket(s) must be updated (ideally closed) in the moment this PR lands:

DCOS_OSS-3716 Write a Telegraf input plugin to get data for each container
DCOS_OSS-3717 Add Mesos service discovery to the Telegraf prometheus metrics input plugin

Checklist for all PRs

[x] Added a comprehensible changelog entry to CHANGES.md or explain why this is not a user-facing change:
[x] Included a test which will fail if code is reverted but test is not. If there is no test please explain here:
[x] Read the DC/OS contributing guidelines
[x] Followed relevant code rules Rules for Packages and Systemd

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[x] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[ ] Test Results: [link to CI job test results for component] (CI is not yet set up)
[ ] Code Coverage (if available): [link to code coverage report] (CI is not yet set up)

@mesosphere-mergebot bump-ee

@mesosphere-mergebot bump-ee

@mesosphere-mergebot label ready for review

@branden and @klueska , mind giving this a look over?

@mesosphere-mergebot bump-ee

@mesosphere-mergebot bump-ee

Closing this out; these changes would make metrics temporarily less useful on master and we have been asked not to take the incremental approach.


upstream-community-operators [R] mongodb-enterprise (1.10.0 1.11.0)

Signed-off-by: chatton<EMAIL_ADDRESS>Thanks submitting your Operator. Please check below list before you create your Pull Request.
New Submissions

[ ] Are you familiar with our contribution guidelines?
[ ] Have you packaged and deployed your Operator for Operator Framework?

[ ] Have you tested your Operator in all supported installation modes?
[ ] Have you considered whether you want use semantic versioning order?
[ ] Is your submission signed?
[ ] Is operator icon set?

Updates to existing Operators

[x] Did you create a ci.yaml file according to the update instructions?
[x] Is your new CSV pointing to the previous version with the replaces property if you chose replaces-mode via the updateGraph property in ci.yaml?
[x] Is your new CSV referenced in the appropriate channel defined in the package.yaml or annotations.yaml ?
[x] Have you tested an update to your Operator when deployed via OLM?
[x] Is your submission signed?

Your submission should not

[x] Modify more than one operator
[x] Modify an Operator you don't own
[x] Rename an operator - please remove and add with a different name instead
[x] Submit operators to both upstream-community-operators and community-operators at once
[x] Modify any files outside the above mentioned folders
[x] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[x] Description about the managed Application and where to find more information
[x] Features and capabilities of your Operator and how to use it
[x] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[x] Human readable name and 1-liner description about your Operator
[x] Valid category name1
[x] One of the pre-defined capability levels2
[x] Links to the maintainer, source code and documentation
[x] Example templates for all Custom Resource Definitions intended to be used
[x] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here

/merge possible

@irajdeep since you are previous contributor, can you have a look at changes if ok with you? And maybe you can consider:

Current PR can be merged automatically, but there is missing authorized-changes label. One can find out more info here.

/merge possible


Add SpinnerUI protocol

Hello,
Thank you for your package. It is really easy to make powerful CLI with it.
We found one issue with it though. This library assumes that output goes to stdout. In iOS and SwiftCLI it not a case. SwiftCLI provides it's own abstraction (WritableStream) on stdout.
So I extracted all rendering to SpinnerUI protocol and moved Stdout implementation to StdOutSpinnerUI.
I didn't added SwiftCLI implementation, but it will look like this:

struct SwiftCLISpinnerUI: SpinnerUI {
  private let _stdout: WritableStream

  init(stdout: WritableStream) {
    _stdout = stdout
  }

  func display(string: String) {
    _stdout.write("\r" + string)
  }

  func hideCursor() {
    _stdout.write("\u{001B}[?25l")
  }

  func unhideCursor() {
    _stdout.write("\u{001B}[?25h")
  }

}

Inside commands I can use Spinner like this now:
let spinner Spinner(.dots, message, ui: SwiftCLISpinnerUI(stdout: stdout))

Thank you for your contribution, sorry this took a while to get around too reviewing 🚀

@yury this has been released in 1.4.0


Document node version 18.18

It's already in the ansible group_vars: https://github.com/pulibrary/princeton_ansible/blob/main/group_vars/imagecat_rails/main.yml#L17
Add it to .tool-versions

Closed by #220


Add to map: geocoder / address search

Add to the Map, a address search geocoder.
Trying to keep the map UI slim, a on-map magnifying-glass button could work well, to link to a new geocoder page. Address box, bounce it off Nominatim, zoom the map and head back to the Map page.
This being a template app, we won't be able to predict preferred use case and layout style, but having one at all would be a big step toward folks customizing it.
Bonus points: include Google and Bing geocoder JavaScript snippets. Despite being nonfunctional, with some comments about adding an API key, this could again go a long way toward someone having a working geocoded of their preference, in minutes.

Added leaflet-control-geocoder as well as attribution in about.html
The UI is so sharp and compact, I'll keep it as is.


ObservableCollection becomes ObservableCollectionT

Visual Studio 2015
We use NSwag command line to generate our client proxies from post build events when building our micro services. The first generation of the client proxies comes out fine - collections (such as List) become ObservableCollection. We have another layer of micro services (aggregates) that consume these proxies, and in turn this layer of micro services generate their own proxies.
What we see is that collections that were defined as ObservableCollection (where T can either be a primitive or some class object) becomes an ObservableCollectionOf[Class], with no discernible properties. The [Class] is generated in the proxy code, but the collection of that class (ObservableCollectionOf[Class]) is does not make any reference to that class.
NSwag has been great so far and we'd like to continue using it. Any thoughts as to how to get around this?

It seems that NSwag does not handle ObservableCollection as array but generic classes... I think this should be easy to fix...

Sounds good. We're currently in the development phase of our project. Any idea as to when this would be addressed? If this isn't able to be addressed relatively soon, might there be a workaround we could employ in the meantime?

Cant you use list instead of obscollection (arraytype setting in cs gen)?

Yes - I just tried this and my collections are now of type List[T]. I'll get with the other developers to check if this works. Thank you for your help.

Fixed: https://github.com/NJsonSchema/NJsonSchema/commit/fe577cd860f09fa21133721a5933f2204310244f

https://github.com/NSwag/NSwag/commit/db1bbe9b348831dd939488683dea0197045d2378

You can now use the CI artifacts .msi with the fix: https://ci.appveyor.com/project/rsuter/nswag-25x6o

Ok i broke the build, will fix it later today..


Add lock files

This upgrades mafia and adds lock files for 7.8.4 and 7.10.2
Lets see how this works out! :)
/cc @tranma

this includes all transitive dependencies, yeah? didn't expect statistics to be there :+1:

yeah that is pretty surprising!

@tranma
$ ./mafia depends statistics --tree
criterion-<IP_ADDRESS>
 └─╼ statistics-<IP_ADDRESS>


WSL2 Allows to create files and folders with Windows Reserved Name

Using WSL 2, it is possible to create files and folders that can't exist in a Windows operating system
MSDN - Naming Files, Paths, and Namespaces
Windows Version
Microsoft Windows [Version 10.0.19041.207]
Commands:
mkdir /mnt/c/aux
echo "nul" > /mnt/c/aux/nul
echo "con" > /mnt/c/aux/con.exe

Excepted behavior:
Probably a Permission denied error
Actual behavior:
Working without any issue.
explorer.exe . can not open a directory with a reserved name, neither can code .
However, code . using the WSL - Remote option can open a folder containing impossible files (and open impossible files without issues)

WSL users are just extreme like that. 😉

This is by design. You can also do this by calling the NtCreateFile API (not the Win32 createfile) api.  WSL just makes it easier.

It make sense :)
Thanks for the answer !


Feat: Adding a "Premium" option

Describe the feature
A "Premium" option should be made available on the website. A dedicated webpage should be created to display a comparison between the features of the "FREE" and "PRO" plans.
Add ScreenShots
The attached video below demonstrates how the premium option webpage is displayed on Spotify.
https://github.com/Satyam1923/Spring-Music-Player/assets/153659573/e6586ee3-2270-4d58-8551-7f47cf1442c8
Record

[X] I agree to follow this project's Code of Conduct
[X] I have checked the existing issues
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@AkshitGarg24 no requirement for my side.


Add xml documentation

Added the XML documentation for all the classes and interfaces

Squashed all commits because it's mostly documentation edition and it has few value to keep all history.


support for multiple primary keys

Minor change that shouldn't have any breaking effects if your primary key is called 'id', otherwise you will have to change your param names in the route.

I'm closing out this PR as commit c56a1637dda6806594e89e8c4eb19a4926aa07ae introduced support for having multiple keys in the path.


Render Word documents as images

Is the feature request related to a problem
I notice the VerifySyncFusion_Word.cs extracts text only and not a screenshot of the Word document, as the VerifySyncFusion_Pdf.cs class does. Ref https://github.com/VerifyTests/Verify.Syncfusion/blob/main/src/Verify.Syncfusion/VerifySyncfusion_Word.cs#L51.
Describe the solution
Using the DocIORenderer class from the Syncfusion.DocIORenderer.Net.Core nuget it is possible to render Word documents as images, and I would be happy to create a PR for this.
Describe alternatives considered
Would be great if most (or all) of the VerifySyncFusion*-classes both extracted text and images/screenshots of the documents that are verified
Additional context
As mentioned above, I would be happy to contribute a PR with the changes suggested above

happy to accept a PR for this


Update php libraries to fix security issues

Running composer audit with current versions of php libraries will reveal a lot of security issues, as mentioned  #180
Some of them are critical, like this in php-jwt lib
https://security.snyk.io/vuln/SNYK-PHP-FIREBASEPHPJWT-2434829
So this is update to php libraries, which does not break anything.
Also disabled empty plugin functionality, because it is not used anywhere.

I've been working on a general overhaul of all dependencies and docker images.
Could you please not disable module functionality though? I know of usage and it may be missed in a merge.

Closing as it's being merged in #194


Do not include function-type properties in codegen

@jackkleeman Do you know offhand how function-type property values are sent back by pkl server?

hmm, no i dont, i thought it was basically only sending pcf-renderable info, i guess?


Added GnuDemanglerFormat, changed analyzer options

All available demangler formats have been added to GnuDemanglerFormat. The options in GnuDemanglerAnalyzer now only reflect the available formats to remove any user error when specifying a format. This also prevents a format from being used on a demangler which doesn't support it.
Fixes #1770
Is there a way to make the "Use Deprecated Demangler" option disappear when not applicable? It currently is only disappearing/reappearing after the options are saved or the user clicks analyze which isn't helpful. The other option would be to just leave it and changing the option just won't do anything when not applicable.

All available demangler formats have been added to GnuDemanglerFormat. The options in GnuDemanglerAnalyzer now only reflect the available formats to remove any user error when specifying a format. This also prevents a format from being used on a demangler which doesn't support it.
Fixes #1770
Is there a way to make the "Use Deprecated Demangler" option disappear when not applicable? It currently is only disappearing/reappearing after the options are saved or the user clicks analyze which isn't helpful. The other option would be to just leave it and changing the option just won't do anything when not applicable.

This sounds like a bug.  I would have to dig into it to truly understand what is the issue.

Is there a way to make the "Use Deprecated Demangler" option disappear when not applicable? It currently is only disappearing/reappearing after the options are saved or the user clicks analyze which isn't helpful. The other option would be to just leave it and changing the option just won't do anything when not applicable.

This sounds like a bug. I would have to dig into it to truly understand what is the issue.

optionsChanged gets scheduled by the AutoAnalysisManager. I would need a way of knowing about the change exactly when it occurs to do this.

Is there a way to make the "Use Deprecated Demangler" option disappear when not applicable? It currently is only disappearing/reappearing after the options are saved or the user clicks analyze which isn't helpful. The other option would be to just leave it and changing the option just won't do anything when not applicable.

This sounds like a bug. I would have to dig into it to truly understand what is the issue.

optionsChanged gets scheduled by the AutoAnalysisManager. I would need a way of knowing about the change exactly when it occurs to do this.

In that case, the option may need to be registered using a custom editor, which contains its own UI widgets and can add listeners directly to them.   The register option method has a version that takes a property editor.    If you are interested in making a custom editor, you can see other clients of that method.  If not, this is something we can fix after this is merged.

Is there a way to make the "Use Deprecated Demangler" option disappear when not applicable? It currently is only disappearing/reappearing after the options are saved or the user clicks analyze which isn't helpful. The other option would be to just leave it and changing the option just won't do anything when not applicable.

This sounds like a bug. I would have to dig into it to truly understand what is the issue.

optionsChanged gets scheduled by the AutoAnalysisManager. I would need a way of knowing about the change exactly when it occurs to do this.

In that case, the option may need to be registered using a custom editor, which contains its own UI widgets and can add listeners directly to them. The register option method has a version that takes a property editor. If you are interested in making a custom editor, you can see other clients of that method. If not, this is something we can fix after this is merged.

It shouldn't be too difficult if the default one is extendable. I'd just need to make the format option's editor change the visibility of the deprecated option's Component correct?

@dragonmacher glad to see I'm not the only one who gets hit with accidentally editing instead of quoting another user on GitHub. Seriously though it was just me who did this.

@dragonmacher glad to see I'm not the only one who gets hit with accidentally editing instead of quoting another user on GitHub. Seriously though it was just me who did this. rofl

Hahaha.  I didn't even notice I did that.

@dragonmacher glad to see I'm not the only one who gets hit with accidentally editing instead of quoting another user on GitHub. Seriously though it was just me who did this. rofl

Hahaha. I didn't even notice I did that. It looks like you are leaving a message to yourself.
(I'll blame it on the UI)

Yea it positions things differently when you are a collaborator vs when you're not and it's easy to be caught off guard.
Please take a careful look at the help changes. I feel it needs to be abundantly clear that the deprecated demangler will be used for the older formats regardless of the option but I'm not sure how to best make that stand out.

I'm also unsure if the only demangle known symbols is still necessary or not. It seems to me that it's original purpose was to prevent non mangled symbols being detected as gnu format by the 'auto' format when only gnuv3 mangled symbols are present. I left it in because I'm unsure of the overhead associated with passing symbols to the demangler that are known to not be mangled.

I'm also unsure if the only demangle known symbols is still necessary or not. It seems to me that it's original purpose was to prevent non mangled symbols being detected as gnu format by the 'auto' format when only gnuv3 mangled symbols are present. I left it in because I'm unsure of the overhead associated with passing symbols to the demangler that are known to not be mangled.
testDemangleOnlyKnownPatterns_True fails because of this but I'd argue that it should as the modern demangler's auto format knows not to demangle it. Edit: On second thought I need to relook at that as it should return null.

The intent of this flag is to avoid demangling non-mangled text that the demangler thinks is a mangled.

The way the code is currently structured in this branch, with regard to the deprecated format options, is different than the way it worked before.
To be as clear as possible, the existing code (9.1)  has this basic workflow:

By default, only use the modern demangler, even if it no longer supports the selected format.
If selected, the 'Use Deprecated Demangler' option will also call the v2.24 demangler if the v2.33.2 demangler fails

The intent here is that we wish to avoid using the older, less secure demangler by default.  However, we appreciate that users may wish to run the older demanlger to use formats unsupported by the modern demangler.   I think the important point here is that we want the user to have to explicitly enable that option.
Going forward, we could have this happen based upon which format is selected, as you have done here,  but we would rather have the user have to explicitly make that choice.   To that end, for this branch to be merged, the options  usage (and help/tests) has to be changed to work how it used to.
Assuming you have no objections, you can make the change(s) or I can make them before I merge your branch in.  Let us know how you wish to proceed.

The way the code is currently structured in this branch, with regard to the deprecated format options, is different than the way it worked before.
To be as clear as possible, the existing code (9.1) has this basic workflow:

By default, only use the modern demangler, even if it no longer supports the selected format.
If selected, the 'Use Deprecated Demangler' option will also call the v2.24 demangler if the v2.33.2 demangler fails

The intent here is that we wish to avoid using the older, less secure demangler by default. However, we appreciate that users may wish to run the older demanlger to use formats unsupported by the modern demangler. I think the important point here is that we want the user to have to explicitly enable that option.
Going forward, we could have this happen based upon which format is selected, as you have done here, but we would rather have the user have to explicitly make that choice. To that end, for this branch to be merged, the options usage (and help/tests) has to be changed to work how it used to.
Assuming you have no objections, you can make the change(s) or I can make them before I merge your branch in. Let us know how you wish to proceed.

This would make things considerably more complicated but I think the best of both worlds would be to only have the deprecated formats appear in the list when the option is enabled. It makes the most sense to me to do it that way from the ui perspective if possible.

By default, only use the modern demangler, even if it no longer supports the selected format.
If selected, the 'Use Deprecated Demangler' option will also call the v2.24 demangler if the v2.33.2 demangler fails

These two are a problem. What ends up occurring is the native process is started with the specified format and then terminates and an IOException occurs because it doesn't support that format. Then when the next mangled symbol comes along it tries to start the native process again which results in the same failure due to the unsupported format. This repeats thousands of times depending on how many symbols are present in the program and can result in a significant performance hit. In order to ensure that this cannot occur an IllegalArgumentException is now being thrown if GnuDemanglerOptions is constructed with an invalid pair or an invalid pair is attempted to be set.

I understand the performance concern.
(You know, this branch reminds me of how complicated this was to get right in the first place, with regard to presenting the user with options.)
TL;DR: if we make the right assumptions, I think we can simplify the options, using only a single drop-down/enum.
I will articulate all use cases I can think of for this feature.  The users wants to demangle using:

modern with AUTO format
modern with specified format
modern with AUTO 1st; fallback to deprecated with AUTO
modern with specific format 1st; fallback to deprecated with specific format
deprecated with AUTO format
deprecated with specific format

(Correct me if I am missing any cases).
Options 4 and 5 are not needed, assuming that the modern demangler will always work whenever the deprecated demangler would work, for a supported format.   If this is true, then the enum can be setup to capture this workflow, such as (with the trailing text being appended to the name in the combo box):

AUTO_MODERN
AUTO_WITH_DEPRECATED " (fallback to deprecated)"
DLANG
GNAT
GNUV3
JAVA
RUST
ARM " (deprecated)"
EDG " (deprecated)"
GNU " (deprecated)"
HP " (deprecated)"
LUCID " (deprecated)"

Using only one combo box is easy for the user.  The help can explain what the values in the box mean.
Additionally, the way this branch is currently structured, number 3 above will not work.   Some of the deleted code inside of the analyzer would have to be put back.
So, the questions are:

Do you think this suggestion is good enough for the user?
If yes to 1, then is making the change worth the effort?

For question 2, I think this comes down to how clunky/confusing 9.1 is vs how much effort is required to affect this change.   For me, I think the proposed solution is cleaner and easier for the user.  I also think the 9.1 solution is good enough.  If you have the desire to make this change, we will support the effort.  Either way, thanks for you effort so far.

I was finishing up the custom editor when I saw the comment so I wrapped it up and put into a separate commit to make the differences easier to review. It didn't take too much effort to get the custom editor setup either.
The only time I know of where the modern demangler wouldn't work and the deprecated one will is when set to AUTO and the mangling format is determined to be gnu (ie gcc2). However, with the options split and never falling back the "Demangle Only Known Mangled Symbols" option could be removed because the problem only occurred due to the non-obvious gnu mangling scheme. Using AUTO or GNU on the deprecated demangler would essential be the same as setting "Demangle Only Known Mangled Symbols" to false in Ghidra 9.0. Code could also be removed from the GnuDemangler if that option is scrapped.
My only gripes with your suggestion is that I feel it is unnecessary to create duplicate entries in GnuDemanglerFormat and the length of the combo box entries varies so much.

and rebase failure.


Add standard metadata processing hook

What does this PR do?

Patch any .process_metadata(...) method as a no-op in case metadata collection is disabled on the Agent.
Note: this PR effectively proposes to treat such .process_metadata() method as the standard entrypoint to metadata processing/collection within a check. Eventually all integrations should switch to this style. In particular, new integrations should use this hook if adopted.
Alternative: based on the assumption that we should be able to refactor all integrations to submit metadata from a single method, should we reconsider the decorator approach originally suggested in #5748?
Motivation

Currently integrations that have to do extra processing to collect version metadata have to manually check for if self.is_metadata_collection_enabled() (added in #5748).
Example from Fluentd:
https://github.com/DataDog/integrations-core/blob/3bf7970ddf4254ba2a422b2f83ac5722a6a5321c/fluentd/datadog_checks/fluentd/fluentd.py#L99-L120
This is tedious, and leads to lots of non-standard approaches across integrations.
This proposal will bring some standardization to metadata collection.
Additional Notes

This change is backwards-compatible (declaring the method is optional)
The base check won't magically call .process_metadata(): integrations will still have to explicitly call it from within .check().

Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] PR title must be written as a CHANGELOG entry (see why)
[ ] Files changes must correspond to the primary purpose of the PR as described in the title (small unrelated changes should have their own PR)
[ ] PR must have changelog/ and integration/ labels attached

Closing for now in favor of #6084. (Note that CI build was failing for unrelated reasons.)


Godot Client: Create basic Register/Login Scene

Instead of hardcoding the register and login request to the API, create a page where the user can input their data to the API request.

Handler the successfull or failed attempt to login using signals within a Event Bus to show the user that the login was successfull or not


updated README.md

Description
added hyperlink to banner

Fixes #2918
Checklist

[x] I have reviewed my own code

please review and merge if it helped


Fix applying the block on the node that mined the block.

Fix #32 by adding the current node to the boot list

I'll give this a look through tomorrow, but may not merge it and instead implement a better fix (not hard coding the bootnodes in the Main.hs, but instead in a config file or using a cmd line argument). Thanks for your help so far in recognizing the issues!

This does not correctly address the non-bootnode p2p discovery bug.


Add fallback to basic auth for machine accounts

port of Hyperfoil/Horreum#1813 to the go client

I have tried different approaches for the java client. In the end settled for this approach in order to avoid migration to users.
Adding an option is possible, but it should be make consistent for all client implementations.

Yeah that's fair but I am not 100% sure this is going to work as you expected here.

For instance if you try to use wrong credentials agains a running system, it will still use the Bearer token approach without falling back to basic one


Creating base image as rounde image

May be this could already be in your class, but how can I make an image in round shape and convert it to a png format, so that it has smooth edges.

There's currently no method for that. You'd have to use an existing image and overlay it.


suite.placeholder: Speed up ansible.cephlab

By skipping the tags "user,pubkeys,nagios,nrpe" we can save ~3min per job, assuming users won't need to ssh in to a testnode while a job is running - which is probably very close to 100% of jobs.

Testing here: https://pulpito.ceph.com/zack-2023-03-13_23:47:48-smoke-main-distro-default-smithi/

The original run is still enqueued; I scheduled this with a better priority and all jobs passed:
https://pulpito.ceph.com/zack-2023-03-22_22:52:17-smoke-main-distro-default-smithi/

Tested here: https://pulpito.ceph.com/zack-2023-03-22_22:52:17-smoke-main-distro-default-smithi/
ansible timing (skipping nothing - current main branch behavior)

Thursday 23 March 2023  05:16:06 +0000 (0:00:00.427)       0:07:42.674 ********
===============================================================================
testnode : Install Amazon::S3. ---------------------------------------- 106.82s
users : Create all admin users with sudo access. ----------------------- 59.39s
users : Update authorized_keys using the keys repo --------------------- 46.26s
testnode : Ensure perl-doc and cpanminus is installed on apt systems. -- 23.61s

container-host : Install container packages ---------------------------- 14.29s
testnode : Upgrade packages --------------------------------------------- 5.86s
users : Remove revoked users -------------------------------------------- 4.63s

testnode : Create logical volume(s) ------------------------------------- 3.24s
users : Update authorized_keys for each user with literal keys ---------- 2.69s

Gathering Facts --------------------------------------------------------- 2.57s

container-host : Restart docker service --------------------------------- 2.43s
testnode : Update apt cache. -------------------------------------------- 2.14s

testnode : Install apt keys --------------------------------------------- 1.81s
container-host : Install registries-conf-ctl ---------------------------- 1.80s

testnode : List any leftover Ceph artifacts from previous jobs ---------- 1.26s

testnode : Write /scratch_devs ------------------------------------------ 1.24s
Gathering Facts --------------------------------------------------------- 1.22s

testnode : Install packages via pip ------------------------------------- 1.18s
Gathering Facts --------------------------------------------------------- 1.14s

ansible-managed : Create the cephlab_sudo sudoers.d file. --------------- 1.08s

so, what is the decision?

took another look, looks like it is good speed improvement, just wondering if there is a sense to include user,pubkeys by user request, like a teuthology-suite options, so it can override this options... or instead of doing this via ansible there is more sense to implement this is a provisioning feature
from my experience, when we run teuthology tests downstream, or "hypothetically" if the one might want to run test on customer side, they for sure don't want to give access to their nodes for anyone from ceph/keys


Errors running npm i to load extension

This may be an issue with my machine

This would appear to be how npm communicates it needs an update.


fix field name UniqueId to UniqueID

Fix json field name for this issue https://github.com/xNocken/replay-reader/issues/16

@xNocken
Thanks for your feedback. That's right. I fixed as you pointed out.

@xNocken
Can I ask you, how do you know that Epic changed format of replay file.

@xNocken Can I ask you, how do you know that Epic changed format of replay file.

I noticed its gone and checked the debug files and it was there with another casing. and epic loves to do rename things so 90% of the time when something stops working its epic renaming something or moving something into a component


Add Docker container for rq worker

I want to make redis less annoying in development. Right now you have to run a tmux session or something with the rq worker command going, but there are containers for that which we could chuck in the docker-compose.yml.

Working on this...


502 error  (111:Unknown error)

Occasionally, this error message may appear,Checking the debug log and discovering that the IP address of the other party has been obtained.What is the general reason for this
proxy_connect: upstream connect time failed (111: Unknown error ) while connecting to upstream

The proxy wanna to connect upstream peer, but it failed, with which there is some errors occuring during the TCP
3-way handshake, for example the peer send RST for your first SYN. It may be the firewall or local network problem.
If you find "timed out" string in error.log, it means that the proxy tries to connect upstream peer, but it timed out.

The proxy wanna to connect upstream peer, but it failed, with which there is some errors occuring during the TCP 3-way handshake, for example the peer send RST for your first SYN. It may be the firewall or local network problem.
If you find "timed out" string in error.log, it means that the proxy tries to connect upstream peer, but it timed out. A possible case is that the proxy send SYN to upstream peer, but it cannot receive 2nd SYN+ACK from the peer.
If your proxy server is in mainland CN and the website you're trying to access is outside of CN, you may experience connection issues accessing it usually.

我是从内地访问腾讯的域名，应该不存在墙或者其他问题，偶尔会出现这个去不情况，导致系统异常，所以想请教下网友们怎么解决

The proxy wanna to connect upstream peer, but it failed, with which there is some errors occuring during the TCP 3-way handshake, for example the peer send RST for your first SYN. It may be the firewall or local network problem.
If you find "timed out" string in error.log, it means that the proxy tries to connect upstream peer, but it timed out. A possible case is that the proxy send SYN to upstream peer, but it cannot receive 2nd SYN+ACK from the peer.
If your proxy server is in mainland CN and the website you're trying to access is outside of CN, you may experience connection issues accessing it usually.

我是从内地访问腾讯的域名，应该不存在墙或者其他网络上的问题，偶尔会出现这个去不情况，导致系统异常，所以想请教下网友们怎么解决

The proxy wanna to connect upstream peer, but it failed, with which there is some errors occuring during the TCP 3-way handshake, for example the peer send RST for your first SYN. It may be the firewall or local network problem.
If you find "timed out" string in error.log, it means that the proxy tries to connect upstream peer, but it timed out. A possible case is that the proxy send SYN to upstream peer, but it cannot receive 2nd SYN+ACK from the peer.
If your proxy server is in mainland CN and the website you're trying to access is outside of CN, you may experience connection issues accessing it usually.

我是从内地访问腾讯的域名，应该不存在墙或者其他网络上的问题，偶尔会出现这个情况，导致系统异常，所以想请教下网友们有什么办法解决

It appears that we could add reconnect logic to this module, as it currently lacks any retry mechanisms for connection failures. But I do not have any availabe time to implement this feature at the moment.


fix/swr infinite key

Status

READY/WIP/HOLD
Fix #1747
Description
A few sentences describing the overall goals of the pull request's commits.
Related PRs
List related PRs against other branches:

branch
PR

other_pr_production
link

other_pr_master
link

Todos

[ ] Tests
[ ] Documentation
[ ] Changelog Entry (unreleased)

Steps to Test or Reproduce
Outline the steps to test or reproduce the PR here.
> git pull --prune
> git checkout <branch>
> grunt jasmine

@AsselAlAssel @melloware
pageIndex is intentionally not implemented. This is to allow for flexible handling by receiving them as query parameters.
For example, for cursors or other names.
Can't you get around this problem by defining the query parameters in the OpenAPI definition?

@soartec-lab feel free to revert.  I don't use SWR so this seemed like a harmless change but i see the original design was intentional.


The signature sent does not match his true identity

I am using my private key with yubico token to which 5 identities are associated (5 different emails) if I send an encrypted email between them thunderbird reports me an error in the digital signature. this is because the signature sent is always that of the main identity and not that of the 5 used.
example if main identity is<EMAIL_ADDRESS>and I have 2 other examples<EMAIL_ADDRESS>and<EMAIL_ADDRESS>if I send email between the last two he will always send the signature with<EMAIL_ADDRESS>although I send it with another identity<EMAIL_ADDRESS>of the same key.

but if I use one of my 5 identities to send encrypted emails to an identity that is not mine, the signature of the identity used must be sent correctly, it does not always use the main one
the problem is the choice of signatures when I send encrypted emails among my 5 identities, always use the signature of the main identity

Please provide instructions on how to reproduce the issue. Please be more specific when you talk about identity. Do you mean identities configured in K-9 Mail? Please also specify which K-9 Mail version you are using.

Please provide instructions on how to reproduce the issue. Please be more specific when you talk about identity. Do you mean identities configured in K-9 Mail? Please also specify which K-9 Mail version you are using.

by identity I mean email.  On an openpgp key I entered 5 emails, when I send a rmail between them encrypted and signed in openpgp the signature regardless of which of the 5 emails I use for sending is always done with the main email.  if I send to a different email between k and 5 mine the signature is chosen correctly based on the email used.
use latest version k9mail 5.726

by identity I mean email.  On an openpgp key I entered 5 emails, when I send a rmail between them encrypted and signed in openpgp the signature regardless of which of the 5 emails I use for sending is always done with the main email.  if I send to a different email between k and 5 mine the signature is chosen correctly based on the email used.
use latest version k9mail 5.726

Please provide step by step instructions on what you're doing with as much detail as possible. I have no idea what you're doing with which email client and what the actual issue is.

Please provide step by step instructions on what you're doing with as much detail as possible. I have no idea what you're doing with which email client and what the actual issue is.

Step 1
I configure 5 emails on k9mail v5.726
( email=<EMAIL_ADDRESS><EMAIL_ADDRESS>and 3 more,, all 5 emails have a single openpgp reference key)
(main email appears to be<EMAIL_ADDRESS><EMAIL_ADDRESS>main identity openpgp
Step 2
(I send an encrypted email from one of my 5 emails to emails that are not mine, the signature is the correct one linked to the email) the recipient receives the item signed by<EMAIL_ADDRESS>or one of my other emails and here everything is ok
Step 3
Now if I try to send an encrypted email from<EMAIL_ADDRESS>to<EMAIL_ADDRESS>via k9mail and check the reception for example on thunderbird, the signature is made by<EMAIL_ADDRESS>while it should have been done by nero79 @ email.it
in practice k9mail chooses the right signature for emails not belonging to the same openpgp key, while always choose the main email as signature if you send between emails with the same openpgp key

Step 1
I configure 5 emails on k9mail v5.726
( email=<EMAIL_ADDRESS><EMAIL_ADDRESS>and 3 more,, all 5 emails have a single openpgp reference key)
(main email appears to be<EMAIL_ADDRESS><EMAIL_ADDRESS>main identity openpgp
Step 2
(I send an encrypted email from one of my 5 emails to emails that are not mine, the signature is the correct one linked to the email) the recipient receives the item signed by<EMAIL_ADDRESS>or one of my other emails and here everything is ok
Step 3
Now if I try to send an encrypted email from<EMAIL_ADDRESS>to<EMAIL_ADDRESS>via k9mail and check the reception for example on thunderbird, the signature is made by<EMAIL_ADDRESS>while it should have been done by nero79 @ email.it
in practice k9mail chooses the right signature for emails not belonging to the same openpgp key, while always choose the main email as signature if you send between emails with the same openpgp key

Messages are signed by the key. The signature doesn't contain information on which "identity" was used to sign the message. All a receiving client can do is look at the sender address and check to make sure it's associated with the key used to sign the message.
Maybe this is a bug in Thunderbird. Have you checked other email apps?

Messages are signed by the key. The signature doesn't contain information on which "identity" was used to sign the message. All a receiving client can do is look at the sender address and check to make sure it's associated with the key used to sign the message.
Maybe this is a bug in Thunderbird. Have you checked other email apps?

@cketti tomorrow I will check better.  maybe it can be Thunderbird since I use Key openpgp on a yubikey 5 Nfc.  and they don't support openpgp smartcards from v78 onwards well

@cketti tomorrow I will check better.  maybe it can be Thunderbird since I use Key openpgp on a yubikey 5 Nfc.  and they don't support openpgp smartcards from v78 onwards well


requireNativeComponent is not a function with react-native-web

Environment
react-native-web, storybook
Description
"requireNativeComponent is not a function" when using 3.0.0-rc.2 and react-native-web
Reproducible Demo
https://github.com/penx/react-mixer/tree/6126b45efefb9bd4b4e600d9a4e6191616d7a8c3
Steps to recreate:

npm init -y
npx -p @storybook/cli sb init --type react
add react-native-web to dependencies and in storybook webpack alias
add import Slider from '@react-native-community/slider'; to a story

TypeError: (0 , _reactNative.requireNativeComponent) is not a function
    at<EMAIL_ADDRESS>(http://localhost:6006/vendors~main.164a2871296ea09f7f00.bundle.js:115:255)

I'm also running into this problem with a few tests, particularly
react-native-safe-area-context
react-native-calendars
react-native-gesture-handler

I'm thinking this might be more of a react-native-web problem though

Has any solution been found for this? I cannot use React Native Slider in React Native Web.

+1

any news on this one? @penx did you resolve it somehow?

Any solution for this yet?

Yes, this one can be closed by #462
Thank you, @jspizziri!


Add Tint as a downstream compiler

This will be needed to supply the SPIRV-to-WGSL step.

I have integrated Tint into Slang (on a local branch only) as an experiment, and I'm now generating WGSL via the following steps:

Slang code (Input from file)
SPIR-V (Slang's internal SPIR-V generator)
Tint IR (Tint's SPIR-V reader)
WGSL (output from Tint's WGSL writer)

Here are some initial results showing

Compile command
Intermediate SPIR-V
Either output WGSL or an error

As can be seen from the results, I'm seeing TINT_UNIMPLEMENTED even on very basic Slang code, which is surprising to me.
I will investigate more closely if I'm not using something in the expected way. For example, perhaps results could be improved if I targeted lower shader model versions.

The Tint team informed me that the code paths involved in going via Tint IR is currently WIP, so I modified my local patch to go via 'Tint program' instead:

Slang code (Input from file)
SPIR-V (Slang's internal SPIR-V generator)
Tint program (Tint's SPIR-V reader)
WGSL (output from Tint's WGSL writer)

Here are the new results which now make sense and don't hit any unimplemented code paths.

After SIGGRAPH, it was decided that this MVP type of integration is probably not the most valuable for Slang -- it's fairly easy to use Slang and Tint together without necessarily integrating them like this.


After rename the folder, It can't work!

VSCode Version: Code 1.15.1 (41abd21afdf7424c89319ee7cb0445cc6f376959, 2017-08-16T18:07:25.676Z)
OS Version: Windows_NT x64 6.1.7601
Extensions:

Extension
Author (truncated)
Version

php-debug
fel
1.11.1

php-intellisense
fel
1.5.1

php-pack
fel
1.0.1

cpptools
ms-
0.12.3

sublime-keybindings
ms-
2.9.1

php-docblocker
nei
1.2.0

vscode-docker
Pet
0.0.16

(3 theme extensions excluded)

Steps to Reproduce:
1.vscode/
2.vscodes/
it can't work。

Reproduces without extensions: Yes/No

I don't understand what you renamed, and I don't understand the error message, can you translate it please?


Search for ornamental neume shape

Description
Perform a search for specific neume shapes and combinations of these across all the chants.
Details

Specifically, we aim to search for ornamental shapes (liquescences, quilisma, oriscus, pes stratus, etc.). The listing table can be found at this Conversion Table (GABC to MEI Neumes).md.

To quote from the ECHOES Project Report 2023:

Ornamental neumes such as liquescences were sometimes employed over specific words, or letter clusters, to signal that special attention must be given to their pronunciation. However, modern scholars are still puzzled by the inconsistency behind the use of these ornamental signs, as sometimes they appear randomly. Being able to search across a large quantity of chants (impossible to manage by the human eye) would potentially help unveil if any specific rules were implied behind the use of ornamental neumes. Therefore, retrieving the syllables where these special neumes are located and their music window (i.e., a few neumes preceding and following) could be useful for further study.

Explicit instructions

This search should be applicable to the whole corpus (the full database of files).

Maybe we can think of implementing some checkboxes that allow to select the chants on the database to which the user can apply this type of search to. There should be an option to select all.

Look for all <nc> elements with the following children elements:

<quilisma>
<liquescent>
<oriscus>

Retrieve the whole <syllable> that is the "grandparent" of that <nc>.

Retrieve the whole word where that syllable is (@martha-thomae will need to fix something on the MEI files for you to be able to detect the full word).

Results: List of results should be the list of retrieved syllables and corresponding word, together with a link to the chant containing them. When clicking on the chant link, the chant should be rendered in another tab.

Retrieve the whole word where that syllable is.
@martha-thomae will need to fix something on the MEI files for you to be able to detect the full word. Once this is fixed, you could use the attribute @wordpos of the <syl> element (found in <syllable>) to identify the beginning and end of a word.

Fixed! You can use the current MEI files of the GABCtoMEI repository.

I'm opening a new issue for the second half of this functionality - retrieving the syllable that the ornamental shape belongs to.


A small bug in DesiMock.py

Dear X,
Sorry to bother you, I just noticed that the bug I previously had fixed somehow still exist. Maybe it was an oversight on my part, I am really sorry for that.

merging


Cannot reach web service

Hello,
I followed the instruction but I cannot reach the webservice.
I checked the security group and set it to public.
but it still says "this page is not available".
Could anyone let me know what could be the reason?
Here is part of the process list that relevant to security monkey within in box:
postgres 13821     1  0 00:23 ?        00:00:05 /usr/lib/postgresql/9.3/bin/postgres -D /var/lib/postgresql/9.3/main -c config_file=/etc/postgresql/9.3/main/postgresql.conf
postgres 13823 13821  0 00:23 ?        00:00:00 postgres: checkpointer process
postgres 13824 13821  0 00:23 ?        00:00:00 postgres: writer process
postgres 13825 13821  0 00:23 ?        00:00:00 postgres: wal writer process
postgres 13826 13821  0 00:23 ?        00:00:02 postgres: autovacuum launcher process
postgres 13827 13821  0 00:23 ?        00:00:00 postgres: stats collector process
root     14575     2  0 00:27 ?        00:00:00 [kworker/u30:2]
root     14947     2  0 00:47 ?        00:00:00 [kworker/u30:1]
root     15190     1  0 01:48 ?        00:00:00 /usr/bin/python /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
www-data 15192 15190  0 01:48 ?        00:00:01 python /usr/local/src/security_monkey/manage.py run_api_server
www-data 15203 15192  0 01:48 ?        00:00:00 python /usr/local/src/security_monkey/manage.py run_api_server
www-data 15205 15192  0 01:48 ?        00:00:00 python /usr/local/src/security_monkey/manage.py run_api_server
www-data 15206 15192  0 01:48 ?        00:00:00 python /usr/local/src/security_monkey/manage.py run_api_server
www-data 15208 15192  0 01:48 ?        00:00:00 python /usr/local/src/security_monkey/manage.py run_api_server
www-data 15209 15192  0 01:48 ?        00:00:00 python /usr/local/src/security_monkey/manage.py run_api_server
www-data 15212 15192  0 01:48 ?        00:00:00 python /usr/local/src/security_monkey/manage.py run_api_server
root     15322     1  0 02:00 ?        00:00:00 nginx: master process /usr/sbin/nginx
www-data 15325 15322  0 02:00 ?        00:00:00 nginx: worker process
www-data 15326 15322  0 02:00 ?        00:00:00 nginx: worker process
www-data 15327 15322  0 02:00 ?        00:00:00 nginx: worker process
www-data 15328 15322  0 02:00 ?        00:00:00 nginx: worker process
root     15424  1075  0 02:33 ?        00:00:00 sshd: ubuntu [priv]

Thanks and look forward to hearing from you,

Hello @westlifezs
Can you ssh onto your instance and run sudo netstat -tlpn | grep nginx?  Then, while on that instance, try to curl localhost on the listed port numbers. You should get some HTML output representing Security Monkey.
If that works, then check if you have firewall rules on your instance blocking inbound access externally to that port (use sudo iptables -L).
Lastly, please verify that your security group is ingressing the proper TCP port that you have enabled in your NGINX configuration.
Please let us know if you are still having issues.
Thank You

Mike,
thanks for your response. I figured out the issue eventually. I should use https rather than http. However, I came across another issue. Now I can see the web interface. I could not see anything by clicking "search". However, I have already setup the account by following the wiki instructions. is there any other approach that I can verify where is the root cause for this issue?
Thanks,
Su

Hello @westlifezs
When you say that you set up an account, are you referring to the creation of a username/password for you to log in as, or are you referring to an AWS account to watch and audit?
Whenever you add or remove AWS accounts to audit, the scheduler must be restarted.
Thank You

I am talking about AWS account. I did restart the scheduler but I still can see nothing under the search button. is there anything I can do to diagnose this issue?
thanks.

Hello @westlifezs
Can you check out the logs? Assuming you are using the sample configuration in the quickstart, the file is /var/log/security_monkey/security_monkey-deploy.log.
If it is working properly, you should see something along the lines of: Slurping ....

Hi Mike,
Thanks for pointing me to the log.
I checked the log and found the following error. any hints? thx
2016-02-11 06:48:03,299 WARNING: Failed to connect to ses using boto. Check your boto credentials. <type 'exceptions.Exception'> 'AccessKeyId' [in /usr/local/src/security_monkey/security_monkey/common/ut
ils.py:87]
2016-02-11 06:48:03,305 WARNING: Traceback (most recent call last):
File "/usr/local/src/security_monkey/security_monkey/common/utils.py", line 84, in send_email
ses = boto.ses.connect_to_region(ses_region)
File "/usr/local/lib/python2.7/dist-packages/boto-2.36.0-py2.7.egg/boto/ses/init.py", line 51, in connect_to_region
return region.connect(**kw_params)
File "/usr/local/lib/python2.7/dist-packages/boto-2.36.0-py2.7.egg/boto/regioninfo.py", line 187, in connect
return self.connection_cls(region=self, **kw_params)
File "/usr/local/lib/python2.7/dist-packages/boto-2.36.0-py2.7.egg/boto/ses/connection.py", line 57, in init
profile_name=profile_name)
File "/usr/local/lib/python2.7/dist-packages/boto-2.36.0-py2.7.egg/boto/connection.py", line 555, in init
profile_name)
File "/usr/local/lib/python2.7/dist-packages/boto-2.36.0-py2.7.egg/boto/provider.py", line 200, in init
self.get_credentials(access_key, secret_key, security_token, profile_name)
File "/usr/local/lib/python2.7/dist-packages/boto-2.36.0-py2.7.egg/boto/provider.py", line 376, in get_credentials
self._populate_keys_from_metadata_server()
File "/usr/local/lib/python2.7/dist-packages/boto-2.36.0-py2.7.egg/boto/provider.py", line 395, in _populate_keys_from_metadata_server
self._access_key = security['AccessKeyId']
KeyError: 'AccessKeyId'
[in /usr/local/src/security_monkey/security_monkey/common/utils.py:88]
2016-02-11 06:49:03,658 WARNING: Failed to connect to ses using boto. Check your boto credentials. <type 'exceptions.Exception'> 'AccessKeyId' [in /usr/local/src/security_monkey/security_monkey/common/ut
ils.py:87]
2016-02-11 06:49:03,659 WARNING: Traceback (most recent call last):
File "/usr/local/src/security_monkey/security_monkey/common/utils.py", line 84, in send_email
ses = boto.ses.connect_to_region(ses_region)
File "/usr/local/lib/python2.7/dist-packages/boto-2.36.0-py2.7.egg/boto/ses/init.py", line 51, in connect_to_region
return region.connect(**kw_params)
File "/usr/local/lib/python2.7/dist-packages/boto-2.36.0-py2.7.egg/boto/regioninfo.py", line 187, in connect
return self.connection_cls(region=self, **kw_params)
File "/usr/local/lib/python2.7/dist-packages/boto-2.36.0-py2.7.egg/boto/ses/connection.py", line 57, in init
profile_name=profile_name)
File "/usr/local/lib/python2.7/dist-packages/boto-2.36.0-py2.7.egg/boto/connection.py", line 555, in init
profile_name)
File "/usr/local/lib/python2.7/dist-packages/boto-2.36.0-py2.7.egg/boto/provider.py", line 200, in init
self.get_credentials(access_key, secret_key, security_token, profile_name)
File "/usr/local/lib/python2.7/dist-packages/boto-2.36.0-py2.7.egg/boto/provider.py", line 376, in get_credentials
self._populate_keys_from_metadata_server()
File "/usr/local/lib/python2.7/dist-packages/boto-2.36.0-py2.7.egg/boto/provider.py", line 395, in _populate_keys_from_metadata_server
self._access_key = security['AccessKeyId']
KeyError: 'AccessKeyId'

I did not find anywhere mentioned AccessKeyId in http://securitymonkey.readthedocs.org/en/latest/index.html
Shall I specify it somewhere?

Security Monkey utilizes AWS on-instance credentials that are provided automatically to your instance. The Boto API knows how to obtain them.
Did you create the IAM roles and launch your instance with the Instance Profile specified in the Quickstart document?
You can find out which IAM role your instance is running with by executing the command:
curl http://<IP_ADDRESS>/latest/meta-data/iam/info/
The InstanceProfileArn is the instance profile at which your instance is running in. That instance profile is attached to an IAM role, which must then have `sts:AssumeRole

Security Monkey utilizes AWS on-instance credentials that are provided automatically to your instance. The Boto API knows how to obtain them.
Did you create the IAM roles and launch your instance with the Instance Profile specified in the Quickstart document?
You can find out which IAM role your instance is running with by executing the command:
curl http://<IP_ADDRESS>/latest/meta-data/iam/info/

curl http://PUBLIC_IP/latest/meta-data/iam/info/
curl: (7) Failed to connect to PUBLIC_IP port 80: Connection refused
I am showing the error above. I think this is because that I am using https.
Is there other ways to get this issue around?
thx

I checked through web UI and it shows:
IAM role SecurityMonkeyInstanceProfile
Am I right? I strictly followed the instruction while setting this up.

The curl command needs to be executed on the instance itself. The IP in the command: <IP_ADDRESS> gets information from the AWS on-instance metadata service.
Can you verify the launch configuration of your instance and check that it is launched into the SecurityMonkeyInstanceProfile?

I got the same error while running inside the box. either through sudo or not.
what do you mean by launch configuration? is it "SecurityMonkeyLaunchPerms" mentioned in the documentation? if so, then it will be the same as the documentation.
thx

by the way, shall I have a bogo config file in my box? I did not find the file. also security monkey does not mention anything about bogo. I checked bogo doc and it seems like such a config is needed. Could you let me know what the bogo config looks like in a healthy box? under which directory and what's the format? I am running ubuntu 1404 LTS. thx

Hi @westlifezs
Open your AWS account console, then go to the EC2 Console. In there, select "instances" and search for the instance that is running Security Monkey.  When you select the instance, there should be some information about the instance on the bottom of the page.
What is listed under "IAM Role"?
Boto is the AWS Python API that is used by Security Monkey to fetch information from AWS. It uses the on-instance metadata service to obtain the credentials -- you do not need to place any files on the instance with credentials. If the instance is not launched with the IAM role, then it will not be able to communicate with the on-instance metadata service and will thus fail to obtain AWS credentials to make API calls.

Sorry I misunderstood your explanation in my previous post.
I can successfully retrieve my credential from the curl call.
ubuntu@:~$ curl http://<IP_ADDRESS>/latest/meta-data/iam/info/
{
"Code" : "Success",
"LastUpdated" : "2016-02-12T00:32:15Z",
"InstanceProfileArn" : "arn:aws:iam::ACCOUNT_ID:instance-profile/SecurityMonkeyInstanceProfile",
"InstanceProfileId" : "LONG_STRING"
}
Does this look right?
Thx

as I mentioned earlier already, the IAM role is shown "SecurityMonkeyInstanceProfile" through web console.  anywhere else I should look into?
thx

That looks correct.
The next question is: are your roles configured properly?
Did you add the SecurityMonkeyInstanceProfile to the Trust Relationship of the SecurityMonkey role in the destination account? The SecurityMonkeyInstanceProfile also needs to have sts:AssumeRole access the destination account's SecurityMonkey IAM Role.

I think so.
Here is the trust policy of securityMonkey role.
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::ACCOUNT_ID:role/SecurityMonkeyInstanceProfile"
},
"Action": "sts:AssumeRole"
}
]
}
Anything else I can check?
thx!

That looks correct.  Can you check the SecurityMonkeyInstanceProfile, and check that it has sts:AssumeRole on the SecurityMonkey role ARN?

Here is it. Shall I put securitymonkey instead of "security_monkey_docker_user" in the file?
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::ACCOUNT_ID:user/security_monkey_docker_user"
},
"Action": "sts:AssumeRole"
}
]
}

Can you explain your setup a bit?
For example, are you running this in a Docker container?

no. it is running on an instance. I think this is probably the root cause. thanks for helping me to identify the issue.
However, while I am trying to update the trust policy by replacing "security_monkey_docker_user" with "SecurityMonkey", it cannot succeed. It will not update at all. also no error message is given after that. Do you have any suggestions to fix this issue?
Thanks,

Do you have an IAM role named SecurityMonkey in that account?

I think so. I only have one account. while clicking "roles", I can see both "SecurityMonkey" and "SecurityMonkeyInstanceProfile" in the list. does it imply SecurityMonkey role belongs to my account? Or is there another way to check it? Sorry I have not been using AWS for a long while.

Quick question: in the output above, you have ACCOUNT_ID.  Did you copy and paste that directly in here, or did you remove the actual account id from there?

Another thing: the ARN for this role should be:
arn:aws:iam::YOUR_ACCOUNT_ID:role/SecurityMonkey

I purposely hided our account_id. it should be a numeric value.

got u. I updated the policy successfully. thanks for pinpoint the issue. Should I restart the scheduler and then check the log?

Yes, please restart the scheduler.

I restarted the scheduler and checked the log and I hit another error.
It looks similar to the original error but not exactly the same. Here is the details:
2016-02-12 01:11:49,896 ERROR: Job "run_change_reporter (trigger: interval[0:15:00], next run at: 2016-02-12 01:26:49.493850)" raised an exception [in build/bdist.linux-x86_64/egg/apscheduler/scheduler.p
y:520]
Traceback (most recent call last):
File "build/bdist.linux-x86_64/egg/apscheduler/scheduler.py", line 512, in _run_job
retval = job.func(*job.args, **job.kwargs)
File "/usr/local/src/security_monkey/security_monkey/scheduler.py", line 46, in run_change_reporter
reporter.run(account, interval)
File "/usr/local/src/security_monkey/security_monkey/reporter.py", line 56, in run
(items, exception_map) = watcher.slurp()
File "/usr/local/src/security_monkey/security_monkey/watchers/elb.py", line 119, in slurp
self._setup_botocore(account)
File "/usr/local/src/security_monkey/security_monkey/watchers/elb.py", line 81, in _setup_botocore
self.botocore_session = connect(account, 'botocore')
File "/usr/local/src/security_monkey/security_monkey/common/sts_connect.py", line 50, in connect
sts = boto.connect_sts()
File "/usr/local/lib/python2.7/dist-packages/boto-2.36.0-py2.7.egg/boto/init.py", line 578, in connect_sts
return STSConnection(aws_access_key_id, aws_secret_access_key, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/boto-2.36.0-py2.7.egg/boto/sts/connection.py", line 107, in init
provider=provider)
File "/usr/local/lib/python2.7/dist-packages/boto-2.36.0-py2.7.egg/boto/connection.py", line 1099, in init
provider=provider)
File "/usr/local/lib/python2.7/dist-packages/boto-2.36.0-py2.7.egg/boto/connection.py", line 555, in init
profile_name)
File "/usr/local/lib/python2.7/dist-packages/boto-2.36.0-py2.7.egg/boto/provider.py", line 200, in init
self.get_credentials(access_key, secret_key, security_token, profile_name)
File "/usr/local/lib/python2.7/dist-packages/boto-2.36.0-py2.7.egg/boto/provider.py", line 376, in get_credentials
self._populate_keys_from_metadata_server()
File "/usr/local/lib/python2.7/dist-packages/boto-2.36.0-py2.7.egg/boto/provider.py", line 395, in _populate_keys_from_metadata_server
self._access_key = security['AccessKeyId']
KeyError: 'AccessKeyId'
any ideas?
Thank you.

it seems like the error is the same. Here is the error starting from the beginning of the scheduler restart.
2016-02-12 01:11:47,493 INFO: Adding job tentatively -- it will be properly scheduled when the scheduler starts [in build/bdist.linux-x86_64/egg/apscheduler/scheduler.py:287]
2016-02-12 01:11:47,494 INFO: Adding job tentatively -- it will be properly scheduled when the scheduler starts [in build/bdist.linux-x86_64/egg/apscheduler/scheduler.py:287]
2016-02-12 01:11:47,494 INFO: Added job "run_change_reporter (trigger: interval[0:15:00], next run at: 2016-02-12 01:11:49.493850)" to job store "default" [in build/bdist.linux-x86_64/egg/apscheduler/sch
eduler.py:262]
2016-02-12 01:11:47,494 INFO: Added job "_audit_changes (trigger: cron[day_of_week='mon-fri', hour='10'], next run at: 2016-02-12 10:00:00)" to job store "default" [in build/bdist.linux-x86_64/egg/apsche
duler/scheduler.py:262]
2016-02-12 01:11:47,494 INFO: Scheduler started [in build/bdist.linux-x86_64/egg/apscheduler/scheduler.py:574]
2016-02-12 01:11:47,494 DEBUG: Looking for jobs to run [in build/bdist.linux-x86_64/egg/apscheduler/scheduler.py:579]
2016-02-12 01:11:47,494 DEBUG: Next wakeup is due at 2016-02-12 01:11:49.493850 (in 1.998939 seconds) [in build/bdist.linux-x86_64/egg/apscheduler/scheduler.py:588]
2016-02-12 01:11:49,494 DEBUG: Looking for jobs to run [in build/bdist.linux-x86_64/egg/apscheduler/scheduler.py:579]
2016-02-12 01:11:49,494 DEBUG: Next wakeup is due at 2016-02-12 01:26:49.493850 (in 899.999495 seconds) [in build/bdist.linux-x86_64/egg/apscheduler/scheduler.py:588]
2016-02-12 01:11:49,494 DEBUG: Started worker thread [in build/bdist.linux-x86_64/egg/apscheduler/threadpool.py:69]
2016-02-12 01:11:49,494 INFO: Running job "run_change_reporter (trigger: interval[0:15:00], next run at: 2016-02-12 01:26:49.493850)" (scheduled at 2016-02-12 01:11:49.493850) [in build/bdist.linux-x86_6
4/egg/apscheduler/scheduler.py:509]
2016-02-12 01:11:49,528 INFO: Starting work on account cpedevtest. [in /usr/local/src/security_monkey/security_monkey/reporter.py:52]
2016-02-12 01:11:49,528 INFO: Running IAM Role for cpedevtest (15 minutes interval) [in /usr/local/src/security_monkey/security_monkey/reporter.py:55]
**2016-02-12 01:11:49,558 INFO: "Problem Connecting to iamrole/cpedevtest/None:\n'AccessKeyId'" [in /usr/local/src/security_monkey/security_monkey/exceptions.py:68]
**2016-02-12 01:11:49,559 DEBUG: Adding ('iamrole', u'cpedevtest', 'universal') to the exceptions list. Exception was: "Problem Connecting to iamrole/cpedevtest/None:\n'AccessKeyId'" [in /usr/local/src/sec
urity_monkey/security_monkey/watcher.py:161]
Saving Issues. [in /usr/local/src/security_monkey/security_monkey/auditor.py:147]
2016-02-12 01:11:49,562 DEBUG: Creating/Assigning Auditor Settings in account [u'cpedevtest'] and tech iamrole [in /usr/local/src/security_monkey/security_monkey/auditor.py:228]
2016-02-12 01:11:49,565 DEBUG: Done Creating/Assigning Auditor Settings in account [u'cpedevtest'] and tech iamrole [in /usr/local/src/security_monkey/security_monkey/auditor.py:240]
2016-02-12 01:11:49,565 INFO: 0 deleted IAM Roles in [u'cpedevtest'] [in /usr/local/src/security_monkey/security_monkey/watcher.py:355]
2016-02-12 01:11:49,565 INFO: 0 created IAM Roles in [u'cpedevtest'] [in /usr/local/src/security_monkey/security_monkey/watcher.py:356]
2016-02-12 01:11:49,566 INFO: 0 changed IAM Roles in [u'cpedevtest'] [in /usr/local/src/security_monkey/security_monkey/watcher.py:366]
2016-02-12 01:11:49,566 INFO: Account cpedevtest is done with IAM Role [in /usr/local/src/security_monkey/security_monkey/reporter.py:67]
2016-02-12 01:11:49,566 INFO: Running Subnet for cpedevtest (15 minutes interval) [in /usr/local/src/security_monkey/security_monkey/reporter.py:55]
2016-02-12 01:11:49,568 DEBUG: Checking subnet/cpedevtest/us-east-1 [in /usr/local/src/security_monkey/security_monkey/watchers/vpc/subnet.py:54]
2016-02-12 01:11:49,572 INFO: "Problem Connecting to subnet/cpedevtest/us-east-1:\n'AccessKeyId'" [in /usr/local/src/security_monkey/security_monkey/exceptions.py:68]
2016-02-12 01:11:49,572 DEBUG: Adding ('subnet', u'cpedevtest', u'us-east-1') to the exceptions list. Exception was: "Problem Connecting to subnet/cpedevtest/us-east-1:\n'AccessKeyId'" [in /usr/local/src
/security_monkey/security_monkey/watcher.py:161]
2016-02-12 01:11:49,572 DEBUG: Checking subnet/cpedevtest/cn-north-1 [in /usr/local/src/security_monkey/security_monkey/watchers/vpc/subnet.py:54]
2016-02-12 01:11:49,576 DEBUG: Checking subnet/cpedevtest/ap-northeast-1 [in /usr/local/src/security_monkey/security_monkey/watchers/vpc/subnet.py:54]
2016-02-12 01:11:49,580 INFO: "Problem Connecting to subnet/cpedevtest/ap-northeast-1:\n'AccessKeyId'" [in /usr/local/src/security_monkey/security_monkey/exceptions.py:68]
2016-02-12 01:11:49,581 DEBUG: Adding ('subnet', u'cpedevtest', u'ap-northeast-1') to the exceptions list. Exception was: "Problem Connecting to subnet/cpedevtest/ap-northeast-1:\n'AccessKeyId'" [in /usr
/local/src/security_monkey/security_monkey/watcher.py:161]

Which version of security monkey are you running?

Could you also provide us with the output from pip freeze?
Thank You

I installed it two days ago based on the instructions.
Therefore I believe it is the latest version.

ubuntu@ip-172-31-34-219:~$ pip freeze
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/commands/freeze.py", line 66, in run
dependency_links.extend(dist.get_metadata_lines('dependency_links.txt'))
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1369, in get_metadata_lines
return yield_lines(self.get_metadata(name))
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1361, in get_metadata
return self._get(self._fn(self.egg_info,name))
File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 1470, in _get
stream = open(path, 'rb')
IOError: [Errno 13] Permission denied: '/usr/local/lib/python2.7/dist-packages/python_dateutil-2.2-py2.7.egg/EGG-INFO/dependency_links.txt'
Storing debug log for failure in /home/ubuntu/.pip/pip.log
ubuntu@ip-172-31-34-219:~$

seems like I encountered a permission issue.
is there a way to config security monkey to run as root all the time?
thx

ubuntu@ip-172-31-34-219:~$ sudo pip freeze
APScheduler==2.1.2
BeautifulSoup==3.2.1
Cheetah==2.4.4
Flask==0.10.1
Flask-Login==0.2.10
Flask-Mail==0.9.0
Flask-Migrate==1.3.1
Flask-Principal==0.4.0
Flask-RESTful==0.3.3
Flask-SQLAlchemy==1.0
Flask-Script==0.6.3
Flask-Security==1.7.4
Flask-WTF==0.9.5
Jinja2==2.7.2
Landscape-Client==14.12
Mako==1.0.3
MarkupSafe==0.18
PAM==0.4.2
Paste==<IP_ADDRESS>
PyYAML==3.11
Pygments==2.1
SQLAlchemy==0.9.2
Sphinx==1.2.2
Twisted-Core==13.2.0
Twisted-Names==13.2.0
Twisted-Web==13.2.0
WTForms==1.0.5
Werkzeug==0.9.4
alembic==0.8.4
aniso8601==0.82
apt-xapian-index==0.45
argparse==1.2.1
arrow==0.4.2
bcrypt==2.0.0
blinker==1.4
boto==2.36.0
boto3==1.2.1
botocore==1.3.7
bottle==0.12.3
cffi==1.5.0
chardet==2.0.1
cloud-init==0.7.5
colorama==0.2.5
configobj==4.7.2
cryptography==1.0.2
dnspython==1.11.1
docutils==0.12
dpath==1.3.2
enum34==1.1.2
futures==2.2.0
gunicorn==18.0
html5lib==0.999
idna==2.0
ipaddr==2.1.11
ipaddress==1.0.16
ipython==1.2.0
itsdangerous==0.23
jira==0.32
jmespath==0.9.0
jsonpatch==1.3
jsonpointer==1.0
meld3==0.6.10
mock==1.0.1
nose==1.3.0
oauth==1.0.1
oauthlib==1.0.3
passlib==1.6.5
pika==0.9.13
prettytable==0.7.2
psycopg2==2.5.2
pyOpenSSL==0.13
pyasn1==0.1.9
pycparser==2.14
pycurl==7.19.3
pyserial==2.6
python-apt==<IP_ADDRESS>ubuntu2
python-dateutil==2.2
python-debian==0.1.21-nmu2ubuntu2
python-editor==0.5
python-memcached==1.53
pytz==2015.7
requests==2.2.1
requests-oauthlib==0.6.0
security-monkey==0.4.1
six==1.5.2
ssh-import-id==3.21
supervisor==3.0b2
tlslite==0.4.9
urllib3==1.7.1
wheel==0.24.0
wsgiref==0.1.2
zope.interface==4.0.5
ubuntu@ip-172-31-34-219:~$

it is "security-monkey==0.4.1"

it seems like the error triggered by the following function within /usr/local/src/security_monkey/security_monkey/common/utils.py
def send_email(subject=None, recipients=[], html=""):
"""
Given a message, will send that message over SES or SMTP, depending upon how the app is configured.
"""
plain_txt_email = "Please view in a mail client that supports HTML."
if app.config.get('EMAILS_USE_SMTP'):
try:
with app.app_context():
msg = Message(subject, recipients=recipients)
msg.body = plain_txt_email
msg.html = html
mail.send(msg)
app.logger.debug("Emailed {} - {} ".format(recipients, subject))
except Exception, e:
m = "Failed to send failure message with subject: {}\n{} {}".format(subject, Exception, e)
app.logger.warn(m)
app.logger.warn(traceback.format_exc())
else:
    try:
        ses_region = app.config.get('SES_REGION', 'us-east-1')
        ses = boto.ses.connect_to_region(ses_region)
    except Exception, e:
        m = "Failed to connect to ses using boto. Check your boto credentials. {} {}".format(Exception, e)
        app.logger.warn(m)
        app.logger.warn(traceback.format_exc())
        return

    for email in recipients:
        try:
            ses.send_email(app.config.get('MAIL_DEFAULT_SENDER'), subject, html, email, format="html")
            app.logger.debug("Emailed {} - {} ".format(email, subject))
        except Exception, e:
            m = "Failed to send failure message with subject: {}\n{} {}".format(subject, Exception, e)
            app.logger.warn(m)
            app.logger.warn(traceback.format_exc())

My question is, is there a way to turn off SES or I have to configure it?

also may I know which way is the easiest way to restart security monkey?
Shall it be just "sudo service supervisor restart" or I need to also restart web service?
I want to hardcode access key id as a workaround if it is not configurable.
thanks,

I'm interested in knowing why you are unable to fetch credentials from the instance.

is there a way that I can test at lower level regarding fetching such credentials?
For example by using curl calls or client?
curl http://<IP_ADDRESS>/latest/meta-data/iam/info/ cannot provide access key id, right?

Hi @westlifezs :
Can you open the python console on the instance, and paste in the following (add in your account number):
import boto3

client = boto3.client('sts')
ar = client.assume_role(RoleArn="arn:aws:iam::INSERT_YOUR_ACCOUNT_ID_HERE:role/SecurityMonkey", RoleSessionName="test")

print(ar)

Do not paste the output in here, but it should get back a dict-like structure.  If that raises an exception, please let me know.

the exception is the same as we have seen in the log:
Traceback (most recent call last):
File "netflix.py", line 3, in
client = boto3.client('sts')
File "/usr/local/lib/python2.7/dist-packages/boto3-1.2.1-py2.7.egg/boto3/init.py", line 79, in client
return _get_default_session().client(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/boto3-1.2.1-py2.7.egg/boto3/session.py", line 199, in client
aws_session_token=aws_session_token, config=config)
File "/usr/local/lib/python2.7/dist-packages/botocore-1.3.7-py2.7.egg/botocore/session.py", line 754, in create_client
credentials = self.get_credentials()
File "/usr/local/lib/python2.7/dist-packages/botocore-1.3.7-py2.7.egg/botocore/session.py", line 413, in get_credentials
'credential_provider').load_credentials()
File "/usr/local/lib/python2.7/dist-packages/botocore-1.3.7-py2.7.egg/botocore/credentials.py", line 621, in load_credentials
creds = provider.load()
File "/usr/local/lib/python2.7/dist-packages/botocore-1.3.7-py2.7.egg/botocore/credentials.py", line 300, in load
metadata = fetcher.retrieve_iam_role_credentials()
File "/usr/local/lib/python2.7/dist-packages/botocore-1.3.7-py2.7.egg/botocore/utils.py", line 211, in retrieve_iam_role_credentials
'access_key': data[role_name]['AccessKeyId'],
KeyError: 'AccessKeyId'

I only replaced "INSERT_YOUR_ACCOUNT_ID_HERE" with our account id. anything else shall I replace within the script?

It seems that you have an issue with your setup, as the AWS SDK's are unable to fetch the on-instance credentials.
Are you using an AWS provided instance image, or are you using your own?

also is this region independent? we only have us-east1 region enabled but nothing else.

I think I used AWS provide image.
here is the details:
AMI ID ubuntu-trusty-14.04-amd64-server-20160114.5
Does it look right?

Do you have the aws CLI installed?  Can you run aws help?

I just installed. However, it still does not work after I installed.

I booted another fresh ubuntu image
ubuntu-trusty-14.04-amd64-server-20151117-ecd5575e-d805-450e-843e-f2a9872b8c80-ami-0a8acf60.3 (ami-86e0ffe7)
The error info is the same after I run your test python script.
I installed both bob3 and aws cli.

which boto version is supported by security monkey?
Here is our version
python -c "import boto; print boto.Version"
2.36.0

What happens when you:
curl http://<IP_ADDRESS>/latest/meta-data/iam/security-credentials/SecurityMonkeyInstanceProfile ?
Does that print out credentials?
Security Monkey uses both Boto 2 and 3.

sudo curl http://<IP_ADDRESS>/latest/meta-data/iam/security-credentials/SecurityMonkeyInstanceProfile
{
"Code" : "AssumeRoleUnauthorizedAccess",
"Message" : "EC2 cannot assume the role SecurityMonkeyInstanceProfile.  Please see documentation at http://docs.amazonwebservices.com/IAM/latest/UserGuide/RolesTroubleshooting.html.",
"LastUpdated" : "2016-02-12T23:49:55Z"
}

In the IAM console, open the Trust Policy for SecurityMonkeyInstanceProfile.  It should allow the principal: ec2.amazonaws.com in.

this is the trust policy, is it right?
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::XXXXXXXX:role/SecurityMonkey"
},
"Action": "sts:AssumeRole"
}
]
}

That is a trust policy, but it is incorrect. -- That is what the trust policy should be for SecurityMonkey.
SecurityMonkeyInstanceProfile needs the following Trust Policy:
      {
        "Action": "sts:AssumeRole",
        "Sid": "",
        "Effect": "Allow",
        "Principal": {
          "Service": "ec2.amazonaws.com"
        }
      }

That will allow the instance to get the credentials for the role.

so my SecurityMonkey trust policy is:
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::OUR_NUMERIC_ACCOUNT_ID:role/SecurityMonkeyInstanceProfile"
},
"Action": "sts:AssumeRole"
}
]
}
and my securityMonkeyProfile trust policy is
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
Is this right?

Yes, that is correct.

cool thanks a lot. I got the credential. But the server is still hitting the error. I think I should restart the server to make this effective. Shall I install restart just scheduler or supervisor or something else? thanks

Restart the scheduler.

I did
sudo supervisorctl
restart securitymonkeyscheduler
ctrl+d
tail -f /var/log/security_monkey/security_monkey-deploy.log
and it still shows the same error.
anything else I need to do to restart the scheduler?
thx

Reboot the instance.

it seems like the previous error has gone as there is nothing shown in the deploy log file in the last 30 minutes. However, I see another error in security_monkey.error.log and it shows:
2016/02/13 00:17:20 [error] 1170#0: *6 connect() failed (111: Connection refused) while connecting to upstream, client: <IP_ADDRESS>, server: , request: "GET /api/1/items?accounts=&count=25&names=&page=1&regions=&technologies= HTTP/1.1", upstream: "http://<IP_ADDRESS>:5000/api/1/items?accounts=&count=25&names=&page=1&regions=&technologies=", host: "<IP_ADDRESS>", referrer: "https://<IP_ADDRESS>/"
2016/02/13 00:22:26 [error] 1170#0: *8 connect() failed (111: Connection refused) while connecting to upstream, client: <IP_ADDRESS>, server: , request: "GET /api/1/issues?accounts=&active=True&count=25&enabledonly=true&names=&page=1&regions=&searchconfig=active+accesskey&technologies=iamuser HTTP/1.1", upstream: "http://<IP_ADDRESS>:5000/api/1/issues?accounts=&active=True&count=25&enabledonly=true&names=&page=1&regions=&searchconfig=active+accesskey&technologies=iamuser", host: "<IP_ADDRESS>", referrer: "https://<IP_ADDRESS>/"
Do I need to change some settings or configurations to resolve this? my security group is open.

By the way I think it would be nice if the trust policy for SecurityMonkey can be added in the documentation. Newcomers need it.

forget about the previous error. I fixed it by reconfiguring the web server.
Thank you very much for the help during the process!

Glad it works!


Problem with Libraries

Explain the bug
Libraries has problems with displaying the blue bar at right.
To reproduce

Enable Library from settings(if not already)
Click on a item under libraries section
See Error

Expected behavior
To see the blue bar.
Screenshots

System Information

OS Version: Windows 10 20H2 19042.870
App version: <IP_ADDRESS>

Di you happen to have the same folders pinned also under "Favorites" section?

@gave92 I can reproduce this issue as well.

Is it because you have the same folder pinned under favorites as well? On mine when I click on Documents in Libraries the blue bar will appear next to Documents under Favorites.

This won't be an issue after #4134 is complete as the path is different for a library and a pinned directory (even if that directory is contained by any library).


Warning iconDescription in NumberInput component v1.10.12

Same as https://github.com/wfp/ui/issues/322 but in v1.10.12

Thank you for the identifying this issue. It is resolved now :)


chore(docs): improve user-groups page

Tone, style guide, and readability fixes. Please schedule me for a Zoom if you'd like to discuss the changes.

Small changes to the content. No changes to the technical information.
Description

References

Review Checklist

[x] I have clicked on "allow edits by maintainers".
[x] I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
[x] The correct base branch is being used, if not main
[x] I have added tests to validate that the change in functionality is working as expected

Thanks to @nick-gagliardi for these edits!


OSSM-4177 Operator test on OCP

Operator integration tests run on OCP -- build-operator / deploy-operator / create IstioHelmInstall

/lgtm


fix version compatibility

mod previously crashed on 1.5.2 b/c it did:
  "depends": {
    "minecraft": ">=1.3- <=1.5-"
  }

which doesn't work.
I tried:
  "depends": {
    "minecraft": ">=~1.3 <=~1.5"
  }

but apparently that doesn't work either, so i had to hardcode <=1.5.2 in.

WTF lmao


Github Action: Build docker image for cloudstack-simulator

Description
This PR adds a github action to build docker image and push to docker registry.
This applies to main branches and 4.x/5.x tags only.
PLEASE add the following secrets to github project.

DOCKER_USERNAME (required): username of docker registry
DOCKER_TOKEN (required): token of the docker registy user
DOCKER_REGISTRY (optional): if empty, it will push to dockerhub (registry-1.docker.io)

This fixes #6396

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[x] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

as a POC, I created a testing repository. The github action looks ok
https://github.com/weizhouapache/cloudstack-new/actions/workflows/docker-cloudstack-simulator.yml
The docker image has been pushed to my private repository automatically:  https://hub.docker.com/repository/docker/ustcweizhou/cloudstack-simulator/general

cc @rohityadavcloud @DaanHoogland
ASF INFRA has created docker respository https://hub.docker.com/r/apache/cloudstack-simulator
The secrets have been added to (this github) cloudstack repo

@DaanHoogland @rohityadavcloud
updated this PR, based on ASF Infra's response
Please note the correct secrets names:

DOCKERHUB_USER
DOCKERHUB_TOKEN

Now it is ready for merge I think.

Great to see progress here!
Why no tags? Also for the default "latest" tag, I get this:
docker pull apache/cloudstack-simulator
Using default tag: latest
Error response from daemon: manifest for apache/cloudstack-simulator:latest not found: manifest unknown: manifest unknown

How to get this image from Docker Hub?

Great to see progress here!
Why no tags? Also for the default "latest" tag, I get this:
docker pull apache/cloudstack-simulator
Using default tag: latest
Error response from daemon: manifest for apache/cloudstack-simulator:latest not found: manifest unknown: manifest unknown

How to get this image from Docker Hub?

@synergiator
I will push the latest (<IP_ADDRESS>) image

Great to see progress here!
Why no tags? Also for the default "latest" tag, I get this:
docker pull apache/cloudstack-simulator
Using default tag: latest
Error response from daemon: manifest for apache/cloudstack-simulator:latest not found: manifest unknown: manifest unknown

How to get this image from Docker Hub?

@synergiator
done. it should work now

thanks a lot - great job, thanks! I can pull the image and start the container to see the UI.
Which actions can be actually similated/explored by potential users beyond actual UI look and feel demo, login and creating SSH keypair? (can be fake "instances" simulated for example as UI objects?)

@synergiator
you need to create a zone. please refer to the overview on https://hub.docker.com/r/apache/cloudstack-simulator


[9.4] ISPN-14143 + ISPN-14144 Task authorization

https://issues.redhat.com/browse/ISPN-14143
https://issues.redhat.com/browse/ISPN-14144

Closing as this will not be integrated. The PR is available for reference still.


Update Theme: SuperGradient

Make gradient work on bookmark toolbar
Added support for the following mods:
"Floating Compact Sidebar" and "Floating Toolbar" (Fixes https://github.com/JLBlk/Zen-Themes/issues/22)
Added new Gradient Preset: "Zen Galaxy/Dream Legacy Theme"
Increased Version to 1.2.0

Pls don't merge yet, wanna add zen galaxy/dream as a preset real fast

Great!


Fix landscape switch issue

Fixes an issue where starting in landscape and switching to portrait causes the Header text to not quite be collapsed all te way.

Changes proposed in this Pull Request:

Add missing dependencies to dependency array for title and info

Did you need to re-release this package with this fix? If so, update the changelog / bump the version number?

Did you need to re-release this package with this fix? If so, update the changelog / bump the version number?

I will lump this in with the deprecation warnings update that will go out