Android onHostResume resume frame callback

Explanation of Change

Patch from upstream PR https://github.com/facebook/react-native/pull/47264
Fixed Issues

$ https://github.com/Expensify/App/issues/49553
PROPOSAL: https://github.com/Expensify/App/issues/49553#issuecomment-2442669427
Tests

Open any 1:1 chat and click on the report header
Click on the user avatar
Verify the avatar is displayed correctly
Close avatar (go back)
Put app in background
Open app again
Click on the user avatar
Verify the avatar is displayed correctly

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

Offline tests

Same as Tests
QA Steps

Same as Tests

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

PR Author Checklist

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

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

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

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

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

[X] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[X] I verified that comments were added to code that is not self explanatory
[X] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[X] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native

https://github.com/user-attachments/assets/b5e211cd-6e86-4133-8427-dcdf95da951f

Android: mWeb Chrome

iOS: Native

https://github.com/user-attachments/assets/be461d08-7ef2-461a-8268-d9927352c382

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

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


Auto import of Astro's navigate() in VS Code defaults to astro/dist/transitions/router

Astro Info
Astro                    v4.5.16
Node                     v20.11.1
System                   Windows (x64)
Package Manager          npm
Output                   server
Adapter                  @astrojs/vercel/serverless
Integrations             @astrojs/tailwind

If this issue only occurs in one browser, which browser is a problem?
N/A
Describe the Bug
I know this is pretty minor, but when using VS Code's auto importing to import navigate() in a React component, the default option is astro/dist/transitions/router instead of astro:transitions/client, which throws the following error:

The error is not super clear, and it's a very easy mistake to make.

The default option is correct inside .astro files, but obviously there is not much use for it there:

What's the expected result?
The navigate from astro:transitions/client to take higher priority in the list.
In the Stackblitz example, it defaults to 'astro/virtual-modules/transitions-router.js', which doesn't throw an error but also just doesn't work.
Link to Minimal Reproducible Example
https://stackblitz.com/edit/github-baf1mz?file=src%2Fcomponents%2FReactComponent.tsx
Participation

[ ] I am willing to submit a pull request for this issue.

Unfortunately, you can't really control the ordering of that list inside the project itself, it has to be done in the tooling. That's why it shows higher in Astro files, because we control all the tooling there.
The way to fix this in .ts(x) files would be to modify our TypeScript plugin, decorate the language service's method that does the completions and change the sortText property on the completions that start with astro:.
Here: https://github.com/withastro/language-tools/blob/0503392b80765c8a1292ddc9c063a1187425c187/packages/ts-plugin/src/index.ts#L4, instead of using Volar's all-in-one method for making the plugin, we should do all the decoration ourselves, like Vue does here: https://github.com/vuejs/language-tools/blob/e3fc9b97a74e6e50bf2c9bde81cb43e8ca3fa7bc/packages/typescript-plugin/index.ts#L17.
We should implement a decorateLanguageServiceForAstro function like they do, and in it augment the getCompletionsAtPosition function like they do here: https://github.com/vuejs/language-tools/blob/e3fc9b97a74e6e50bf2c9bde81cb43e8ca3fa7bc/packages/typescript-plugin/lib/common.ts#L20.
For the exact changes to do to the sortText, we can refer to this code: https://github.com/withastro/language-tools/blob/0503392b80765c8a1292ddc9c063a1187425c187/packages/language-server/src/plugins/typescript/completions.ts#L14-L17
If anyone is interesting in sending a PR, let me know and I'll provide more details / I'm happy to answer more questions.


Opensearch integration compilation error

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain.js documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain.js rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
I am following these instructions in an empty typescript project:
https://js.langchain.com/docs/integrations/vectorstores/opensearch
It cannot compile
here is my package.json
{
  "name": "utils",
  "version": "1.0.0",
  "description": "",
  "main": "utils.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "node_modules/typescript/bin/tsc"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@aws-sdk/client-apigatewaymanagementapi": "^3.525.0",
    "@aws-sdk/client-dynamodb": "^3.525.0",
    "@aws-sdk/lib-dynamodb": "^3.525.0",
    "@langchain/openai": "^0.0.22",
    "@opensearch-project/opensearch": "^2.6.0",
    "@types/aws-lambda": "^8.10.130",
    "@types/node": "^20.10.5",
    "langchain": "^0.1.28",
    "openai": "^4.24.2",
    "uuid": "^9.0.1"
  },
  "devDependencies": {
    "@types/uuid": "^9.0.8",
    "jest": "^29.7.0"
  },
  "overrides": {
    "@langchain/core": "0.1.5"
  }
}

Error Message and Stack Trace (if applicable)
$ tsc
node_modules/@langchain/openai/dist/chat_models.d.ts:7:64 - error TS2305: Module '"@langchain/core/language_models/base"' has no exported member 'StructuredOutputMethodOptions'.
7 import type { BaseFunctionCallOptions, BaseLanguageModelInput, StructuredOutputMethodOptions, StructuredOutputMethodParams } from "@langchain/core/language_models/base";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
node_modules/@langchain/openai/dist/chat_models.d.ts:7:95 - error TS2305: Module '"@langchain/core/language_models/base"' has no exported member 'StructuredOutputMethodParams'.
7 import type { BaseFunctionCallOptions, BaseLanguageModelInput, StructuredOutputMethodOptions, StructuredOutputMethodParams } from "@langchain/core/language_models/base";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
node_modules/@langchain/openai/dist/utils/openai.d.ts:3:62 - error TS2307: Cannot find module '@langchain/core/utils/function_calling' or its corresponding type declarations.
3 import { convertToOpenAIFunction, convertToOpenAITool } from "@langchain/core/utils/function_calling";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
node_modules/@langchain/openai/dist/utils/openai.d.ts:6:103 - error TS2724: '"/Users/howardkitto/Projects/Intentional/intentional-api/layers/utils/node_modules/openai/resources/beta/beta".Beta' has no exported member named 'AssistantCreateParams'. Did you mean 'AssistantUpdateParams'?
6 export declare function formatToOpenAIAssistantTool(tool: StructuredToolInterface): OpenAIClient.Beta.AssistantCreateParams.AssistantToolsFunction;
~~~~~~~~~~~~~~~~~~~~~
node_modules/@langchain/openai/node_modules/@langchain/core/dist/language_models/chat_models.d.ts:64:129 - error TS2304: Cannot find name 'this'.
64     _generateCached({ messages, cache, llmStringKey, parsedOptions, handledOptions, }: ChatModelGenerateCachedParameters): Promise<LLMResult & {
~~~~
node_modules/@langchain/openai/node_modules/@langchain/core/dist/language_models/llms.d.ts:66:122 - error TS2304: Cannot find name 'this'.
66     _generateCached({ prompts, cache, llmStringKey, parsedOptions, handledOptions, }: LLMGenerateCachedParameters): Promise<LLMResult & {
~~~~
Found 6 errors in 4 files.
Errors  Files
2  node_modules/@langchain/openai/dist/chat_models.d.ts:7
2  node_modules/@langchain/openai/dist/utils/openai.d.ts:3
1  node_modules/@langchain/openai/node_modules/@langchain/core/dist/language_models/chat_models.d.ts:64
1  node_modules/@langchain/openai/node_modules/@langchain/core/dist/language_models/llms.d.ts:66
Description
The documentation is wrong
The dependencies are not up to date
System Info
mac
aws lambda (SAM)

same error: node_modules/openai/resources/beta/beta".Beta' has no exported member named 'AssistantCreateParams'. Did you mean 'AssistantUpdateParams'?

I updated my packages to match the versions in the automated response from dosubot - but still ge the same error:
{
  "name": "utils",
  "version": "1.0.0",
  "description": "",
  "main": "utils.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "node_modules/typescript/bin/tsc"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "@aws-sdk/client-apigatewaymanagementapi": "^3.525.0",
    "@aws-sdk/client-dynamodb": "^3.525.0",
    "@aws-sdk/lib-dynamodb": "^3.525.0",
    "@langchain/openai": "^0.0.22",
    "@opensearch-project/opensearch": "^2.6.0",
    "@types/aws-lambda": "^8.10.130",
    "@types/node": "^20.10.5",
    "aws-sdk": "^2.1582.0",
    "aws4": "^1.12.0",
    "langchain": "^0.1.28",
    "openai": "^4.24.2",
    "typescript": "^5.4.3",
    "uuid": "^9.0.1"
  },
  "devDependencies": {
    "@types/uuid": "^9.0.8",
    "jest": "^29.7.0"
  },
  "overrides": {
    "@langchain/core": "0.1.45"
  }
}

tsc
node_modules/@langchain/openai/dist/utils/openai.d.ts:6:103 - error TS2724: '"/Users/howardkitto/Projects/Intentional/intentional-api/layers/utils/node_modules/openai/resources/beta/beta".Beta' has no exported member named 'AssistantCreateParams'. Did you mean 'AssistantUpdateParams'?

6 export declare function formatToOpenAIAssistantTool(tool: StructuredToolInterface): OpenAIClient.Beta.AssistantCreateParams.AssistantToolsFunction;
                                                                                ~~~~~~~~~~~~~~~~~~~~~

node_modules/@langchain/openai/node_modules/@langchain/core/dist/language_models/chat_models.d.ts:64:129 - error TS2304: Cannot find name 'this'.

64     _generateCached({ messages, cache, llmStringKey, parsedOptions, handledOptions, }: ChatModelGenerateCachedParameters<typeof this>): Promise<LLMResult & {
                                                                                ~~~~

node_modules/@langchain/openai/node_modules/@langchain/core/dist/language_models/llms.d.ts:66:122 - error TS2304: Cannot find name 'this'.

66     _generateCached({ prompts, cache, llmStringKey, parsedOptions, handledOptions, }: LLMGenerateCachedParameters<typeof this>): Promise<LLMResult & {
                                                                                ~~~~

Found 3 errors in 3 files.

Errors  Files
     1  node_modules/@langchain/openai/dist/utils/openai.d.ts:6
     1  node_modules/@langchain/openai/node_modules/@langchain/core/dist/language_models/chat_models.d.ts:64
     1  node_modules/@langchain/openai/node_modules/@langchain/core/dist/language_models/llms.d.ts:66
     ```

I have the same error
Error: node_modules/@langchain/openai/dist/utils/openai.d.ts:6:103 - error TS2724: '"C:/IADEMO/project1/node_modules/openai/resources/beta/beta".Beta' has no
exported member named 'AssistantCreateParams'. Did you mean 'AssistantUpdateParams'?
6 export declare function formatToOpenAIAssistantTool(tool: StructuredToolInterface): OpenAIClient.Beta.AssistantCreateParams.AssistantToolsFunction;

Same error here :(
Any update?

I decide to restard my project. I do a new project.
I uninstall @angular/cli (npm uninstall -g @angular/cli)
I install  @angular/cli (npm install -g @angular/cli@latest) with the latest version
Now it is ok.
package.json
{
"name": "chatbot",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"watch": "ng build --watch --configuration development",
"test": "ng test"
},
"private": true,
"dependencies": {
"@angular/animations": "^17.3.0",
"@angular/common": "^17.3.0",
"@angular/compiler": "^17.3.0",
"@angular/core": "^17.3.0",
"@angular/forms": "^17.3.0",
"@angular/platform-browser": "^17.3.0",
"@angular/platform-browser-dynamic": "^17.3.0",
"@angular/router": "^17.3.0",
"@langchain/community": "^0.0.43",
"@langchain/core": "^0.1.52",
"@langchain/openai": "^0.0.24",
"cheerio": "^1.0.0-rc.12",
"langchain": "^0.1.30",
"rxjs": "~7.8.0",
"tslib": "^2.3.0",
"zone.js": "~0.14.3"
},
"devDependencies": {
"@angular-devkit/build-angular": "^17.3.2",
"@angular/cli": "^17.3.2",
"@angular/compiler-cli": "^17.3.0",
"@types/jasmine": "~5.1.0",
"jasmine-core": "~5.1.0",
"karma": "~6.4.0",
"karma-chrome-launcher": "~3.2.0",
"karma-coverage": "~2.2.0",
"karma-jasmine": "~5.1.0",
"karma-jasmine-html-reporter": "~2.1.0",
"typescript": "~5.4.2"
}
}

@kasindi I did the same thing and it still has an error :(
"dependencies": {
"@angular/animations": "^17.3.2",
"@angular/common": "^17.3.2",
"@angular/compiler": "^17.3.2",
"@angular/core": "^17.3.2",
"@angular/forms": "^17.3.2",
"@angular/platform-browser": "^17.3.2",
"@angular/platform-browser-dynamic": "^17.3.2",
"@angular/router": "^17.3.2",
"@ant-design/icons-angular": "^17.0.0",
"@arcgis/core": "^4.28.10",
"@langchain/community": "^0.0.43",
"@langchain/core": "^0.1.52",
"@langchain/openai": "^0.0.25",
"keycloak-angular": "^14.1.0",
"keycloak-js": "^22.0.4",
"langchain": "^0.1.30",
"ng-zorro-antd": "16.1.0",
"ngx-cookie-service": "^16.1.0",
"rxjs": "~7.8.0",
"tslib": "^2.3.0",
"zone.js": "~0.14.4"
},
"devDependencies": {
"@angular-devkit/build-angular": "^17.3.2",
"@angular/cli": "^17.3.2",
"@angular/compiler-cli": "^17.3.2",
"@types/jasmine": "~4.3.0",
"jasmine-core": "~4.6.0",
"karma": "~6.4.0",
"karma-chrome-launcher": "~3.2.0",
"karma-coverage": "~2.2.0",
"karma-jasmine": "~5.1.0",
"karma-jasmine-html-reporter": "~2.1.0",
"typescript": "~5.4.3"
}
Error:
...openai/resources/beta/beta".Beta' has no exported member named 'AssistantCreateParams'. Did you mean 'AssistantUpdateParams'?
6 export declare function formatToOpenAIAssistantTool(tool: StructuredToolInterface): OpenAIClient.Beta.AssistantCreateParams.AssistantToolsFunction

npm i -S<EMAIL_ADDRESS>fixed the AssistantCreateParams error for me.

@roshie548 npm i -S<EMAIL_ADDRESS>work here. Thanks !!!

It looks like
export declare function formatToOpenAIAssistantTool(tool: StructuredToolInterface): OpenAIClient.Beta.AssistantCreateParams.AssistantToolsFunction;

should be replaced with
export declare function formatToOpenAIAssistantTool(
  tool: StructuredToolInterface,
): OpenAIClient.Beta.AssistantTool;

For a temporary workout around put the following in your package.json
"overrides": {
    "@langchain/openai": {
      "openai": "4.26.0"
    }
  }

You have to delete the existing openai from your package-lock.json and node_modules for this to actually work on the next npm install

Sorry about the delay - this should be fixed by #4974

Bumping to latest<EMAIL_ADDRESS>and<EMAIL_ADDRESS>should fix the most recent iteration of this - apologies for the delay!

Bumping to latest<EMAIL_ADDRESS>and<EMAIL_ADDRESS>should fix the most recent iteration of this - apologies for the delay!

thank you sir , this is really fixed my issue!


Revert "chore(deps): update thollander/actions-comment-pull-request action to v3"

Reverts ashdavies/playground.ashdavies.dev#1234

https://github.com/thollander/actions-comment-pull-request/issues/397


Restrict Security Groups - DS

We must not allow open access (<IP_ADDRESS>) to common ports via security groups.
https://jaas.gsfc.nasa.gov/servicedesk/customer/portal/2/GSD-3779
This is a 2 part ticket:
Cleanup unused security groups - there are many, many security groups across all of our accounts. We must clean up un-used security groups in all unity accounts. Please find your security groups not in use and delete them. Some notes: We should not be using "lunch wizard" security groups. Security groups should have a name- groups without a name will be deleted/removed. Please use the TAGS for all resources- including security groups.
Remove unrestricted access to common ports via security groups. no unfettered access to your applications. This means locking down access to load balancers to the API gateway and the HTTPd proxies, most likely. Internal traffic should be limited to the VPC.
Please reach out to me for any questions or concerns.
This is a priority to cleanup and fix. The fixes should be ready and deployed in ALL ACCOUNTS by the end of Sprint 4.

For now, manually updated non-compliant inbound rule created as part of Cumulus deployment.
Created Cumulus ticket to request Cumulus update https://bugs.earthdata.nasa.gov/browse/CUMULUS-3934


Update icon: synology.com

The provided synology icon is not the official icon as represented by the synology.com favicon:

<EMAIL_ADDRESS>

Synology's logo in the icon is based of Simple Icons version. It's compromise for space usage.
Logo and color is otherwise correct and needs no updates.

The current logo in your SimpleIcons link and in the official brand guidelines you link all use the full word "Synology", they never abbreviate to just Syno. The current logo in this repo just uses the abbreviation "Syno". Did it used to be just Syno and has been recently changed, or did you choose to abbreviate it to just Syno?
Regardless, would you consider adding a variant with the full logo? Imo since there are already logos with long words like Samsung, Shareworks, Bethesda, etc., it's more consistent to use the full "Synology" than the abbreviated "Syno".

The current logo in your SimpleIcons link and in the official brand guidelines you link all use the full word "Synology", they never abbreviate to just Syno. The current logo in this repo just uses the abbreviation "Syno". Did it used to be just Syno and has been recently changed, or did you choose to abbreviate it to just Syno?

It was like that before in Simple Icons, it seems to been updated. https://github.com/simple-icons/simple-icons/pull/4220
I reopen this.

Fixed.
For current Aegis (recommended for now):
https://github.com/aegis-icons/aegis-icons/blob/master/PNG/Synology.png
For Aegis beta version:
https://github.com/aegis-icons/aegis-icons/blob/master/SVG/Synology.svg


v3 keyresolver must return error if no mapping exists

Found this bug while browsing code: https://github.com/youtube/vitess/blob/master/go/vt/worker/key_resolver.go#L183. The Map function can return nil keyspace ids if a mapping is not possible. If so, the resolver function should return an error. Otherwise, a nil value will eventually get resolved to the first shard of the target.

Shouldn't the code return ksids[0], nil panic if you access a ksids which is nil?

ksids[0] is the value that will be nil if a mapping is not found. This likelihood will increase once I submit https://github.com/youtube/vitess/pull/3182. It changes vindexes like hash.Map to return nil if the input value is invalid or NULL.


Add glimmerai.tech

Thanks! looks awesome!

@w3cproject  are you the creator of glimmerai.tech?
I created a twitter profile for ai-collection and I want to tweet about it and mention the creator.


[FEATURE] Dismiss window on key press or click outside

Description of the requested feature
Hi elkowar, thanks for the tool, it's amazing.
I am on my way to replace polybar and rofi with eww and I am pretty succesful on polybar.
On rofi I am able to bind ESC key to dismiss drun window, plus click outside of the window also close it. Press the triggering key again also does the job.
On eww, I'm binding my key (super + x) to
eww open --toggle powermenu

and I am able to open and close power menu with super + x.
Proposed configuration syntax
(defwindow
  :onkeypressed (keyevent :key "esc" :command "eww close powermenu")
  :onlostfocus "eww close powermenu")

Additional context
No response

I'm not a bit fan of adding keyboard input stuff into eww -- I'd think that it would make more sense to have a separate tool to just create temporary hotkey bindings, I'll probably start working on something like that soon-ish.
about clicking outside of the window to close it: Not sure how trivial that is to do directly -- what some people have done is just create a separate, transparent widget in the background that fills the entire screen and closes the widgets when clicked -- that works pretty well.

Here's what I'm doing to have the "close on click outside" behaviour. It's exactly what Elk is describing.
(defwidget closer [window]
  (eventbox :onclick "eww close ${window} && eww close ${window}-closer"))

(defwindow menu-closer
  :monitor 0
  :geometry (geometry :width "100%" :height "100%")
  :stacking "fg"
  :focusable false
  (closer :window "menu"))

This accompanies my "menu" window, but I've made it modular enough that it could be used with other windows as well, given that the closer window is named XXX-closer.
Abous your configuration syntax, while it might work with a :onlostfocus property, keep in mind that not all windows you'd want to use this with are focusable. My global menu, for example, doesn't grab focus, and reacts to which window currently has focus.

Yeah I think my problem with clicking outside are solved.
About keyboard input, I'm using openbox, it doesn't support adding new keyboard shortcut on the fly. For that I would need to create a new configuration set and reload when an eww window open, load the default config back when window close. I'm lazy I wouldn't do that lol. Using sxhkd reduce the pain a little bit, but still, switching between 2, or 3, 4 configuration sets is not so elegant I think.

yea, that's why I'm saying, there should be some tool that would be explicitly made for such temporary keybinds, so you could just
tmpbindkey --once esc "eww close dashboard" &

which would just bind that keyboard shortcut for as long as that process is running, until it's hit once

that's what I'll probably be working on soon

What about focussing the next clickable element with tab?

What about focussing the next clickable element with tab?

I've implemented this

I just designed my first widget with eww as an "application launcher".
Having the option to keyboard-only navigate menus through some sort of temporary keybinding system would be awesome.

@AlecsFerra, I don't see a PR for the changes you've made on tab navigation. Any chance you could make one we can get those into the latest release?

@AlecsFerra, I don't see a PR for the changes you've made on tab navigation. Any chance you could make one we can get those into the latest release?

Right now I don't have time, but you can try my fork at https://github.com/AlecsFerra/eww


Make Injectable Apps fail passively when they fail

The content script currently injects an application regardless of whether the content returns status 200. Future versions should not change the User Experience for links that don't return content for injection. The injectable apps should decide whether they want to be displayed.

I think the proper way to do this is to allow the injected iframe to ask the content script that injected it to:

Show the injected iframe (hide the link original link)
Destroy the injected iframe (remove the iframe from the DOM and show the original link)

To maintain consistency with how it is currently implemented, all links should temporarily show themselves while they are loading, but the injected iframe could then choose to destroy itself if it doesn't get a good  status from the server or fails to decrypt.

Doing this properly will take a few implementation steps, the most challenging of which is figuring out how to get messages from the iframe to the content script. Since we already send a resize message to the content script, you should look at where the privly.js file sends and receives resize messages.

Modify privly.js's resize code to accept serialized JSON content. See JSON.stringify and JSON.parse().
Modify host_page_integration.js to send JSON instead of the current CSV format.
Change the resize command to be in JSON format with {privly:{resize:10}} could represent a command to the privly.js script to resize the iframe to 10 pixels.
Add functions to the host_page_integration.js script for showInjectedIframe and destroyInjectedIframe. These will both use the new JSON message format to tell the privly.js file to take the requested action.
Modify the privly.js file to take the requested action after examining the JSON message.
Add unit test coverage.
Add Selenium test coverage.

@smcgregor quick question. In the point #3 above {privly:{resize:10}} should represent the script to resize the iframe to 10px. is 'privly' the name of the iframe? I'm trying for {frameId : {resize:height}}
But, after JSON stringify it gets converted to {"frameId" : {"resize" : 41}} instead of {ifrm0 : {"resize" : 41}}

@smcgregor Nevermind. @irdan helped me. It's sorted out.


Response empty

Hello,
I am making a call to the imgflip API but when I make that call, although there are no errors, the response is empty. Trying to print the response yields nothing and printing the response.body.size() outputs a value of zero.

@elnormous  Any word on this. Its not in any closed issues.

If you try now, you will catch this exception
This makes sense as HTTPRequest doesn't support https till now.

@elnormous You can close this ticket for now and Put handling SSL certificate in future plans (I can support).


Add artifacts packaging logic

Notes

Remove is_first_priority. Add priority_rank to metrics. Each metric should have priority_rank if there are more than one metric. Top ranked models will be selected based on metric priority rank.
Add General packaging artifacts logic.
Artifacts will contain top ranked models and cpp/cs/python sample codes.
Document will be updated in a different PR.

4 Document will be updated in a different PR.

Going forward, please include document changes in the same PR.

4 Document will be updated in a different PR.

Going forward, please include document changes in the same PR.

Here is the PR for documentation: https://github.com/microsoft/Olive/pull/174

4 Document will be updated in a different PR.

Going forward, please include document changes in the same PR.

Will move document change to another PR.


bugs: So many UI bugs is present

So many UI bugs are present on the website right now. We need to fix them ASAP.

Hi. I am looking to help on this project! I am a beginner but I would love to help.

I have gone through website, found many issues regarding to UI design and I can easily fix them
I would love to do this work, will you assign me this work under hacktober fest

@hustlerZzZ I am assigning you this issue. Please make sure you start the Repo and Follow me on GitHub (https://github.com/karamraj)

@ABL1849 @clydehenry3 Please create a new issue and I will assign them to you guys!

@ABL1849 @hustlerZzZ @clydehenry3 Join Discord Server for this repo - https://discord.gg/SH6XRrHs8E


Subscribing/Unsubscribing to topics doesn't work on Android[Bug]

[REQUIRED] Please fill in the following fields:
Unity editor version: _2020.3.17f
Firebase Unity SDK version: 9.1.0,   9.2.0
Source you installed the SDK: __unitypackage
Problematic Firebase Component: Messaging
Other Firebase Components in use: Analytics
Additional SDKs you are using: Analytics，Crashlytics
Platform you are using the Unity editor on: Windows
Platform you are targeting:Android
Scripting Runtime: IL2CPP
[REQUIRED] Please describe the issue here:
Firebase.Messaging.FirebaseMessaging.UnsubscribeAsync(topic).ContinueWith(task =>
{
Debug.Log("FirebaseMessaging.UnsubscribeAsync:" + topic + " status:" + task.Status);
    });

I can not get the debug.log.
also test: awit Firebase.Messaging.FirebaseMessaging.UnsubscribeAsync
android version: 9
Relevant Code:
Firebase.FirebaseApp.LogLevel = Firebase.LogLevel.Verbose;
Firebase.Messaging.FirebaseMessaging.TokenRegistrationOnInitEnabled = true;
Firebase.Analytics.FirebaseAnalytics.SetAnalyticsCollectionEnabled(true);
        Firebase.Messaging.FirebaseMessaging.TokenReceived += OnTokenReceived;
        Firebase.Messaging.FirebaseMessaging.MessageReceived += OnMessageReceived;
        string topic = "Lan_en";

    Firebase.Messaging.FirebaseMessaging.UnsubscribeAsync(topic).ContinueWith(task =>
    {
        Debug.Log("FirebaseMessaging.UnsubscribeAsync:" + topic + " status:" + task.Status);

    });

=============
After a lot of testing, I found out that the first launch then subscribe topic is successful. After restart our game then subscribe topic, the subscribeAsync task can not finish.
no error message.
the subscribeAsync task does not have any completion information.
Had set LogLevel:
Firebase.FirebaseApp.LogLevel = Firebase.LogLevel.Debug;
but no error message in android studio logcat!

Hi @AOEGame,
I noticed that the content of this thread is similar to this one. I'll be closing this one so that all discussions can be streamlined in one thread.


Test C# LINQ code

http://forums.bridge.net/forum/community/help/664
Test with Bridge vNext.

I'd like to help out but I don't know where to start.  I've never worked with bridge.

Thanks for your interest, @kreynazpm!
Currently Bridge 2 is closed for the public. We expect the open versions to be available very soon, though!
But in the meanwhile you can get started with bridge following the getting started guides available on Bridge.NET's Knowledge Base.
In particular, the Getting Started guide.

Okay so I went through the getting started page and did the demo in visual studio 2015
Sent via the Samsung GALAXY S®4, an AT&T 4G LTE smartphone
-------- Original message --------
From: fabriciomurta<EMAIL_ADDRESS>Date: 10/03/2015  4:22 PM  (GMT-06:00)
To: bridgedotnet/Bridge<EMAIL_ADDRESS>Cc: Kurt Reynolds<EMAIL_ADDRESS>Subject: Re: [Bridge] Test C# LINQ code with Bridge 2 (#471)
Thanks for your interest, @kreynazpm!
Currently Bridge 2 is closed for the public. We expect the open versions to be available very soon, though!
But in the meanwhile you can get started with bridge following the getting started guides available on Bridge.NET's Knowledge Base.
In particular, the Getting Started guide.
—
Reply to this email directly or view it on GitHub.

Maybe, we should not mark that issue with up-for-grabs, because the repo is private yet. I will discuss internally.

C#6 Lambda Expressions have been supported in Bridge since the version 15.0 release. A sample can be tested at the following Deck:
http://deck.net/2438579be4e9fa8c5746e8d37797ac95


Uncaught TypeError: Cannot use 'in' operator to search for 'default' in undefined after the 2.8.1 release

After the 2.8.1 release I am seeing this error when trying to init the Alma Widget:
widgets.umd.js:1 Uncaught TypeError: Cannot use 'in' operator to search for 'default' in undefined
at widgets.umd.js:1:584
at widgets.umd.js:1:416
at widgets.umd.js:1:535
Before it was working fine.
Thanks.

Hello, sorry for the delay do you still have the issue with versions above 2.8.3 ?

Hello, sorry for the delay do you still have the issue with versions above 2.8.3 ?


SpotX not installing, stating "no backup file!"

🧐 Have you fully read the README and viewed similar issues?

[X] I have read the README
[X] I have read the FAQ
[X] I have checked previous issues, open and closed
[X] I have re-installed Spotify and the issue is not present on stock but returns after re-applying SpotX-Bash

Сountry of your account
India
What is your Spotify Plan?
Free
Do you have Spicetify installed?
No
ℹ Computer information
- Spotify version: <IP_ADDRESS>2
- OS: Artix Linux
- Shell: fish  (switched to bash for installation)

📝 Description
Tried reinstalling both spotify-launcher and this program, but to no avail.
🖥 Terminal Input/Output
bash <(curl -sSL https://spotx-official.github.io/run.sh) -cdhf
████╗███╗  ███╗ █████╗█╗  █╗  ███╗  ██╗ ████╗█╗ █╗
█╔══╝█╔═█╗█╔══█╗╚═█╔═╝╚█╗█╔╝  █╔═█╗█╔═█╗█╔══╝█║ █║
████╗███╔╝█║  █║  █║   ╚█╔╝██╗███╔╝████║████╗████║
╚══█║█╔═╝ █║  █║  █║   █╔█╗╚═╝█╔═█╗█╔═█║╚══█║█╔═█║
████║█║   ╚███╔╝  █║  █╔╝ █╗  ███╔╝█║ █║████║█║ █║
╚═══╝╚╝    ╚══╝   ╚╝  ╚╝  ╚╝  ╚══╝ ╚╝ ╚╝╚═══╝╚╝ ╚╝
Searching for Spotify directory...
Found Spotify Directory: /home/breddie/.local/share/spotify-launcher/install/usr/share/spotify
/home/breddie/.local/share/spotify-launcher/install/usr/share/spotify/spotify: /usr/lib/libcurl-gnutls.so.4: no version information available (required by /home/breddie/.local/share/spotify-launcher/install/usr/share/spotify/spotify)
Latest supported version: <IP_ADDRESS>2
Detected Spotify version: <IP_ADDRESS>2
✔ Created backup
✔ Cleared app cache
Warning: Detected SpotX but no backup file! Reinstall Spotify. Exiting...
📸 Screenshots

Hmm.. something strange is going on as it's detecting modified files even before any patches were made.
I would suggest uninstalling Spotify again and also deleting your Spotify directory:
rm -rf /home/breddie/.local/share/spotify-launcher/install/usr/share/spotify/

then re-installing Spotify however you install it.. then re-running SpotX-Bash with the following:
bash <(curl -sSL https://spotx-official.github.io/run.sh) -dh

And share the results from all of that.
I do not know how spotify-launcher works exactly when it moves files around during installation. So if you had previously patched Spotify with SpotX-Bash.. then updated Spotify with spotify-launcher.. then tried re-patching with SpotX-Bash.. something weird could have happened.

Closed due to no response after 1 week.
Previous post should take care of specific issue.

Closed due to no response after 1 week.
Previous post should take care of specific issue.

Sorry for this late reply, it's now working properly. Thanks for resolving this. Cheers.


Implementing POST in login, redirecting to previous page with NEXT parameter

To allow user to be redirected to previous or specific page after login, django has default native parameter NEXT for that. When I want to implement it, this is the way:
login.html template:
<form method="get" action="{% url 'django_auth_adfs:login' %}">{% csrf_token %}
  <input type="hidden" name="next" value="{{ next }}">
  <button type="submit" class="btn btn-info"> Log in with ADFS</button>
</form>

It works fine but OWASP scanner flags it as XSLT injection medium priority warning.
What I did then:

Changed form method GET to POST:

<form method="post" action="{% url 'django_auth_adfs:login' %}">{% csrf_token %}
  <input type="hidden" name="next" value="{{ next }}">
  <button type="submit" class="btn btn-info"> Log in with ADFS</button>
</form>

Added post view:

class OAuth2LoginView(View):
    def get(self, request):
        return redirect(provider_config.build_authorization_endpoint(request))

    def post(self, request):
        return redirect(provider_config.build_authorization_endpoint(request))

Added the NEXT url from POST in config:

    def build_authorization_endpoint(self, request, disable_sso=None, force_mfa=False):
        self.load_config()
        redirect_to = request.POST.get(REDIRECT_FIELD_NAME, None)
        if not redirect_to:
            redirect_to = request.GET.get(REDIRECT_FIELD_NAME, None)
        if not redirect_to:
            redirect_to = django_settings.LOGIN_REDIRECT_URL
	...

Now, POST support is added but OWASP still detects it as XSLT injection. When I removed/disallowed the method get() in OAuth2LoginView, OWASP doesn't detect it anymore.
My question is if you can add even the POST support in login to this library. 🙂
Thanks.

Upvote & Fund

We're using Polar.sh so you can upvote and help fund this issue.
We receive the funding once the issue is completed & confirmed by you.
Thank you in advance for helping prioritize & fund our backlog.

Any updates? Will POST be implemented? GET is not secure enough. 🙂

Hi @simon-spier0, would you be interested in opening a PR with the solution? We'd need to do the get restriction via deprecation most likely.

Hi,
I finally had a while so I opened PR. 🙂

I'm sorry @simon-spier0, I did not understand this issue well from the start. I'm not a fan of this change. The only thing that's being protected is the value of next because it's not included in the querystring. However, it's immediately known when the requests come back. I think this is a case where a security analysis tool is identifying something that's possibly a vulnerability, but in actuality it shouldn't be.

I'm also not sure what the security vulnerability it could possibly be, because we have next as a url query parameter?
According to the docs, there is a concern around query parameters for sensitive information, but this isn't confidential information.

I understand that the next parameter isn’t sensitive and using GET shouldn't pose a real security risk, especially with proper validation. My intent was to enhance security and avoid false positives from tools like OWASP scanner, which flagged the use of GET as a potential issue.
However, I see your point. Would it make sense to support both GET and POST methods? Having the option to use POST could be useful for securely sending the next parameter without exposing it in the URL.
Would it be acceptable to keep the new POST method in the code without deprecating the GET method? This way, both options would be available for developers. 🙂

Thanks for the clarification and for the PR you've opened 😊
Since Microsoft don't see GET as a security concern either, and have documentation on how to use GET, I'd prefer not having a breaking change just because of false positive OWASP scans. It'll cause work for all our users.
In other words, I do not want to remove GET, but I personally don't mind adding POST. Let's wait for @tim-schilling to give his opinion!

I'm fine with adding support for POST for the views.
Any concern comes around specifying the data (right now it's just the redirect path) and potentially having to support checking request.POST then request.GET. And making sure our documentation properly communicates what is expected.

Thank you both for your feedback! I've updated the pull request based on our discussion:

GET method: I've kept the GET method intact to avoid any breaking changes.
POST method: Added support for POST requests as an additional option.
Documentation: I updated the documentation to include examples for both GET and POST methods, so users have the flexibility to choose based on their needs.
GET vs. POST handling: The handling of request.POST vs. request.GET in the views has already been adjusted in a previous commit.

Let me know if there’s anything else you’d like to see changed!

Is there a plan to merge this? 🙂

I apologize @simon-spier0. I've had a lot on my plate and this project tends to get de-prioritized when that happens. I appreciate your work and thank you for bringing this up again.


Add nullable helpers TPDebug and StringUtils and ban system equivalents

Description
I am needing something similar for Parallel discovery and assembly load context so I thought it would be better to create a separate PR for this feature and have the other PRs simpler.

We should wait with this until we snap for 17.2, at least. @MarcoRossignoli did similar "internal" change and it blew up.


Fixes #37 : Add an Intake list template for products

Created an intake file checklist which helps keep track of progress of products as well as making sure necessary files are present

I also thought we could add mutation tests for the code testing but I'm not sure if that is a good or bad idea

@redat97 I added to the project DevOps. Don't forget to add DevOps related issues to your DevOps project and stack ranking the tasks there.

We currently have a situation where our project is open source and includes a checklist with points like "Internal AI Project intake is documented on the internal Wiki", however, the wiki is hosted on a private page. I put myself in the place of someone who is looking to work on this open source project and sees links to pages he cannot acces like the configuration of the Github repository which is in the private wiki. I am having trouble understanding if this list is for the CFIA or for public use

Your title, description and commits don't contain references to the issue @redat97 ; you have to set the example for developers by following the process.

Your title, description and commits don't contain references to the issue @redat97 ; you have to set the example for developers by following the process.

I have no idea why I didn't do that in the first place I'll make sure of it from now one


Tiny doc bug: incorrect arg shown to dev_tools/modules.py in dev/modules.md

Description of the issue
In the Cirq modules documentation, at the bottom, the command line to list modules is given as
python dev_tools/modules.py --list

but in fact, attempting to use --list will result in an error, because the argument should actually be list (without the dashes).
How to reproduce the issue
In a shell, with the current directory being the top of the Cirq repo, running python dev_tools/modules.py --list results in the following error:
usage: A utility for modules. [-h] {list,print_version,replace_version} ...
A utility for modules.: error: unrecognized arguments: --list

Cirq version
0.15.0.dev

Discussion: this has already been fixed.

Fixed by https://github.com/quantumlib/Cirq/pull/5638


Generic type parameter is not correctly resolved when the class hierarchy is deeper than 3 levels.

MyBatis version
Probably all (Tested on 3.4.6 and 3.5.0-SNAPSHOT)
Database vendor and version
Probably all (Tested on ORACLE and HSQLDB)
Test case or example project
Pull request #1259
Steps to reproduce
Run test case from pull request #1259
Expected result
MyBatis should automap NUMERIC database type to corresponding Java type based on class inheritance.
MyBatis can do that when generic filed is specified in parent class or parent of parent class. But when generically typed field is specified in higher level of inheritance, MyBatis does not recognize generic type correctly and automaps default type for NUMERIC database type, which is BigDecimal.
Actual result
NUMERIC results in BigDeciaml instead of Integer.

Probably, the TypeParameterResolver#resolveReturnType does not return a correct type.
I've tried following tests.
@Test
public void concrete1() throws NoSuchMethodException {
  Assert.assertEquals(Integer.class.getName(), TypeParameterResolver
      .resolveReturnType(Concrete1.class.getMethod("getId"), Concrete1.class).getTypeName());
}

@Test
public void concrete2() throws NoSuchMethodException {
  Assert.assertEquals(Integer.class.getName(), TypeParameterResolver
      .resolveReturnType(Concrete1.class.getMethod("getId"), Concrete2.class).getTypeName());
}

@Test
public void concrete3() throws NoSuchMethodException {
  Assert.assertEquals(Integer.class.getName(), TypeParameterResolver
      .resolveReturnType(Concrete1.class.getMethod("getId"), Concrete3.class).getTypeName());
}

concrete1 and concrete2 are successful.But concrete3 is failed.

Thank you for the test case, @pavelda2 !
It really helps. :)
As @kazuki43zoo pointed out, there seems to be a bug in TypeParameterResolver.
I'll look into it.

Hi @pavelda2 ,
I committed a simpler test case, but verified the fix with your test cases as well.
It would be great if you could test your solution with the latest snapshot to verify the fix.
Thank you!

Hi @harawata, lastest snapshot fixed the problem in my solution. Thank you.


To begin, make first email for new request to require admin approval

A new request should start the email the author chain, but that chain should FIRST go to a list where the ODB admin can approve or deny the send of the first email. Ideally the ODB admin should be able to edit the email and send or not send.
Put a header up on the requests page to say they are being moderated before sending, so people know they are not yet instant.

I think all we need here is "Put a header up on the requests page to say they are being moderated before sending, so people know they are not yet instant."

Done, they say awaiting moderation


Call to undefined method League\Flysystem\Filesystem::getAdapter() in laravel 9

Same here.

I have a fix for it in this pull request: https://github.com/InfinetyEs/Nova-Filemanager/pull/177

This fork has everything working afaics https://github.com/grayloon/nova-filemanager

I create a version for Nova 4
It's still in work
https://github.com/stepanenko3/nova-filemanager


Casting pointers to and from integers

I expect this page to document how pointers and integers interact when typecasted between each other.

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

ID: 10440523-52d4-720a-82f1-3a24c126497e
Version Independent ID: b87d2bd4-f0e5-938b-f05d-64c4bf509f4c
Content: Arrays and Pointers
Content Source: docs/c-language/arrays-and-pointers.md
Product: visual-cpp
Technology: cpp-c-language
GitHub Login: @corob-msft
Microsoft Alias: corob

@henke37
This section is based on a (very old) standard language reference, and doesn't speak to that particular issue.


remove stop the world

We can implement compaction without a stop the world phase.  Say we have 2 MiniHeaps that can be meshed, and we intend to merge B into A:

First, note that both B and A are detached - they aren't being actively allocated out of (invariant maintained by global heap, attached MiniHeaps aren't candidates for meshing)
Install a signal handler on all threads that triggers on SIGSEGV (DoubleTake does this)
mprotect(B->startAddress(), B->spanLength(), PROT_READ) the virtual range of B.
If a signal handler traps on access to B, spin or pause that thread until the meshing is done (should be quick, just copying some objects!  Reads of objects on B fine, only writes will trap)
Copy the live objects from B -> A
Update the page tables to point B at the physical span of A
restore B: mprotect(B->startAddress(), B->spanLength(), PROT_READ|PROT_WRITE)
Done!

This will allow us to remove the literal stop the world pause (there will still be some global locking, but if a thread isn't allocating and isn't writing to a span undergoing meshing, it should be unencumbered), and will also enable us to remove the LLVM sanitizer machinery we've pulled in that implements stop-the-world.
Bonus: I think that this approach should play nicer with browser sandboxes, enabling us to give another go at multi-process Firefox.
nitty details:
We probably need to interpose on mprotect and record any specific page permissions an application is applying to malloced objects, so that we can properly reset the permissions at the end.  Hopefully applications only do that with mmaped allocations...

Might be worth taking a look at http://www.hboehm.info/gc/gcdescr.html (Boehm's GC also uses page protection as a write barrier).


Rule for iOS Simulator to keep floating

I've added the following rule to .yabairc to keep the iOS Simulator windows floating:
yabai -m rule --add app="^Simulator" manage=off

However for some reason the Simulator is still tiled. I've also tried different app regexes like ^Simulator$ or Simulator, but to no avail.
Simulator window information:
{
  "id": 31707,
  "pid": 43642,
  "app": "Simulator",
  "title": "",
  "frame": {
    "x": 1282,
    "y": 2,
    "w": 472,
    "h": 936
  },
  "level": 0,
  "role": "AXWindow",
  "subrole": "AXStandardWindow",
  "movable": 1,
  "resizable": 0,
  "display": 1,
  "space": 1,
  "visible": 1,
  "focused": 0,
  "split": "vertical",
  "floating": 0,
  "sticky": 0,
  "border": 1,
  "shadow": 1,
  "zoom-parent": 0,
  "zoom-fullscreen": 0,
  "native-fullscreen": 0
}

This works for me. Are you sure you've restarted yabai (your yabairc is just a file that yabai executes on startup).

Ha, I actually did restart yabai multiple times, but what I didn't do was restarting the simulator. For some reason it only worked after I did that - but now it works brilliantly every time! Thanks a lot @dominiklohmann !

Side note: interestingly enough sometimes the simulator out of the blue becomes tiled again. Didn't find a pattern yet. Restarting the simulator helps then.

@ubuntudroid One scenario where the Simulator would become tiled again is when for whatever reason yabai would crash and automatically restart.

@danielakl I'm pretty sure that didn't happen here. However, if it did: why would it tile again then? Shouldn't the rules be applied after a restart of yabai as well?

Shouldn't the rules be applied after a restart of yabai as well?

The yabairc file is executed asynchronously, so what you're really asking for is for rules to be applied when added.

A rule is applied to existing windows when it is added. If there is some effect of a rule that does not apply to an existing window, that should be considered a bug. If you have steps to reproduce such a scenario, please create a new issue for that.

Thanks everyone, will monitor this and report back once I have found a way to reproduce reliably. :)


refactor: moved validated forced decision to decision service.

Summary

find_validated_forced_decision moved to decision service.

Test plan

All unit tests and FSC should pass.

Coverage increased (+7.0e-05%) to 99.453% when pulling c971e10027f5882804a4a9163074e8f7d34944fe on uzair/move-validate-forced-decision into be870fe2f213f8884c3d2d9a7df81c195e06ffb1 on master.


add user info to revision

Authenticators can use this to annotate revisions with arbitrary user
information that can then be used by e.g. custom notification senders.

@frsyuki PTAL

Nice 👍
How do you think about comment?

Sure, SGTM.

Added a commit to make the revision user info field non-optional. This now forces all creation sites of Revision to also have a ConfigFactory to create an empty Config to provide as userInfo. Is this really desirable?
Alternatively we could make builderFromArchive initiate the user info field to {} but then it needs a ConfigFactory.
Perhaps a deeper problem here is the fact that one needs a ConfigFactory to create a Config. Perhaps Config should not have a ObjectMapper field. Perhaps it should be less tightly coupled to jackson. Perhaps the internal representation should simply be a Map<String, Object> instead of ObjectNode?

Well, Revision.builderFromArchive already requires ConfigFactory through meta.getDefaultParams().getFactory().
Having ObjectNode doesn't require ObjectMapper. Mapping between JsonNode and Java classes need ObjectMapper. So, ConfigElement doesn't has ObjectMapper but also doesn't have get or set methods.
Problem is when we should use ConfigElement and when we should use Config...and I don't have good ideas.

Please merge, if you're also good 👍


PurePosixPath

Hello, nice repo. I'm completely new to this whole thing. And meson first build of the system I(mostly I programmewill on Vala).
I changed the paths to my ANDROID_SDK_HOME in build-armv7a.sh and android-armhf.ini but I get an error when starting:
~/meson-android-helloworld-master ❯❯❯ cross/build-armv7a.sh
building...
Toolchain: /home/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake
The Meson build system
Version: 0.54.0
Source dir: /home/gavr/meson-android-helloworld-master
Build dir: /home/gavr/meson-android-helloworld-master/armv7a-build
Build type: cross build

meson.build:1:0: ERROR: The value of the 'libdir' option is PurePosixPath('//home/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/arm-linux-androideabi:/home/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/arm-linux-androideabi/21:/home/Android/Sdk/ndk-bundle/platforms/android-21/arch-arm/usr/lib') which must be a subdir of the prefix '/home/Android/Sdk/ndk-bundle'.
Note that if you pass a relative path, it is assumed to be a subdir of prefix.

What else do I need to do?

I posted this repo in order to give the meson devs something to work with to start solving the issues. They clearly have no interest in supporting meson on Android.
I would abandon the effort. This effort brought sharply into focus how superficial Meson's cmake wrapper really is. Your time would be much better be spent on conan integration with Android, which will leverage cmake, instead of trying to make meson work.
Personal opinion here. Now that I've dived deep into the bowels of meson, I have been turned off of it entirely as a build framework. I use either build2 for projects when I can or cmake/conan. The later has it's warts, but it is highly efficient once you climb the learning curve.


Pipeline requests failing in cluster mode after bundling with Parcel

Parcel production builds use name-mangling on node_modules to reduce the bundle size. This is causing Redis cluster pipeline requests to throw exceptions due to line 15 in pipeline.ts:
this.isCluster = this.redis.constructor.name === 'Cluster'
The Cluster class is renamed, so this check always returns false. I realize this isn't really a bug in ioredis, but it would be nice to be able to bundle ioredis with name mangling enabled.

In Pipeline this.redis is actually a Redis.prototype
It's not possible to import Cluster into pipeline.ts because it would create circular dependency, so we can't use isPrototypeOf (instead of constructor.name check).

Other possible way to "detect" Cluster is to check presense of method which exists in Cluster, but doesn't exist in Redis, for example .nodes(). I.e. need to change this.isCluster = this.redis.constructor.name === 'Cluster' to this.isCluster = !!this.redis.nodes

I ran into this issue with Webpack + Terser, where I got errors saying some methods were 'undefined'.
One workaround is to disable function name mangling. by setting keep_fnames to true.

This should have been fixed with https://github.com/luin/ioredis/commit/bfc194dcad2af527e802d6f5b060f0b0779e840d in v4.23.1


Would configurable output in the healthcheck servlet be useful ?

I was wondering, would making that configurable be useful ? E.g. so that somebody for instance could have json generated instead of plain text ?
I toyed with the idea a little bit here: https://github.com/tomdz/metrics/commits/healthcheck-renderer

At some point, I can see this being useful, yes. The same mechanism might also be useful for rendering metrics, etc.

I'm hijacking this issue -- the plan for 3.0 is to separate the rendering of metrics out. This will simplify MetricsServlet as well as allowing for alternative formats.


Height does not fit screen when sizing_mode="stretch_both"

Background
Panel and Bokeh both support many responsiveness options, but their integration is difficult.
Something about our player tricks one of them to do something really weird where there is a large margin between the bottom of the player and the bottom of the screen, I think it has to do with the progress bar being NOT responsive by definition.
Recommended Prior Knowledge

Experience with Bokeh, HoloViews and Panel

Suggestion
Look at a WaloViz player with chrome devtools, specifically try to find the problematic Bokeh grid box and highlight its grid, that's the exact symptom.
About finding the cause - I have no Idea.
A possible solution might be in either Bokeh, Holoviews or Panel's various height and sizing_mode configurations.

Just a thought, have you tried stylesheets or styles?
For reference:
https://github.com/holoviz/lumen/pull/636

@ahuang11 Huh, this is not obviously a solution but I'll give it a go and update in a few days, thanks :)


bgp: Replaced localNodeStore based nodespecer with resources

In PR #22397 the nodespecer implementation was turned into a cell. That implementation used the localNodeStore to get access to a generic node object that would contain annotations, labels and podCIDRs.
However, it turns out that the localNodeStore doesn't function as one might expect and didn't register updates properly.
This PR changes the implementation to use resources to subscribe to changes in the node objects of the API server directly. This is very much like the old pre-modularization implementation, but now using resources instead of informers.
Fixes: #23155
Fixed bug where the BGP Control Plane would ignore annotations on the node objects

/test

/test-1.24-5.4

/test-1.25-4.19

/test-1.26-net-next


Pipeline WeatherScore error based on gitlab

Versions used
KubeSphere: v3.2.0-alpha.0
Preconditions
There are pipelines created based on gitlab
To Reproduce
Steps to reproduce the behavior:
1、search pipelines

/kind bug
/cc @kubesphere/sig-devops
/priority Medium

/assign

/area devops


Reduce tox name for minimum dependency test

Minimum dependency test is failing for azure-eventhub-checkpointstore-aio due to long path name. Quick fix for now is to reduce tox name to "mindependency".

Can one of the admins verify this patch?


fix file uploads for Keystone models

as a developer, I need to fix file uploads in Keystone so that files can be attached to models

Tasks

[ ] get file uploads working for Child attachments
[ ] ensure all child attachments are stored in the correct folder of the S3 bucket
[ ] get file uploads working for Family attachments
[ ] ensure all family attachments are stored in the correct folder of the S3 bucket

Definition of Done

[ ] files can be attached to child records
[ ] files can be attached to family records

per jared 8/6: #7 should be put off as it’s migration code that I should handle personally after upgrading Keystone.


Resolve compilation error

Just indicate to install c++ if no CXX compiler is available. FIx #3

I signed it!


WIP Pre Swift 4.2 Local packages

https://github.com/exercism/swift/issues/243
Cant quite replace the other builds yet since this is only supported in swift 4.2

error: missingLinuxMain

-TODO:
I guess the best thing to do here is to create a Tests/LinuxMain.swift with all the LinuxMain recreated from each of the local packages.

    //writing
    do {
        try text.write(to: fileURL, atomically: false, encoding: .utf8)
    }
    catch {/* error handling here */}

closing in favor of https://github.com/exercism/swift/pull/348


IAM Policy cannot be created due to  InvalidTypeException

Describe the Bug
ES was created without iam_role_arns. After adding it and applying it failed with:
module.elasticsearch.aws_iam_role.elasticsearch_user[0]: Creating...
module.elasticsearch.aws_iam_role.elasticsearch_user[0]: Creation complete after 1s [id=xxx-user]
module.elasticsearch.data.aws_iam_policy_document.default[0]: Refreshing state...
module.elasticsearch.aws_elasticsearch_domain_policy.default[0]: Creating...

Error: InvalidTypeException: Error setting policy: [{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Action": [
        "es:List*",
        "es:ESHttpPut",
        "es:ESHttpPost",
        "es:ESHttpHead",
        "es:ESHttpGet",
        "es:Describe*"
      ],
      "Resource": [
        "arn:aws:es:us-east-2:xxx:domain/xxx/*",
        "arn:aws:es:us-east-2:xxx:domain/xxx"
      ],
      "Principal": {
        "AWS": [
          "arn:aws:iam::xxx:role/xxx-user",
          "arn:aws:iam::xxx:role/xxx"
        ]
      }
    }
  ]
}]

  on .terraform/modules/elasticsearch/main.tf line 227, in resource "aws_elasticsearch_domain_policy" "default":
 227: resource "aws_elasticsearch_domain_policy" "default" {

This is due to IAM did not yet have Unique Identifier available. Every ARN entity is converted to Unique Identifier for security reasons.
https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids
Expected Behavior
It should simply apply changes. Second apply works fine.
Steps to Reproduce

Create cluster without iam_role_arns
Add iam_role_arns
It might be hard to reproduce due to a lot of factors.

Have the same issue. When i try add this policy manual by AWS Management console I have error:
This policy contains the following error: This policy contains invalid Json For more information about the IAM policy grammar, see AWS IAM Policies

I'm seeing this failure pretty consistently when the role is created and the domain policy is created at the same time. if i re-apply after the role has been created, the domain policy can be created successfully.

I have the same problem. Any idea?

I'm having the same issue too :(

Maybe the role has to be created first and then the domain policy. Perhaps an explicit depends_on may solve this issue.

The error seems still there, this was working though, trying to figure out what has changed.
│ Error: InvalidTypeException: Error setting policy: [{"Version":"2012-10-17"}]
│
│   with module.central_logs_opensearch.aws_elasticsearch_domain_policy.default[0],
│   on modules/aws-elasticsearch/main.tf line 287, in resource "aws_elasticsearch_domain_policy" "default":
│  287: resource "aws_elasticsearch_domain_policy" "default" {
│


Clone someone's AC codes

There is a easy way to clone ourselves codes by this bash script
for((i=1;i<=2000;i++)); do cf pull ac $i; done

But it cannot clone other's codes and seems like not good.
So, I decide to add a new command clone for cloning someone's codes.

Why not just add a new argument to cf pull, like cf pull user=xalanq ...? By default, let user be the currently logged in user. Thoughts?

By default, if you just use cf pull, it will not pull all your codes (It will detect the parameters from the path). So if the tool use cf pull to clone all codes, it has to add a new parameter or something else. So I decide to add new command clone just like git clone :). What do you think?

You could make cf pull in such a way that if no parameter is provided, pull all submissions of a user. Also, @GaurangTandons idea could be implemented.

I am seeing two things here:

cloning another user's codes ("But it cannot clone other's codes")
cloning all codes written by a user ("By default, if you just use cf pull, it will not pull all your codes")

For each of these we could two new parameters to cf pull:

user=<username> - user whose codes you want to pull
since=<date> - specify date starting from which you want to pull all the codes

Specifying since=01/01/1970 would let user, for example, pull all their codes.
I am a bit hesitant about cf clone because it will complicate things for the end user (another command to remember). Whereas in most cases user can ignore the user and since parameters and cf pull will do what they want to.

I partially agree with you. But we should remember not only commands but also the parameters of commands. Both of them should be simpler.
cf pull --user=xalanq --since=01/01/1970
cf clone xalanq
I think the latter is simpler.
On the other hand, I think pulling all codes from Codeforces is not a high frequency requirement. If someone want to do that, just see the usage.


add image pull policy

Description
Currently one cannot use the kubernetes run when using an image loaded to a kind cluster as the image pull policy is hard coded to Always. This changes it to make it configurable.
Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: https://github.com/dapr/cli/issues/1463
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Extended the documentation

@artursouza @antontroshin please check

@antontroshin @elena-kolevska could you re-approved? I added the feedback from @antontroshin

@elena-kolevska please take another look. thx

Upgrade tests are failing, is this related?


:lipstick: change color to match new Zenika branding

Hey 👋
I changed the red color used in the website to a new red to comply with the new Zenika branding guidelines. Do I have to update it elsewhere ? 🤔

LGTM + GitHub Code Search preview


security: fix DOM clobbering in auto public path

What kind of change does this PR introduce?
bugfix and security
Did you add tests for your changes?
Added a comment + existing tests
Does this PR introduce a breaking change?
No
What needs to be documented once your changes are merged?
No
/cc @hardfist @fi3ework @ahabhgk @JSerFeng rspack affected too https://github.com/web-infra-dev/rspack/blob/main/crates/rspack_plugin_runtime/src/runtime_module/auto_public_path.rs#L91, if you need to demonstrate the problem, write to me personally (slack/telegram)

@alexander-akait  thanks for notification, fixed in Rspack too https://github.com/web-infra-dev/rspack/pull/7664

Will this be backported to v4?

Does this vulnerability actually affect Webpack 4? I have opened https://github.com/webpack/webpack/issues/18718 to ask that question.


setOption edge color options not updating edge properties

hi.
dynamic option setting with setOptions() not working with edge colors (color.color, color.opacity etc)
though the network.edgesHandler.options gets updated.
network.setOptions({edges:{color:{opacity:0.0}}}).
on init all the parameters are ok afaik.
g

What exactly is wrong? Could you provide a MWE?
Because to me it seems to be working just fine: https://jsfiddle.net/2qzu916x/ .

sure. i might do something wrong but here it is:
https://jsfiddle.net/ts3jv4n8/16/

@gase12 The problem is, that you use the legacy Vis 4.15.0. With vis-network 5.1.1 everything works just fine: https://jsfiddle.net/pjf2L640/ .

omg. sorry.

No problem, everybody makes mistakes.

@gase12 Thanks for opening this issue. We are happy that it could be resolved! Working on these issues takes a lot of time. Please consider supporting further maintenance and development!


Config: Full Example

Ideally in tests by language

Unit test that mdlinker.toml uses no default values. Then link to it from the readme.


Removing item from array

Hey, I'm trying to remove an item from an array using the following:
  if (action.type === 'SHOUTOUT_DELETED') {
    return {
      shoutouts: [
        ...state.shoutouts.slice(0, action.index),
        ...state.shoutouts.slice(action.index + 1)
      ]
    }
  }

In theory this should only remove the index provided. But it removes all the items above the given index. Any clue on what's causing this behaviour?
Thanks!

I can't see anything wrong with the code you provided and it works as expected when I try to remove an item at a specific index in my browser console. Are you quite sure this is the code that produces the unexpected behavior?
Also, have you tried debugging it to see what might be the problem?

This is a usage question, and should be asked on Stack Overflow instead.  Also, even though it involves some reducer code, it really doesn't have anything to do with Redux itself - it's a question about Javascript usage.
That said, one alternate approach would simply be:
return {
   shoutouts : state.shoutouts.filter( (item, index) => index !== action.index)
}

I appreciate the help guys! Such a lovely community to join as a newb. Much love❤

In case anyone comes here from Google, both of @felixaa 's and @markerikson 's approaches work. Check the rest of your code and logs.

still not working, removes all the items above the given index, and commented filter doesn't do anything :
case actionTypes.REMOVE_IMAGE: {
  alert(action.payload)
    return {...state,
      // adImagePaths: state.adImagePaths.filter((_, index) => index !== action.payload)
      adImagePaths: [
          ...state.adImagePaths.slice(0, action.payload),
          ...state.adImagePaths.slice(action.payload + 1)
        ]
  }
}

Hi! in my case I have a users table, with checkboxes on every row to select users. On clicking the checkboxes I update the app state. Each checkbox is populated with the user ID. If one checkbox gets unchecked, I run this reducer:
    case USER_SELECTION_REMOVE:
      // Check if user ID is in the selected users array
      if (state.selectedUsers.indexOf(action.payload) > -1) {
        return {
          ...state,
          selectedUsers: state.selectedUsers.filter(item => item !== action.payload),
        };
      }

With this code I get rid of UserID when his checkbox is unchecked

For anyone coming from Google with this issue still wanting to use slice:
In my case the action.index was returning as a string, so if action.index === '1' you would get action.index + 1 returning as 11. If you convert it to a number it should work, you would get 2.
if (action.type === 'SHOUTOUT_DELETED') {
return {
const numIndex = parseInt(action.index)
shoutouts: [
...state.shoutouts.slice(0, numIndex),
...state.shoutouts.slice(numIndex+ 1)
]
}
}

Thank you @kurtwilliam. Had the same issue! Did not think about that! :)


Tasks does not recognise checked off items unless done through command

Expected Behavior
If there is no global filter set, marking any checklist item as done by directly clicking on it should add the date at the end and be searchable by query.
Current Behavior
Only the items marked as done using the tasks command "toggle task done" are recognised by the plugin as done. For example, those marked as done by moving into a lane in karban board will not be recognised as done by tasks plugin. Even those items that are checked off directly by hovering over the check box are not recognise.
Steps to Reproduce
https://user-images.githubusercontent.com/78266798/143624579-443acffa-621b-4476-9b5d-21b8f9e59598.mov
Context (Environment)

Obsidian version: 0.13.6
Tasks version: 1.4.1
[x] I have tried it with all other plugins disabled and the error still occurs

Thank you for the well crafted report @psychsatani! I think this is a duplicate of #413. Is that correct?


Drift not working on Web

Can't seem to get it working on web(Works fine for native platform). Went through all the docs properly. I have a pre - populated .db file which I want to use for web. But can't seem to get any entry or any query executed.

Does the example app work on the web for you? Does drift work without trying to use a pre-populated database or is that broken too? Are there any logs in the browser console? I think I need to see some code or more details on what you're doing to fix this.

Hello, example app works on web (ubuntu + brave browser ) just fine.
Is there a planned web-assembly support ? Due to dart:html usage in drift (probably in sqflite3) and filepicker dependencies used, I can't get it to compile. Or am I asking too much? 😁
Thanks for this great library @simolus3 . Insane work, I wish I could help somehow

Yeah, I'm currently using dart:html to access some web APIs like workers and message channels. I can rewrite these bindings ontop of dart:js, but I think I want to wait for dart:js_interop to mature before I start changing things.
Given that sqlite3 is also using wasm, hopefully we can eventually just link sqlite and your Flutter application into the same web assembly module. But I don't think the platform can do these things yet, so it might be a little early for drift to start migrating.

Yeah, I'm currently using dart:html to access some web APIs like workers and message channels. I can rewrite these bindings ontop of dart:js, but I think I want to wait for dart:js_interop to mature before I start changing things.
Given that sqlite3 is also using wasm, hopefully we can eventually just link sqlite and your Flutter application into the same web assembly module. But I don't think the platform can do these things yet, so it might be a little early for drift to start migrating.

Thank you @simolus3 for the detailed answer. I am planning to use drift for my next big project and it is great to hear that there will be full wasm support once things get mature on flutter side.

any news on the problem ?
@panalgin was your test local or in a real website ?
I am also facing error to use on the web, even with the example app.... it works when I run it from vscode, but when I build it with "flutter build web", and push it to my website it doesnt work. tested with chrome 120.0.6099.217, edge 120.0.2210.133 and fireforx 121.0.1
chrome and edge throws same error:
Using WasmStorageImplementation.sharedIndexedDb due to unsupported browser features: {MissingBrowserFeature.dedicatedWorkersInSharedWorkers, MissingBrowserFeature.sharedArrayBuffers}
TypeError: Failed to execute 'compile' on 'WebAssembly': Incorrect response MIME type. Expected 'application/wasm'.
firefox throws:
Using WasmStorageImplementation.opfsShared due to unsupported browser features: {MissingBrowserFeature.sharedArrayBuffers} main.dart.js:28768:78
TypeError: WebAssembly: Response has unsupported MIME type 'text/plain' expected 'application/wasm' main.dart.js:28768:78

WebAssembly: Response has unsupported MIME type 'text/plain' expected 'application/wasm'

Which web server are you using? It needs to recognize .wasm files and serve them with an Content-Type: application/wasm header.

WebAssembly: Response has unsupported MIME type 'text/plain' expected 'application/wasm'

Which web server are you using? It needs to recognize .wasm files and serve them with an Content-Type: application/wasm header.

using apache, thanks. resolved by adding all headers and clearing cache. I was fooled by the table, where it says full support without headers. Below are the headers I added to my .htacess file to make it work if anyone need it.

btw @simolus3 when I posted the comment, I looked for solved problems closed to the web, and I found many, some repeated several times. I know there is a manual, but I got lost there myself. Maybe you could do step-by-step testing of the known issues and how to resolve them.

    Header always set Cross-Origin-Opener-Policy "same-origin"
    Header always set Cross-Origin-Embedder-Policy "require-corp"
    Header always set Access-Control-Allow-Origin "*"

    AddType application/wasm .wasm

Good point, I'll change the documentation to highlight that better.

Would someone care to share how they were able to enable Content-Type: application/wasm when serving their web app? I've tried these instructions I found:
https://docs.flutter.dev/platform-integration/web/wasm
but when I run the following command I error "Not Found"
dhttpd '--headers=Cross-Origin-Embedder-Policy=credentialless;Cross-Origin-Opener-Policy=same-origin'
Server started on port 8080
At
http://localhost:8080
I've also tried
<IP_ADDRESS>:8080
But this didn't find the web server at all.
Thanks in advance

I went to examples/app in this repository, ran dart run build_runner build and flutter build web. This generates a website into build/web, which I ran with:
dhttpd '--headers=Cross-Origin-Embedder-Policy=credentialless;Cross-Origin-Opener-Policy=same-origin' --path build/web/

That worked (well I've only tested Firefox but the headers are there). I've actually had to run dart pub global activate dhttpd again because my local version was too old to support custom headers. Maybe that's a problem with your local copy as well, does dhttpd --help mention the --headers option?

However when running the example app it works fine.

Also with the dhttpd server after building it? I don't see what could break this in another project if the headers are there.

@simolus3 I was missing the --path build/web/ path. Thanks so much!


[Docs] add other creators and contributors to the ontology metadata

Currently only I am listed as creator, but our domain experts and the other VIBSO devs need to be added as well off course!

Of course. In which source file?

@Zack-83 in the src/ontology/vibso-edit.owl using dcterm:contributor please. If we use this over dct:creator for all of us, then we don't have to worry about any concrete attribution details. My ORCID in the metadata shown in the Terminology service comes from the configuration YAML we need for the indexing of VIBSO. I will delete it from there and only leave NFDI4Chem as a creator.


NLog.Targets.LogReceiverWebServiceTarget needs custom binding

receiveService.EndpointConfigurationName assumes that we have a clientconfig in our solution.
However, in SilverLight and PRISm, the config is not locally to our project within a solution. It is xap(ed) and having a basicHttpBinding section in the shell.xaml project, is really not a good solution.
So, I suggest that the LogReceiverWebServiceTarget supports a new method of type Binding so, we can create custom binding in code!

Moved from http://nlog.codeplex.com/workitem/6509

Maybe it makes sense to close some issues that are unlikely to be ever implemented? :)

maybe, until now that's not the policy

ok. I just thought it may make it a little bit more manageable. 190 open issues has a bit of a bad vibe, but then again it's not really important :)

No plans for this now


Feat: Add Docker file

Added docker file for both backend and frontend
and docker-compose.yml for running the whole project in one go
docker-compose up -d

docker-compose logs backend

docker-compose logs frontend -f

I am working on the cli feature after that it is up to you to decide whether to make it optional or permanent.

The branch has merge conflicts please resolve those also I've deleted templates folder because it does not solve the purpose.
I appreciate your contribution!

provide me write access or try making an assignee may be that solves the issue

Yeah, you have got merge issues because your fork was not up-to-date with the upstream branch!

@manishraj27  check now

Yeah, you have got merge issues because your fork was not up-to-date with the upstream branch!

what I mean here is that resolve button is disabled

@manishraj27 this repository is not participating add the tag in repo description for more info check there site

you have made changes in other files as well and you haven't run
npm run lint
npm run lint:fix
the other command files should be untouched since you are creating a new file so there should be no dependent changes
the only files should be:

Readme.md
new file (initializeDocker.js)
index.js (include the initializeDocker.js)
templates folder (no need to create it just shows the preview so remove template folder)

I suggest you to take backup of your file and update with upstream and create one file initializeDocker.js and add the command to index.js.

oh I am sorry I totally forgot about updating the index.js part
so you mean to say I should revert all the changes except in these files?
Readme.md
new file (initializeDocker.js)
index.js (include the initializeDocker.js)
templates folder (no need to create it just shows the preview so remove template folder)

so, I will be reverting changes from CREATEmernproject.js and mongoConnect

@manishraj27 could you check now.

Is template folder necessary?

Is template folder necessary? @pantharshit007

i don't know you guys put it there I thought its for reference

i don't know you guys put it there I thought its for reference

Yeah, that's why I removed the template folder.
Upstream your branch and check the issue.
Also I'am trying to run the command so ill need to install docker right?

i don't know you guys put it there I thought its for reference

Yeah, that's why I removed the template folder. Upstream your branch and check the issue. Also I'am trying to run the command so ill need to install docker right?

yeah you need docker for that or if you are not able to I can send a video of the process here but don't know if it will work since these command should be working based on the code uploaded on npm registery

yeah you need docker for that or if you are not able to I can send a video of the process here but don't know if it will work since these command should be working based on the code uploaded on npm registery

ok ill install the docker but the problem is even if i am running in backend or frontend or in the project it is still telling to run in root

yeah you need docker for that or if you are not able to I can send a video of the process here but don't know if it will work since these command should be working based on the code uploaded on npm registery

ok ill install the docker but the problem is even if i am running in backend or frontend or in the project it is still telling to run in root

I have added a comment above check it

I have added a comment above check it

testDock is project which has backend and frontend folder ive run the command but check what it says

I have added a comment above check it

testDock is project which has backend and frontend folder ive run the command but check what it says

On line 18 you still have those ! Remove them
If (isBackend || isFrontend)

If (isBackend || isFrontend)
ok i see

Your initializeDocker.js code is perfect but you have made some changes in mongodbConnect as well which is creating db name statically before that it used to create db name dynamically so i want you to update the upstreat and raise the pr again with just initializeDocker.js and index.js and than run npm run lint and npm run lint:fix and then it can be merged.
the below code is the initializeDocker.js {i have made some changes in it}
import fs from 'fs-extra';
import path from 'path';
import chalk from 'chalk';
export default function initializeDockerCommand(program) {
program
.command('create-dockerfiles')
.description(
'Generate Dockerfiles for backend and frontend, and docker-compose.yml in root'
)
.action(() => {
const currentDir = process.cwd();
  // Check if backend and frontend directories exist
  const backendDir = path.join(currentDir, 'backend');
  const frontendDir = path.join(currentDir, 'frontend');

  const hasBackendDir = fs.existsSync(backendDir);
  const hasFrontendDir = fs.existsSync(frontendDir);

  if (!hasBackendDir || !hasFrontendDir) {
    console.error(chalk.red('❌ Required directory structure not found.'));
    console.log(
      chalk.yellow(
        '📁 Please ensure both "backend" and "frontend" directories exist in the current directory.'
      )
    );
    return;
  }
  // Dockerfile for backend
  const backendDockerfileContent = `# Use the official Node.js image

FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 5000
CMD ["npm", "run", "dev"]
;       const dockerIgnore = node_modules
dist`;
  // Dockerfile for frontend
  const frontendDockerfileContent = `# Use the official Node.js image

FROM node:20-alpine
Set the working directory
WORKDIR /app
Copy package.json and package-lock.json
COPY package*.json ./
Install dependencies
RUN npm install
Copy the rest of the application files
COPY . .
Expose the port
EXPOSE 3000
Start the application in development mode
CMD ["npm", "start"]
`;
  // docker-compose.yml content
  const dockerComposeContent = `# version: "3.8"

services:
backend:
build: ./backend
ports:
- "5000:5000"
volumes:
- ./backend:/app
environment:
DB_URL: mongodb://mongo:27017/mydatabase # you can change db name here to your liking
# this doesnt work since for that we need .env on same level
# DB_URL: mongodb://mongo:27017/${DB_NAME}
frontend:
build: ./frontend
ports:
- "3000:3000"
volumes:
- ./frontend:/app
environment:
REACT_APP_API_URL: http://localhost:5000/api
depends_on:
- backend # Ensure the backend is started before the frontend
mongo:
image: mongo:latest
ports:
- "27017:27017"
volumes:
- mongo_data:/data/db
volumes:
mongo_data:
`;
  // Create backend Dockerfile & .dockerignore
  const backendDockerfilePath = path.join(backendDir, 'Dockerfile');
  const backendDockerIgorefilePath = path.join(backendDir, '.dockerignore');
  try {
    fs.writeFileSync(backendDockerfilePath, backendDockerfileContent);
    fs.writeFileSync(backendDockerIgorefilePath, dockerIgnore);
    console.log(chalk.green('✅ Backend Dockerfile created successfully.'));
  } catch (error) {
    console.error(
      chalk.red(`❌ Failed to create Backend Dockerfile: ${error.message}`)
    );
    return;
  }

  // Create frontend Dockerfile & .dockerignore
  const frontendDockerfilePath = path.join(frontendDir, 'Dockerfile');
  const frontendDockerIgorefilePath = path.join(
    frontendDir,
    '.dockerignore'
  );
  try {
    fs.writeFileSync(frontendDockerfilePath, frontendDockerfileContent);
    fs.writeFileSync(frontendDockerIgorefilePath, dockerIgnore);
    console.log(
      chalk.green('✅ Frontend Dockerfile created successfully.')
    );
  } catch (error) {
    console.error(
      chalk.red(`❌ Failed to create Frontend Dockerfile: ${error.message}`)
    );
    return;
  }

  // Create docker-compose.yml in root
  const dockerComposePath = path.join(currentDir, 'docker-compose.yml');
  try {
    fs.writeFileSync(dockerComposePath, dockerComposeContent);
    console.log(chalk.green('✅ docker-compose.yml created successfully.'));
  } catch (error) {
    console.error(
      chalk.red(`❌ Failed to create docker-compose.yml: ${error.message}`)
    );
  }

  // Final success message
  console.log(chalk.cyan('\n🎉 Docker files created successfully!'));
});

}

run npm run lint and npm run lint:fix

Dont need since I directly merge your changes in this branch this way your commit will also be preserved.

https://github.com/manishraj27/mern-project-cli/commit/4b444f1a479217c58380787384970eec7448212e
@pantharshit007


Chrome launched, but didn't give us a WebSocket URL before we timed out

I'm seeing the following panic when trying to launch a chromium browser in an alpine docker container:
    Finished dev [unoptimized + debuginfo] target(s) in 6m 46s
     Running `target/debug/headless`
created launch options for browser
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Chrome launched, but didn't give us a WebSocket URL before we timed out', src/main.rs:11:48
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

src/main.rs
This is the only code file needed. It'll panic on the final unwrap.
fn main() {
    use headless_chrome::{Browser, LaunchOptionsBuilder};

    let launch_options = LaunchOptionsBuilder::default()
        .window_size(Some((1280, 1280)))
        .headless(true)
        .port(Some(8001))
        .build()
        .unwrap();
    println!("created launch options for browser");
    let browser = Browser::new(launch_options).unwrap();
    println!("launched browser");
}

Cargo.toml
This has my fork with a fix for the rustls compiler error on the current master.
[package]
name = "chrome-test"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
headless_chrome = { version = "1.0.0", default-features = false, features = ["rustls"] }

Rust Version
$ rustup show
Default host: x86_64-unknown-linux-musl
rustup home:  /usr/local/rustup

installed toolchains
--------------------

nightly-2022-10-21-x86_64-unknown-linux-musl
1.65.0-x86_64-unknown-linux-musl (default)

active toolchain
----------------

1.65.0-x86_64-unknown-linux-musl (default)
rustc 1.65.0 (897e37553 2022-11-02)

Build Environment Dockerfile
FROM rust:alpine
RUN apk add bash alpine musl-dev openssl-dev vim curl alpine-sdk chromium chromium-chromedriver
RUN rustup target add x86_64-unknown-linux-musl
RUN rustup component add clippy llvm-tools-preview

You can use this as a runtime environment:
$ docker build -t chrome-test:latest .
$ docker run -v $(pwd):/opt/app -w /opt/app -it chrome-test:latest /bin/bash
$ cargo run

I tried opening a port explicitly for with iptables, but it had no effect: $ iptables -A INPUT -p tcp --dport 8001 -j ACCEPT
    Finished dev [unoptimized + debuginfo] target(s) in 6m 46s
     Running `target/debug/headless`
created launch options for browser
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Chrome launched, but didn't give us a WebSocket URL before we timed out', src/main.rs:11:48
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Is it possible to disable the debug port entirely?

What's odd is that the above code fails when start_process fails to bind any port between 8000 and 9000 (specifically in the port_is_available function within src/browser/process.rs). However, in the same Alpine build environment, I'm able to bind to this port explicitly using the same function call that is the body of the port_is_available function.
Replace the src/main.rs from above with the following code, and it succeeds:
use std::net;
fn main() {
    println!("{}", net::TcpListener::bind(("<IP_ADDRESS>", 8001)).is_ok());
    println!("{}", net::TcpListener::bind(("<IP_ADDRESS>", 8001)).is_ok());
}

However, attempting to bind to this same port using the LaunchOptions builder method .port(Some(8001)) fails after some failure to bind.

Is it possible to disable the debug port entirely?

im not even sure what it does i havent done any research about it, and this issue seems similar to this #261 #267 #300

Well, it seems simple enough, but I hadn't read the console output from chromium when running my example:

[2023-02-24T23:42:02Z TRACE headless_chrome::browser::process] Chrome output: [0224/234202.994319:ERROR:zygote_host_impl_linux.cc(90)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.

I simply added .sandbox(false) to the browser builder and it works under an alpine docker container/environment. I'm not sure if this closes #261, #267, or #300, but it certainly fixes my issue. 🙂

hey @seanpianka
I'm struggling to have my code run in a docker container,
can you share somehow the Dockerfile related to the alpine ur using,
specifically how to install chrome and make it ready for the binary to use it.
tnx

hey @seanpianka
I'm struggling to have my code run in a docker container,
can you share somehow the Dockerfile related to the alpine ur using,
specifically how to install chrome and make it ready for the binary to use it.
tnx

My dockerfile is in the first message of this issue


Attribute Based Permission Checks

Feature
Create a system for Attribute based permission verification for commands. See DSharPlus.CommandsNext permission attributes for examples.
Allow for a mix of DSharPlus.Permissions emun along with other permissions that are used with the IRC client.

Need to figure out how IRC handles permissions, and how IRCDotNet reads those perms and stores them.
From the a bit of poking around in the IRCDotNet documentation I know that the IrcUser and IrcChannelUser objects hold forms of permission checks. The IrcUser.IsOperator field being one of them.
Other than that, the IrcChannelUser is supposed to hold user specific permissions for the channel the message was sent from in the form of Modes, but I don't have any clue of what those are.
@Brutus5000 do you have any resources we can use for IRC permissions?

https://www.anope.org/ Is used for the IRC server.

Closing this as it is working and implemented, but could very well need improvements in the future for the IRC side of things.

Closing this as it is working and implemented, but could very well need improvements in the future for the IRC side of things.


Change uhdm includes to use <uhdm/...> standard location.

Signed-off-by: Henner Zeller<EMAIL_ADDRESS>

Codecov Report

Merging #1827 (8539a6a) into master (d682d51) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1827      +/-   ##
==========================================
- Coverage    9.00%    9.00%   -0.01%
==========================================
  Files         470      470
  Lines      193336   193337       +1
==========================================
  Hits        17404    17404
- Misses     175932   175933       +1

Impacted Files
Coverage Δ

src/Common/PortNetHolder.h
58.62% <ø> (ø)

src/Design/ClockingBlock.h
0.00% <ø> (ø)

src/Design/DummyType.cpp
14.28% <ø> (ø)

src/Design/ModuleDefinition.h
47.05% <ø> (ø)

src/Design/ModuleInstance.cpp
57.65% <ø> (ø)

src/Design/Netlist.h
38.63% <ø> (ø)

src/Design/SimpleType.cpp
16.66% <ø> (ø)

src/Design/Struct.cpp
89.47% <ø> (ø)

src/DesignCompile/Builtin.cpp
100.00% <ø> (ø)

src/DesignCompile/CompileAssertion.cpp
0.41% <ø> (ø)

... and 553 more

Continue to review full report at Codecov.

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


Develop 3d edit

Better camera & transform controls - can move the camera even if an object is selected
Add helper objects for lights in the editor view

lgtm


[Build] update linter

Description
[Describe what this change achieves]
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #541 (879e431) into main (b7efb33) will decrease coverage by 2.96%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main     #541      +/-   ##
==========================================
- Coverage   35.59%   32.64%   -2.96%
==========================================
  Files         121      136      +15
  Lines        3444     4016     +572
  Branches      602      695      +93
==========================================
+ Hits         1226     1311      +85
- Misses       2081     2565     +484
- Partials      137      140       +3

see 35 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Closing as the issue was solved with these changes https://github.com/opensearch-project/security-analytics-dashboards-plugin/pull/539