Hide delete option for report actions in DMs for initiator

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/23805
PROPOSAL: https://github.com/Expensify/App/issues/23805#issuecomment-1655953806
Tests

Initialize a chat from account A to account B
Send a money request from account A to account B
Open the IOU report by clicking on the IOU preview on both account A and account B
Send a reply from account B
Hover over the sent reply from account A
Verify that you don't see the delete option for messages sent by account B on account A

[ ] Verify that no errors appear in the JS console

Offline tests

If steps 1-5 in the above "Tests" steps are already done, then in offline mode

Verify that you don't see the delete option for messages sent by account B on account A

QA Steps

Same as "Tests" steps above.

[ ] 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 / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

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

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

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

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

Screenshots/Videos

Web
Chrome:
Uploading Web Chrome.mp4…
Safari:
https://github.com/Expensify/App/assets/68777211/1589e761-8874-4d64-a398-e15d8484a186

Mobile Web - Chrome
https://github.com/Expensify/App/assets/68777211/e44b0f83-6b6b-4759-91bd-adcde01182c6

Mobile Web - Safari
https://github.com/Expensify/App/assets/68777211/54f017fb-c2b7-48c1-a5e1-0515754fcd67

Desktop
https://github.com/Expensify/App/assets/68777211/482fb12f-f52c-472d-9929-ebb6847b232c

iOS
https://github.com/Expensify/App/assets/68777211/f40d21be-2187-4fae-93a9-fe90941f3232

Android
https://github.com/Expensify/App/assets/68777211/41fb9ab7-352e-4120-9974-cc368428987d

@huzaifa-99 I reviewed the code, and I am going to test this now. About workspaces I'll let @neil-marcellini answer.

Reviewer Checklist

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

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

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

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

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

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] 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 approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

Screenshots/Videos

Web
https://github.com/Expensify/App/assets/3069065/c7856c31-5a65-48f2-9dea-2cf7d4f0cfe3

Mobile Web - Chrome
https://github.com/Expensify/App/assets/3069065/b72ead54-8221-4019-bc13-a0814ccbbad3

Mobile Web - Safari
https://github.com/Expensify/App/assets/3069065/0f19681e-561e-4921-993d-021fd9952a0a

Desktop
https://github.com/Expensify/App/assets/3069065/6111ad33-a46a-4d47-ac77-829bac0d7af5

iOS
https://github.com/Expensify/App/assets/3069065/57251f94-a456-468f-b3d0-56ed03eb0d07

Android
https://github.com/Expensify/App/assets/3069065/4ca7cdd0-01c2-4e45-9c26-4b8b938676e7

🎀 👀 🎀  C+ reviewed. @neil-marcellini All yours. Still waiting for an update on the answer related Workspace.

I'll put this on my list for today

Do we want to show the delete option for workspace admins in case of a thread in a workspace room

Create a workspace, invite some members
From the workspace admin account, send a message in the announce room and start a thread
From a workspace member account, add a comment to the thread.

Should the workspace admin be able to delete this comment?

Yes I think so, good point.

I'll hold off on merging if you want to make that change now @huzaifa-99

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

🚀 Deployed to staging by https://github.com/neil-marcellini in version: 1.3.56-0 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/roryabraham in version: 1.3.56-24 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


github publisher unable to create release

Pre-flight checklist

[X] I have read the contribution documentation for this project.
[X] I agree to follow the code of conduct that this project uses.
[X] I have searched the issue tracker for a bug that matches the one I want to file, without success.

Electron Forge version
6.0.5
Electron version
23.0.0
Operating system
Windows 10 Pro
Last known working Electron Forge version
No response
Expected behavior
Github release is created an Squirrel setup executable is attached as asset.
Actual behavior
I am using the following workflow file:
name: Make and Publish to Github

on:
  push:
    branches:
      - master

env:
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
  build_on_win:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@master
        with:
          node-version: 18
      - name: Install dependencies
        run: yarn install
      - name: Publish
        run: yarn run publish

I get the following error:
[STARTED] [publisher-github] Running the publish command
[DATA] Searching for target release: v1.0.1
[FAILED] Not Found
[FAILED] Not Found

An unhandled rejection has occurred inside Forge:
HttpError: Not Found
at D:\a\launcher\launcher\node_modules\@octokit\rest\node_modules\@octokit\request\dist-src\fetch-wrapper.js:68:27
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Job.doExecute (D:\a\launcher\launcher\node_modules\bottleneck\light.js:405:18)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Error: Process completed with exit code 1.

Here is the full log of my publish step:
yarn run v1.22.19
$ electron-forge publish
[STARTED] Checking your system
[STARTED] Checking git exists
[STARTED] Checking node version
[STARTED] Checking packageManager version
[TITLE] Found<EMAIL_ADDRESS>[SUCCESS] Found<EMAIL_ADDRESS>[TITLE] Found<EMAIL_ADDRESS>[SUCCESS] Found<EMAIL_ADDRESS>[TITLE] Found<EMAIL_ADDRESS>[SUCCESS] Found<EMAIL_ADDRESS>[SUCCESS] Checking your system
[STARTED] Loading configuration
[SUCCESS] Loading configuration
[STARTED] Resolving publish targets
[DATA] Publishing to the following targets: github
[SUCCESS] Resolving publish targets
[STARTED] Running make command
[STARTED] Loading configuration
[SUCCESS] Loading configuration
[STARTED] Resolving make targets
[DATA] Making for the following targets: squirrel
[SUCCESS] Resolving make targets
[STARTED] Running package command
[STARTED] Preparing to package application
[SUCCESS] Preparing to package application
[STARTED] Running packaging hooks
[STARTED] Running generateAssets hook
[SUCCESS] Running generateAssets hook
[STARTED] Running prePackage hook
[STARTED] [plugin-webpack] Preparing native dependencies
[TITLE] [plugin-webpack] Preparing native dependencies
[SUCCESS] [plugin-webpack] Preparing native dependencies
[STARTED] [plugin-webpack] Building webpack bundles
[SUCCESS] [plugin-webpack] Building webpack bundles
[SUCCESS] Running prePackage hook
[SUCCESS] Running packaging hooks
[STARTED] Packaging application
[DATA] Determining targets...
[STARTED] Packaging for x64 on win32
[STARTED] Copying files
[SUCCESS] Copying files
[STARTED] Preparing native dependencies
[TITLE] Preparing native dependencies
[SUCCESS] Preparing native dependencies
[STARTED] Finalizing package
[SUCCESS] Finalizing package
[SUCCESS] Packaging for x64 on win32
[SUCCESS] Packaging application
[STARTED] Running postPackage hook
[SUCCESS] Running postPackage hook
[SUCCESS] Running package command
[STARTED] Running preMake hook
[SUCCESS] Running preMake hook
[STARTED] Making distributables
[STARTED] Making a squirrel distributable for win32/x64
[SUCCESS] Making a squirrel distributable for win32/x64
[SUCCESS] Making distributables
[STARTED] Running postMake hook
[DATA] Artifacts available at: D:\a\launcher\launcher\out\make
[SUCCESS] Running postMake hook
[SUCCESS] Running make command
[STARTED] Publishing distributables
[STARTED] [publisher-github] Running the publish command
[DATA] Searching for target release: v1.0.1
[FAILED] Not Found
[FAILED] Not Found

An unhandled rejection has occurred inside Forge:
HttpError: Not Found
at D:\a\launcher\launcher\node_modules\@octokit\rest\node_modules\@octokit\request\dist-src\fetch-wrapper.js:68:2[7](https://github.com/nzhul/launcher/actions/runs/4806546800/jobs/8554196138#step:5:8)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Job.doExecute (D:\a\launcher\launcher\node_modules\bottleneck\light.js:405:1[8](https://github.com/nzhul/launcher/actions/runs/4806546800/jobs/8554196138#step:5:9))
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Error: Process completed with exit code 1.

Steps to reproduce
n/a
Additional information
Link to my workflow file: https://github.com/nzhul/launcher/blob/master/.github/workflows/main.yml
Link to my job: https://github.com/nzhul/launcher/actions/runs/4806546800/jobs/8554196138

I checked in the code of the github publisher and it looks like there is logic that creates the release if it is missing.
I wonder why this step is failing.
Here is the line that do this > https://github.com/electron/forge/blob/main/packages/publisher/github/src/PublisherGithub.ts#L69

Some update from me, one day later.
Since my first error was:
[DATA] Searching for target release: v1.0.8
[FAILED] Not Found
[FAILED] Not Found

I decided to edit my workflow to first create the release.
Unfortunately even after this change it fails with the same error.
Even though the Release is existing:
Release: https://github.com/nzhul/launcher/releases/tag/v1.0.8
Job: https://github.com/nzhul/launcher/actions/runs/4823565146/jobs/8592221543#step:5:73
Release:

Job:

I will take a rest now, and tomorrow will probably try to just create the release and upload the artifacts without using your publisher.

Final comment from me.
I decided to implement the release creation and asset upload by myself.
Here is my workflow file if someone is interested, and have the same problem:

name: Make and Publish to Github

on:
  push:
    branches:
      - master

permissions:
  contents: write

env:
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
  check-version:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@master
        with:
          node-version: 18
          cache: 'yarn'

      # this check works by first searching for '<WHATEVER> 1.2.3' in the commit message
      # if it cannot find it in the commit message, it start diff check search
      # diff check is slower and it is recommended to use the first option
      - name: Check if version has been updated
        id: check
        uses: EndBug/version-check@v2

      - name: Version changed
        if: steps.check.outputs.changed == 'true'
        run: 'echo "Version change found in commit ${{ steps.check.outputs.commit }}! New version: ${{ steps.check.outputs.version }} (${{ steps.check.outputs.type }})"'

      - name: Version unchanged
        if: steps.check.outputs.changed == 'false'
        run: 'echo "No version change :/"'

    outputs:
      SHOULD_PUBLISH: ${{ steps.check.outputs.changed }}
      VERSION: ${{ steps.check.outputs.version }}

  build-on-win:
    needs: check-version
    if: needs.check-version.outputs.SHOULD_PUBLISH == 'true'
    runs-on: windows-latest
    env:
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    steps:
      - uses: actions/checkout@v2
      - uses: actions/setup-node@master
        with:
          node-version: 18
          cache: 'yarn'
      - name: Install dependencies
        run: yarn install --network-timeout 600000
      - name: Make
        run: yarn make
      - uses: actions/upload-artifact@v2
        with:
          name: ancient-warriors-launcher-v${{needs.check-version.outputs.VERSION}}
          path: out/make/squirrel.windows/x64/Ancient Warriors Launcher-${{needs.check-version.outputs.VERSION}} Setup.exe

    outputs:
      VERSION: ${{ needs.check-version.outputs.VERSION }}

  create-release:
    needs: build-on-win
    name: create-release 🚀
    runs-on: ubuntu-latest
    env:
      GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Download Artifact
        uses: actions/download-artifact@v2
        with:
          name: ancient-warriors-launcher-v${{needs.build-on-win.outputs.VERSION}}
          path: build-artifact

      - name: Create Release
        id: create_release
        uses: actions/create-release@v1
        with:
          tag_name: v${{needs.build-on-win.outputs.VERSION}}
          release_name: Release v${{needs.build-on-win.outputs.VERSION}}
          body: |
            Changes in this release:
            - Add new feature (todo: resolve dynamically)
            - Bug fixes
          draft: false
          prerelease: false

      - name: Upload Asset
        id: upload-release-asset
        uses: actions/upload-release-asset@v1
        with:
          upload_url: ${{ steps.create_release.outputs.upload_url }}
          asset_path: build-artifact/Ancient Warriors Launcher-${{needs.build-on-win.outputs.VERSION}} Setup.exe
          asset_name: Ancient Warriors Launcher-${{needs.build-on-win.outputs.VERSION}} Setup.exe
          asset_content_type: application/vnd.microsoft.portable-executable

Sooo yeah ...
It turned out it was me :D
Basically I am using electron-forge and there is this publishers section in forge.config.ts where you need to set the repository owner and name. For some reason I had put wrong repository name in there. And this was causing the NotFound error.
  publishers: [
    {
      name: '@electron-forge/publisher-github',
      config: {
        repository: {
          owner: '<Owner>',
          name: '<RepositoryName>',
        },
        draft: true,
      },
    },
  ],

Yeah I know ...  Sorry for the spam.
Feel free to delete/close the issue.
Or maybe you can leave it in case someone do the same mistake as mee.

Glad you figured it out @nzhul !

@nzhul Thank you for not deleting this, since I ran into the exact same problem!

Is your owner value set as your Github username and your name value set as the name of the repository ?

that might be it actually

@VictorNYSPI yes, the owner of the repo is the one set there and the name is the repository

I have this happen randomly. But everything is working fine. If i re-run my github action then it usually works the second time. Any ideas?

Thank you for leaving it up.

Yeeww, thank you. Also had overlooked this bit and your post was the top hit when searching, very helpful!

Getting the same error, but I have my name set, but maybe I'm unclear how the name format should be?
which one is correct?
git@github.com:MyOrg/my-repo.git
MyOrg/my-repo.git
MyOrg/my-repo
my-repo
something else?

^^ awe, if you are using an org, then its
      owner: 'OrgName,
      name: 'repo-name'

don't use your personal github username in that case.


Import not thread safe

Description
The import mechanism does not appear to be thread safe under heavy load.
Running the code:
var code =
@"def method1():
    from System.Diagnostics import Stopwatch;
    from collections import Iterable";

var _engine = IronPython.Hosting.Python.CreateEngine();

var searchPaths = _engine.GetSearchPaths();
searchPaths.Add(@"C:\TFS\SDKS\ironpython\2.7.9\IronPython.StdLib.2.7.9.zip");
_engine.SetSearchPaths(searchPaths);

var runtime = _engine.Runtime;
var scope = _engine.CreateScope();
var source = _engine.CreateScriptSourceFromString(code, SourceCodeKind.AutoDetect);
source.Execute(scope);
var method = scope.GetVariable("method1");

Parallel.ForEach(Enumerable.Range(1, 1000), new ParallelOptions { MaxDegreeOfParallelism = 1000 }, (i) => method());

produces errors along the lines of "failed to import ...." or "error importing..." at least once in 1000 concurrent runs.
Steps to Reproduce

Use LinqPad or add code into the main method of a console app
Run
Error is generated

Expected behavior:
Code runs to completion successfully
Actual behavior:
Error is thrown
Versions
IronPython 2.7.9 <IP_ADDRESS> on .NET 4.0.30319.42000

Workaround is to run this code (only once!)
import clr

def _():
    from System.Threading import Monitor

    import __builtin__

    __lock = object()
    base_import = __builtin__.__import__

    def new_import(name, globals={}, locals={}, fromlist=[], level=-1):
        Monitor.Enter(__lock)
        try:
            return base_import(name, globals, locals, fromlist, level)
        finally:
            Monitor.Exit(__lock)

    __builtin__.__import__ = new_import
_()
del _

def method1():
    from System.Diagnostics import Stopwatch
    from collections import Iterable

Note that this code causes issues with using the clrtypes metaclass.
Suggested fix is to add a lock around the contents of import in Src\IronPython\Modules\Builtin.cs


chore(deps): update module github.com/1password/connect-sdk-go to v1.5.3

This PR contains the following updates:

Package
Type
Update
Change

github.com/1Password/connect-sdk-go
require
minor
v1.2.0 -> v1.5.3

Release Notes

1Password/connect-sdk-go (github.com/1Password/connect-sdk-go)
v1.5.3
Compare Source
Fixes

In getItem, if getItemByUUID fails, try getItemByTitle in case the title happens to be 26 chars long. {#84}
Fixed ContentVersoin typo {#80}

v1.5.2
Compare Source
Fixes

Downgrading atomic dependency due to compatibilty issues with Gorelaser. {#81}

v1.5.1
Compare Source
Features

Added constants for item field purpose and type. {#67}
Improved error handling when does not contain a valid json body. {#63}

v1.5.0
Compare Source
Features

Add DeleteItemByTitle function. {#61}

Fixes

Fix parameter names for GetFile. {#60}
Fix getItemUUID to properly get the item's UUID. Credits to @snarlysodboxer for finding this bug and contributing with a fix for it. {#64}

v1.4.0
Compare Source
Features

A field's GeneratorRecipe now supports a set of characters that should be excluded when generating a password. This is achieved with the ExcludeCharacters field of the GeneratorRecipe struct. (requires Connect v1.4.0 or later) {#57}
SDK functions now accept item/vault titles and UUIDs as parameters. {#55}
A vault can now be fetched by either its title or UUID. {#52}
SDK now supports 2 new Item categories: MedicalRecord and SSHKey. {#51}
The SDK now enables to load item autofill URLs into structs. {#56}
ItemURL struct now has an extra field which represent the label of the autofill URL. {#53}
Readme now has more examples for using the SDK (requires Connect v1.5.0 or later). {#32}

Fixes

GetItemsByTitle properly returns a list of items with all their details instead of just their summaries. {#38}

v1.3.0
Compare Source
Features

Added the ability to get the TOTP value for an item. {44}
Added method to retrieve a list of files for an item {39}
Added method to download a file {39}
Added the ability to create tags for sections when loading a struct {37}
Added method for deleting an item by id {33}
Added item state field and deprecated trashed field {30}

Fixes

Added UUID validation {41}

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

ℹ Artifact update notice
File name: go.mod
In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

2 additional dependencies were updated

Details:

Package
Change

github.com/uber/jaeger-client-go
v2.25.0+incompatible -> v2.30.0+incompatible

github.com/uber/jaeger-lib
v2.4.0+incompatible -> v2.4.1+incompatible

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.

Autoclosing Skipped
This PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error.


Block ID location

Hi, I'm trying to remove some of the default basic blocks as part of my project. I have used the author's method of removing the block which is as follows
const bm = editor.BlockManager;
const blocks = bm.getAll();
const toRemove = blocks.filter(block => block.get('category') === 'Basic');
toRemove.forEach(block => bm.remove(block.get('id')))
I need to find the ID of that particular block (here i'm trying to remove  columns 3/7)
Is the above method correct? and where should I find the id?

I found it. It's located in grapesjs-preset-webpage/dist/grapesjs-preset-webpage.min.js.


'v-for' and 'v-if' bug

Vue.js version
1.0.20

 0" v-for="object in objects">
This work on Firefox, but not work on Chrome.

 0">
This work on Chrome, but not work on Firefox.
What's up?
升级升出了Bug？！

Duplicate of #2592. Please see the discussion/solution there.

Can you give me the correct use of example?

Well see this: https://github.com/vuejs/vue/issues/2592#issuecomment-204819916.


Error installing 3.0.0-preview on iojs

I'm trying to upgrade to iojs 1.5.1 from 1.2.0 and I'm having trouble intalling. I tried using the 2.0.1 package but that has issues with the binary download path which is solved in #695. So was hoping to use the latest preview as a way to fix the issue but now I'm getting this:
><EMAIL_ADDRESS>install /Users/micah/trackr/app/node_modules/node-sass
> node scripts/install.js

><EMAIL_ADDRESS>postinstall /Users/micah/trackr/app/node_modules/node-sass
> node scripts/build.js

Building: /Users/micah/.nvm/versions/io.js/v1.5.1/bin/iojs node_modules/pangyp/bin/node-gyp rebuild
  CXX(target) Release/obj.target/binding/src/binding.o
In file included from ../src/binding.cpp:3:
../src/sass_context_wrapper.h:4:10: fatal error: 'libsass/sass_context.h' file not found
#include "libsass/sass_context.h"

Umm I haven't even published it to npm yet. :)
I will upload the Linux and Windows binaries and then publish later today.
Meanwhile you can clone the repo and build.
cd somewhere-wild
git clone https://github.com/sass/node-sass --recursive
cd node-sass
git submodule update --recursive --init
npm install
node scritps/build -f

You need to have Python 2.7.x and GCC 4.7+ installed.
Or you can wait till we arrange all the binaries and publish.

Mac and Windows binaries are published: https://github.com/sass/node-sass/releases/tag/v3.0.0-pre.
Linux binaries will arrive later today.
Note that we have unpublished -preview release in favour of -pre (and there was a bug in install script).

Linux binaries are uploaded.

@am11 Thanks for doing this so quickly. I installed 3.0.0-pre and it's working great! :+1:

@micahlmartin, i have just added the release notes. https://github.com/sass/node-sass/releases/tag/v3.0.0-pre. :notes:


Create connection_factory.pp

Stubbed out a CF manifest.

Coverage remained the same at 74.438% when pulling 8abe625074da0fc0f35642340762c6c61e284110 on mtdjr:master into 68cbb11c6862a50b44c0e9d5462f2ef42a1514e2 on biemond:master.

Coverage remained the same at 74.438% when pulling 8abe625074da0fc0f35642340762c6c61e284110 on mtdjr:master into 68cbb11c6862a50b44c0e9d5462f2ef42a1514e2 on biemond:master.

Coverage remained the same at 74.438% when pulling 8abe625074da0fc0f35642340762c6c61e284110 on mtdjr:master into 68cbb11c6862a50b44c0e9d5462f2ef42a1514e2 on biemond:master.

Awesome. Thanks. (:


updateTheme is not working

It doesn't throw any errors, but the color doesn't change. I can change the theme when creating a new instance:
const configuredModal = new Web3Modal({
  cacheProvider: true,
  theme: 'dark',
  disableInjectedProvider: false,
  ...

But later, we have no access to the theme property, I need a quick switch
I tried updating from the page itself (after the button pressed) and tried to run this inside the mobx store, nothing of this did work
Maybe I am doing something not right? Do you have any examples of using this method?

yeah I've noticed this as well.

Same problem here

Doesn't work for me either, any thoughts about a workaround ?

With stable version 2.0.0 of Web3Modal now released, we are officially dropping support for version 1.x
Due to this this issue/pr was marked for closing. It is highly recommended to upgrade as 2.x will be receiving further updates that will enable functionality for some of our newer sdks like auth and push as well as support for WalletConnect v2 (See this post about WalletConnect v1 being deprecated https://medium.com/walletconnect/walletconnect-v1-0-sunset-notice-and-migration-schedule-8af9d3720d2e)
If you need to continue using Web3Modal 1.x and require this feature/fix implemented, we suggest adding it via forking V1 branch.


FileUpload - Check state on save

https://github.com/laravel-filament/filament/issues/1037

Thank you :)


Problem: blockchain regression fails on listed blocks with error "not yet implemented"

Problem:
block
46147
46214
46217
46219
46237
46253
... (seems to be many)
fails with this error:
$ RUST_BACKTRACE=1 cargo run --bin regtests -- -r http://<IP_ADDRESS>:8545 -n 46147
    Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs
     Running `/home/stewart/dev/etcdev/sputnikvm/target/debug/regtests -r 'http://<IP_ADDRESS>:8545' -n 46147`
net version: 1
block 46147, transaction count: 1

working on transaction 0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060
Feeding VM account code at 0x5df9b87991262f6ba471f09758cde1c0fc1de734 ...
VM exited with ExitedOk.
thread 'main' panicked at 'not yet implemented', src/bin/main.rs:167
stack backtrace:
   0: std::sys::imp::backtrace::tracing::imp::unwind_backtrace
   1: std::sys_common::backtrace::_print
   2: std::panicking::default_hook::{{closure}}
   3: std::panicking::default_hook
   4: std::panicking::rust_panic_with_hook
   5: std::panicking::begin_panic
             at /checkout/src/libstd/panicking.rs:511
   6: regtests::test_block
             at ./src/bin/main.rs:167
   7: regtests::main
             at ./src/bin/main.rs:196
   8: std::panicking::try::do_call
   9: __rust_maybe_catch_panic
  10: std::rt::lang_start
  11: main
  12: __libc_start_main
  13: _start

solved by https://github.com/ethereumproject/sputnikvm/pull/181


VPCAccessPolicy does not take effect.

AdminReturn:
    Type: AWS::Serverless::Function
    Properties:
      FunctionName: !Sub ${AWS::StackName}-${EnvName}-adminreturn
      CodeUri: ../build
      Handler: handler.adminReturn
      Policies:
        - VPCAccessPolicy: {}
        - DynamoDBCrudPolicy:
            TableName: !Ref TenantsTable
      VpcConfig:
        SubnetIds: !Split [ ',', 'Fn::ImportValue': !Sub "${BaseVPCStackName}-${EnvName}-SubnetsPrivateAppIds" ]
        SecurityGroupIds: ['Fn::ImportValue': !Sub "${BaseVPCStackName}-${EnvName}-AzureAdSG" ]
      Environment:
        Variables:
          TENANTSTATE_TABLE: !Ref TenantsTable
          DEP_ENVIRONMENT: !Ref EnvName
          DEV_PROFILE: !Ref AzureADDepProfile
      Events:
        Consent:
          Type: Api
          Properties:
            Path: /adminreturn
            Method: get
            RestApiId:
              !Ref AzureADSyncAPI

I have a serverless function as above, and I keep getting the following error in Cloudformation:

The provided execution role does not have permissions to call CreateNetworkInterface on EC2

Everything works fine if I use the AWS managed policy AWSLambdaENIManagementAccess, but I really want the policy to be specific to the resources being used by Lambda. Of course, we could write up a policy by hand which is specific to our needs, I am still wondering why this VPCAccessPolicy: {} wouldn't work as an inline policy.
Also, I observed that VPCAccessPolicy does work sometimes, although its not clear when.

Also having the same issue as @vinkris. AWSLambdaENIManagementAccess is a reasonable workaround, but it would be best if the VPCAccessPolicy works as expected

found the managed policy "AWSLambdaVPCAccessExecutionRole" works fine, too. For example:
...
Policies:
- AWSLambdaVPCAccessExecutionRole
...

Our best guess is that this is an eventual consistency issue in IAM. The permissions in each of these policies are essentially the same, it just seems like the AWS managed policies are more readily available from IAM than custom policies (like a policy template).
I'd recommend using the AWS managed policy for this issue, as you haven't seen an error with it and it is the same policy. These policy actions cannot be scoped to specific resources, so this is fine.
VPCAccessPolicy:
    "VPCAccessPolicy": {
      "Description": "Gives access to create, delete, describe and detach ENIs",
      "Parameters": {

      },
      "Definition": {
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "ec2:CreateNetworkInterface",
              "ec2:DeleteNetworkInterface",
              "ec2:DescribeNetworkInterfaces",
              "ec2:DetachNetworkInterface"
            ],
            "Resource": "*"
          }
        ]
      }
    },

AWSLambdaVPCAccessExecutionRole:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "ec2:CreateNetworkInterface",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DeleteNetworkInterface"
            ],
            "Resource": "*"
        }
    ]
}

AWSLambdaENIManagementAccess:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DeleteNetworkInterface"
            ],
            "Resource": "*"
        }
    ]
}


Update: Unit testing JS boilerplate and specs

JS changes are linting only

@stephenrichards @chrishanes
Can you guys have a look and see you are happy


Introduce case function to efficiently handle case expressions

This introduces a case function to handle sql case expressions efficiently in a flat linear structure to avoid stack overflows caused by large nested if functions.
Closes https://github.com/crate/crate/issues/12674
Summary of the changes / Why this improves CrateDB
Checklist

[x] Added an entry in CHANGES.txt for user facing changes
[x] Updated documentation & sql_features table for user facing changes
[x] Touched code is covered by tests
[x] CLA is signed
[x] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in CHANGES.txt
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

PostgresITest.test_simple_mode_can_handle_npgsql_startup_query breaks.
There is a problem when using CASE in ORDER BY with the changed type signature as an Input. It looks like ORDER BY infers the wrong return type. The type signature of CASE is ([Boolean], [T]) -> T. ODER BY expects T but infers [T]. I will continue after vacation on this.

Ready for review.

LGTM, Thank you for the iterations @mkleen !

Thanks for the good feedback @matriv


Problem Configuring conditional sources for binder with DefaultCustomBinderFactory

Describe the issue
It seems there are issues when configuring conditional sources for a binder in a multi-binder scenario (at least).
To explain the problem, I have created a simple application that you can find in this repository on the branch issue-binder-factory-sources-order.
I have created a simple configuration KafkaProducerConsumerConfiguration that customizes the clientId value of Kafka clients, which is conditional on the existence of a property value:
@ConditionalOnProperty(value = "custom-client-id.enabled", havingValue = "true", matchIfMissing = false)
public class KafkaProducerConsumerConfiguration {

    private static final Logger LOG = org.slf4j.LoggerFactory.getLogger(KafkaProducerConsumerConfiguration.class);

    private static final String CUSTOM = "CUSTOM_";

    @Bean
    public ConsumerConfigCustomizer consumerConfigCustomizer() {
        return (consumerProperties, bindingName, destination) -> {
            LOG.info("Customizing consumer client id for binding: {}", bindingName);
            consumerProperties.put(ConsumerConfig.CLIENT_ID_CONFIG, CUSTOM + bindingName);
        };
    }

    @Bean
    public ProducerConfigCustomizer producerConfigCustomizer() {
        return (producerProperties, bindingName, destination) -> {
            LOG.info("Customizing producer client id for binding: {}", bindingName);
            producerProperties.put(ProducerConfig.CLIENT_ID_CONFIG, CUSTOM + bindingName);
        };
    }
}

I have added the configuration to the Kafka binders using the spring.main.sources property as follows:
spring:
  cloud:
    stream:
      defaultBinder: kafka1
      binders:
        kafka1:
          type: kafka
          environment:
            spring:
              main:
                sources: com.example.demoStreamKafka.sources.KafkaProducerConsumerConfiguration
        kafka2:
          type: kafka
          environment:
            spring:
              main:
                sources: com.example.demoStreamKafka.sources.KafkaProducerConsumerConfiguration

The problem is that the binder context, during its registration with DefaultBinderFactory, does not seem to have the propertySources to correctly evaluate the ConditionalOnProperty condition, and therefore the application does not customize the clientId's of the Kafka clients.
To Reproduce
Steps to reproduce the behavior:

Start the application
Check that the application logs do not show the INFO logs of the consumerConfigCustomizer and producerConfigCustomizer beans.

Version of the framework
Spring-Boot 3.3.4
Spring-Cloud 2023.0.3
Expected behavior
The KafkaProducerConsumerConfiguration class is correctly configured, and the following logs are displayed when the application starts:
  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/

 :: Spring Boot ::                (v3.3.4)

2024-11-06T16:43:40.017+01:00  INFO 12647 --- [           main] e.d.s.KafkaProducerConsumerConfiguration : Customizing producer client id for binding: foo-out-0
2024-11-06T16:43:40.139+01:00  INFO 12647 --- [           main] e.d.s.KafkaProducerConsumerConfiguration : Customizing consumer client id for binding: completeConsumer1-in-0
2024-11-06T16:43:40.356+01:00  INFO 12647 --- [           main] e.d.s.KafkaProducerConsumerConfiguration : Customizing consumer client id for binding: completeConsumer2-in-0

Additional context
To verify that the problem is the ConditionalOnProperty, comment out that line and restart the application to see the expected result.

I have created the PR https://github.com/spring-cloud/spring-cloud-stream/pull/3032 that fixes the issue.
Apparently, the problem was that the configuration classes were being registered in the binder context before the Environment of the context had the list of property sources, so the property conditionals of the classes never matched.

Any update? thanks.


Introduce Endpoint.liftX

I would like us to deprecate Endpoint.apply (on the companion object) and provide some explicit meanings for building constant endpoints.

Current coverage is 78.22% (diff: 66.66%)

Merging #691 into master will decrease coverage by 0.53%

@@             master       #691   diff @@
==========================================
  Files            30         30
  Lines           631        643    +12
  Methods         608        622    +14
  Messages          0          0
  Branches         23         21     -2
==========================================
+ Hits            497        503     +6
- Misses          134        140     +6
  Partials          0          0

Powered by Codecov. Last update 25ac5e1...37c3829


Improved ApproxGroupBetweenness.cpp

Slightly increased the accuracy, since we only need to add the internal nodes of a shortest path to the hyperedge.

Looks good, thank you.


On resize / move , no update viewstate

It seems like we do not need to update viewstate on these events.
These events fire A LOT when you resize and can hang or crash the app if you do heavy stuff like updating viewstate.
Tested on windows 10, i7 6700k + 32gb ram. Before, app took ~3secs to update view when I tried to resize, and sometimes froze or crashed. Now, it's so smooth :)

https://github.com/yakyak/yakyak/issues/211
Not perfect, but rewrite the whole menu would be very long. For now, I just added hidden menu, and a button to show it (pressing alt will show menu too).
https://github.com/yakyak/yakyak/issues/216
Issue addressed, need testing.


[Issue]: Bug in Windows installer

Please describe your bug
I updated from 10.8. something to the latest release 10.8.5 earlier today.
I have Jellyfin installed and running as a service on Windows.
Due do another issue I keep encountering after every update (the installer fails to keep my Jellyfin config and data folder as it is), I had nssm edit "Jellyfin Server" opened from a command-line window just before the installation.
The installer complained that nssm.exe is in use, hence I closed nssm (and the command-line window, although this might be irrelevant), then opted for Retry. Nssm.exe was then replaced and Jellyfin ran fine.
However, an hour later I had to reboot the machine for a different reason and the Jellyfin service wouldn't start because nssm.exe was missing.
My assumption is that because nssm.exe had been in use during the installation, the installer created an entry in the registry to delete nssm.exe after the next restart.
Jellyfin Version
10.8.0
if other:
No response
Environment
- OS:
- Virtualization:
- Clients:
- Browser:
- FFmpeg Version:
- Playback Method:
- Hardware Acceleration:
- Plugins:
- Reverse Proxy:
- Base URL:
- Networking:
- Storage:

Jellyfin logs
No response
FFmpeg logs
No response
Please attach any browser or client logs here
No response
Please attach any screenshots here
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hrm, that's interesting. We don't create any entries in the Registry for cleanup as part of a uninstall/reinstall operation. I'm not entirely sure why NSSM would have disappeared.
Over the years NSSM will sometimes get flagged as malware (after all it can run any executable you configure as a service). Do you have any anti-malware or anti-virus tools that might have removed it at all?
I'm thinking about ways to replace NSSM for 10.9, but it would still be useful to gather any extra info for now.

Regarding your directory bug, on the readme of this repository (the Windows package), there's a section on where we look for paths with the installer/commands: https://github.com/jellyfin/jellyfin-server-windows#usage
If you look at the Registry Keys listed there, do the paths match what you expect? If not, just edit them and that should keep things correctly for the next update.

Thanks. I'll try to find the AV logs later to see if it removed the file.
The link to those registry keys is also very interesting. Thanks again.
The key DataFolder points to the correct location but contrary to the link the value of ServiceAccountType is set to "None" instead of "NetworkService", which is the service account that runs the Jellyfin service. I'll check this next time before and after an update.


Let users attempt to sign in on mobile browsers.

The old https://bsc.mirror.finance, and even eth.mirror.finance allow you to bridge assets on mobile, why can't the Terra Bridge interface also support this? I think right now the bridge is blocking mobile wallet for little reason.

It’s only supporting chrome
Sent from my iPhone

On Apr 12, 2021, at 11:56 AM, Jason Stallings @.***> wrote:

The old https://bsc.mirror.finance, and even eth.mirror.finance allow you to bridge assets on mobile, why can't the Terra Bridge interface also support this? I think right now the bridge is blocking mobile wallet for little reason.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

You can actually but through metamask
Sent from my iPhone

On Apr 12, 2021, at 11:57 AM, Engjell Valteri @.***> wrote:
It’s only supporting chrome
Sent from my iPhone

On Apr 12, 2021, at 11:56 AM, Jason Stallings @.***> wrote:

The old https://bsc.mirror.finance, and even eth.mirror.finance allow you to bridge assets on mobile, why can't the Terra Bridge interface also support this? I think right now the bridge is blocking mobile wallet for little reason.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

I’ve done some testing on my own fork and it seemed to work fine in Trust wallet.

we need this!
bridge bsc>terra not detecting metamask opera

I would like to use Terra Bridge with from BSC chain via Metamask on Firefox. Metamask has support for Firefox. In fact I have issues with binding my ledger to metamask with Brave version 1.29.77 (Chromium: 93.0.4577.63), while on Firefox it works.

You shouldn't rename the issue because that's not only mobile browser
Opera for windows can install chrome extensions, and that's how I use metamask on a bunch of site.
But not on Terra Bridge ... Im blocked by the useless check that browser must be chrome.
Could you remove this restriction ?

for anyone having this issue on Firefox:
install chameleon extension and set Chrome 97 as browser profile. Then it is possible to connect to Metamask on bridge.terra.money
There is just one particular system, where I use this workaround.

Terra Network Live Support.
We received your complain kindly visit the official website to chat With a live support CLICK HERE


TS-5053 const char **argv passed to TSPluginInit is not null terminated

Typically **argv is null terminated in other systems. There's no
good reason for ATS to be any different.

Looks reasonable.  Should we also be checking that we aren't overrunning the 64 long argv array?

That sounds like a good idea. I'll open up a separate ticket for that.

[add to whitelist]

FreeBSD build successful! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/1295/ for details.


:sparkles: Serialize Reference Features

Make "Reference" a dataclass
Add descriptor setter from numpy for the "Reference" class
Add I/O utils

N.B. It could be useful to have pycolmap::Track and pycolmap::TrackElement behave like dataclasses (constructor with kwargs)

Hi @ThomasParistech, thanks for the PR! It looks great.
Re pycolmap: Yes good idea, pycolmap's Track is still a bit clumsy to use.

Hi @ThomasParistech, thanks for the PR! It looks great.
Re pycolmap: Yes good idea, pycolmap's Track is still a bit clumsy to use.

Let me know if there remain some things to fix in this PR :)

HI @ThomasParistech, yes we should merge this now. One thing: Could you add store_references to __init__.py? I guess this is ready then. Thanks a lot for your work!


When I add a second JBD BMS, the MQTT sensors always switch between the current value and the statement "Not available"

When I add a second JBD BMS, the MQTT sensors always switch between the current value and the statement "Not available"

Paste log output between BEGIN and END:
BEGIN
[mqtt-b259c5ff299ac700e2dca779730c0315-a3-0a6e7425ebcf1f166bfb8b9a811ba734.json.txt](https://github.com/fl4p/batmon-ha/files/12872454/mqtt-b259c5ff299ac700e2dca779730c0315-a3-0a6e7425ebcf1f166bfb8b9a811ba734.json.txt)
![MQTT-Home Assistant](https://github.com/fl4p/batmon-ha/assets/28044164/1bedab2d-a6b0-40d2-ba17-62eb5f4fb494)

END

increase expire_values_after to 300 or so. does it help?


Unmatched parens break search

Steps

Go to search
Search for something
Throw an unmatched ) somewhere in the query
Lie down
Try not to cry
Cry a lot

JIRA ISSUE -> https://openscience.atlassian.net/browse/OSF-4536

There may be a way to get a better error message out of this but the issue itself is the result of using the Lucene search syntax. There are several special characters that need to be escaped if they are to be interpreted literally.

&& || ! ( ) { } [ ] ^ " ~ * ? : \

They can be escaped with a proceeding \ as documented at URL below
http://extensions.xwiki.org/xwiki/bin/view/Extension/Search+Application+Query+Syntax#HEscapingSpecialCharacters

fixed in release 0.67


Port conflict when using Module CRD and sidecar

Describe the bug
When running a sidecar on port 8080 and configuring Ambassador's service_port with the Module CRD, Envoy fails to start with the following error message:
[2019-06-17 20:41:59.106][193][warning][config] [bazel-out/k8-dbg/bin/source/common/config/_virtual_includes/grpc_mux_subscription_lib/common/config/grpc_mux_subscription_impl.h:77] gRPC config for type.googleapis.com/envoy.api.v2.Listener rejected: Error adding/updating listener(s) ambassador-listener-8080: cannot bind '<IP_ADDRESS>:8080': Address already in use

To Reproduce
Steps to reproduce the behavior:

Create a Module CRD with service_port: 80
Create Ambassador deployment with a sidecar running on port 8080

Expected behavior
Ambassador should start Envoy on port 80.
Versions (please complete the following information):

Ambassador: 0.71.0 and 0.72.0
Kubernetes environment: Custom EC2
Version: 1.10.11

Additional context

This does not occur when configuring Ambassador with a Module annotation.
This only happens on a fresh deployment. If Ambassador is initialized with an annotation then switched over to the CRD, the failure does not occur.

I think we need to actually see the YAML you're using here -- this sounds kind of strange.

Sure thing! It does sound strange.
Here's the module:
---
apiVersion: getambassador.io/v1
kind: Module
metadata:
  name: ambassador-patrick
spec:
  ambassador_id: patrick
  config:
    use_remote_address: false
    service_port: 80

And here's the corresponding annotation:
    getambassador.io/config: |
      ---
      apiVersion: ambassador/v1
      ambassador_id: patrick
      kind: Module
      name: ambassador
      config:
        use_remote_address: false
        service_port: 8

This is a stripped down version of the deployment to show the sidecar running on port 8080:
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: ambassador-patrick
spec:
  replicas: 1
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
  template:
    metadata:
      annotations:
        sidecar.istio.io/inject: "false"
      labels:
        service: ambassador-patrick
    spec:
      serviceAccountName: ambassador
      containers:
      - name: ambassador
        image: [registry]/ambassador:0.71.0
        imagePullPolicy: Always
        env:
        - name: AMBASSADOR_ID
          value: patrick
        - name: AMBASSADOR_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        ports:
        - name: http
          containerPort: 80
        - name: https
          containerPort: 443
        - name: admin
          containerPort: 8877
        livenessProbe:
          httpGet:
            path: /ambassador/v0/check_alive
            port: 8877
          initialDelaySeconds: 30
          periodSeconds: 3
        readinessProbe:
          httpGet:
            path: /ambassador/v0/check_ready
            port: 8877
          initialDelaySeconds: 30
          periodSeconds: 3
      - name: customauth
        image: [registry]/[externalauth_image]
        imagePullPolicy: Always
        ports:
          - containerPort: 8080
        livenessProbe:
          httpGet:
            path: /health
            port: 8080
          initialDelaySeconds: 30
        readinessProbe:
          httpGet:
            path: /health
            port: 8080
          initialDelaySeconds: 30

If I start Ambassador with the both the annotation and the custom resource, it comes up fine. I can also delete the annotation and things stay healthy.
Are CRDs evaluated at a different time than annotations?

They're evaluated at the same time, but: for Modules, the name is critical. Your CRD Module is named ambassador-patrick, not ambassador, so it's being ignored.
This is a recurring UX problem that we need to fix. I'm leaning towards creating an AmbassadorConfig resource type or some such, but I'd love to hear your thoughts there.

That fixed it! But it does have some problematic implications for how we test changes. Because of RBAC/ServiceAccount configurations in our dev cluster, we deploy PRs to the same namespace and separate Ambassador instances by ambassador_id. Looks like we'll just have to keep the Module in an annotation.
I think an AmbassadorConfig resource type would be more intuitive than Module. That would also allow us to keep the same dev deployment pattern, assuming the resources can have arbitrary names (or maybe the name could be the same as ambassador_id).
I'm going to close this issue since what I thought was a bug isn't actually a bug. 😄 Happy to continue discussing this here or in Slack.


Using ytsearch feature is slow

Checklist

[X] I'm asking a question and not reporting a bug/feature request
[X] I've looked through the README
[X] I've read the guidelines for opening an issue
[X] I've searched the bugtracker for similar questions including closed ones

Question
I'm trying to use yt-dlp as a CLI youtube search tool that does not require a youtube API key. As shown in the below example, searching for 10 videos matching the query "foo" took 16.5 seconds:
% time yt-dlp "ytsearch10:foo" --print id 2>/dev/null
gykGUEiBSVY
eT_FJHM-Qhs
eBG7P-K-r1Y
jsDgrKdczAE
WXqrfQU8Ejk
F1WSkKqKKl0
3f5HDjjzwqo
SBjQ9tuuTJQ
aIo6n3ljtdY
4PkcfQtibmU
yt-dlp "ytsearch10:foo" --print id 2> /dev/null  5.94s user 0.41s system 38% cpu 16.523 total

Execution time appears to increase linearly with the number of videos being searched for (via changing N in the ytsearchN string).
Is there a faster way to retrieve video_ids for a given search query? I don't need detailed metadata per each search result, just the video_id would suffice.
yt-dlp version: 2021.12.01

Since you only want the ID, use --flat-playlist. If you want all metadata, there is no faster way

awesome, thank you!


Move ToTimeTransformer

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (01c88f6) to head (25dcb1c).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #64   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           27        27
  Lines          555       563    +8
  Branches        31        31
=========================================
+ Hits           555       563    +8

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Hebrew translation added in Crowdin

Hoping you are still working with this system.
Please merge if you can.
@SyncedSynapse
Thanks,
Yaron Shahrabani.

Has this been merged already?

I believe so. Closing this


More efficient QASM3 dumping of global barriers

What should we add?
Qiskit let's the user use global barriers in a circuit, for example:
from qiskit import QuantumCircuit

qc= QuantumCircuit(3)
qc.x(0)
qc.barrier()
qc.x(1)

However, when these barriers get dumped into QASM3, all qubits are explicitly listed:
from qiskit import qasm3

qasm3.dumps(qc)

OPENQASM 3.0;
include "stdgates.inc";
qubit[3] q;
x q[0];
barrier q[0], q[1], q[2];
x q[1];

While this is a valid QASM3 output, it doesn't use the declared support of global barriers in QASM3 via barrier;. For wide circuits this increases the output's size, parsing time, and even compile time down the line (as the global nature of the barrier needs to be checked for, or ignored).

We can change this, no worries - we output this way because it's how it's stored internally, but it's fast for us to check whether it's global during the dump (our data model guarantees that each element of qargs is unique, so it's just a length check), so easy to swap.
We ought to check that the current Python-space parser can handle the global barrier too (I imagine it can), and that other packages depending on us can handle it

I'm sorry, I forgot to come back and update this: I spoke offline with Tsafrir, and we determined that we know of several dependents of Qiskit at the moment that would fail to handle OpenQASM 3 global barrier; statements.  In the interests of not breaking downstream users of Qiskit without warning, I think we should feature-gate the global barrier statement making it a non-default option to the exporters.  That will mean adding a flag to qasm3.ExperimentalFeatures, and only writing out global barriers if that flag is set, otherwise using the explicit form.
Thanks for the offer - I'll assign you.

Thanks, I understand the part about adding a flag to ExperimentalFeatures similar toSWITCH_CASE_V1, However I don't understand feature-gate part for the global barrier statement, Do you mean that I need to create another QuantumBarrier? as the existing one requires the operands or I am missing something ?
Thanks again.


CI for building and releasing images

The build process takes about 10-15 minutes on CI without compressing the image. The resulting image is then 8GB, which very large. Github releases have a 2GB/file limit, so we should go under that. When I tried to xz the image, If I recall, I got it to about 1.7GB, which would be below that limit if I'm not wrong. In that case, we can post these images directly to Github releases (only for tags tho). Not sure how Github will feel once we start building more images tho.
That said, the xz process takes up at least 15 minutes on CI without including the build process, as GH's CI runner is only 2 cores when I checked. This means a build would be more than 30 minutes. GH CI only offers 2000 minutes/month, which means <100 builds/month. This might be good enough, especially if the build is limited to tags ans master branch only (depends on the number of images)? Although I suspect this repository will experience more burst of activities, which might be annoying to deal with. Still we might be able to start here for now.
One idea is to have a self-hosted runner running somewhere. This will allow unlimited time. I might be able to set something up on my home server if we don't abuse it... Coupled with the 2GB/file limit, it might be an okay solution.

@LanderU: use https://github.com/ros-realtime/linux-real-time-kernel-builder as a reference to do the release

Hello. I just wanted to add my input in regards of:

Not sure how Github will feel once we start building more images tho.
I have a project (that needs love) that was producing daily releases of more than 2GB by splitting the images in smaller files. I used lzma as compression as it had a decent tradeoff between time compressing and size. Example: https://github.com/awesomebytes/ros_overlay_on_gentoo_prefix/releases

So I think it should be fine. No one ever complained about it from Github.

Interesting and clever idea. Not sure if is needed for the time being because our image is under 2GB. If we want to release desktop images, it'll be above 2GB.
However, having a splitted file is not exactly beginner friendly either. Given that installing ubuntu-desktop is relatively easy, and the fact that ubuntu desktop performance on the rpi4 is not exactly the best, let's maybe defer this until we have people who request for this feature and maybe if someone can donate bandwidth/space to host a desktop version of our image.

Providing instructions on how to install desktop may be enough I think :) at least for the time being


Include/Insert the Interest Form / Subscription sign-up into the microsite

Note sure how much work this is, or if it's even possible, but it would be great to integrate just the hubspot interest/question form at the bottom of https://www.finos.org/pure-alloy into the purealloy.finos.org microsite such that people can ask questions and also sign up for the hubspot subscription list.

Renaming this issue from "Include/Insert the Interest Form / Subscription sign-up into the microsite" to "Include/Insert the external instance sign-up form into the microsite". Idea is to add functionality to microsite such that someone could request an account on the shared instance from within the microsite.


Docu perun node

This gives an overall idea about perun-node project, its features, versions etc.
Relates to #25

As @danielksan81's suggested, some parts of the structure seem to be addressing the entire Perun project (index.rst and introduction.rst). Some, of course, deal with the perun-node only (perun-node.rst, user.rst, developer.rst). I guess there are three options how to set up the base structure now:
* leave as is, and refactor, when the need arises (e.g. if go-perun developer documentation is added)

* prefix all node-related docs with "node_" or move those parts into a subdirectory node/ so the physical structure in the repo reflects the logical structure of the document. Then we'd have

perun-node.rst -> node/introduction.rst
user.rst -> node/user.rst,
developer.rst -> node/developer.rst

* Alternatively, we could have user and developer documentation as top-level structure (e.g. `developer.rst -> developer/node.rst`)

Thoughts?

Yes. The idea was like keep index.rst and introduction.rst for general purpose. since there were no documentation started from go-perun, i kept everything in the same folder structure.
But i think for other documentation can we include all node related documents in to one folder called node?
which means,
perun-node.rst -> node/introduction.rst
user.rst -> node/user.rst
developer.rst -> node/developer.rst


Websocket error when gain the console of services in Board UI

In GitLab by @sokril on Jun 8, 2020, 24:38

In GitLab by @sokril on Jun 8, 2020, 24:38
assigned to @liyanq528

In GitLab by @liyanq528 on Jun 17, 2020, 06:28
!2494

In GitLab by @liyanq528 on Jun 17, 2020, 06:28
assigned to @sokril and unassigned @liyanq528


Swapping OpenAI with local LLM?

Hi,
Basically title. THe intro suggests that openai-access can be replaced with locally running models (maybe with oobabooga-openai-api?) Anyway, can't seem to find instructions / env settings for it. Could you tell me if it has bee implented already?

Not yet as far as I can see...

Not currently, the issue with localLLM or other local LLM programs is you need an API accessible endpoint much like what GPT4ALL provides. There are some API wrappers for LocalLLM that some people have built that would work in this instance.
More work needs to be done around this - open to PRs, embeddings is another issue altogether

Oka, thank you. Maybe a good starting point would be oobabooga's text-webui since it's capable of mimicking an openai API on port 5001.

Not currently, the issue with localLLM or other local LLM programs is you need an API accessible endpoint much like what GPT4ALL provides. There are some API wrappers for LocalLLM that some people have built that would work in this instance.
More work needs to be done around this - open to PRs, embeddings is another issue altogether

Gradio usually comes with a working API

i could suggest chromadb for local embeddings - it's already set up and I've gotten it to work with two docker instances (localhost changes to host.docker.internal). getting a wrapper to work with LocalLLM is something I haven't tried yet though. If that works, this could become a fully autonomous solution for document search and chat, though possibly slow.

I got close, but the chromadb  code has code in it that force calls openai currently.

I should be more clear - I was using LocalAI to read through to a local LLM with the OpenAI API calls. After commenting out the /moderations endpoint (which LocalAI doesn't handle), I was eventually able to call LocalAI and get it to return. However, I discovered that the embeddings - which I also overrode to use BERT, don't work in AnythingLLM, as it's expecting embeddings to be OpenAI only. In the process I've managed to mess some of the indexing up; new files aren't getting properly found. I'm probably going to have to wipe this all clean to purge out the BERTs :) LocalAI can call OpenAI and get the OpenAI embeddings, so it's not a complete failure; I was able to get GPT4ALL to connect and respond to the questions.
To summarize: It does work, with some tweaking, but unless this project supports other types of embeddings (which I don't think is a calling), a fully non-connected Local LLM model isn't likely.
Too bad; I really want to do the stuff completely offline.

Hi @AntonioCiolino @simonSlamka @kfeeeeee @timothycarambat  I’m the maintainer of LiteLLM - we allow you to create a proxy server to call 100+ LLMs, and I think it can solve your problem (I'd love your feedback if it does not)
Try it here: https://docs.litellm.ai/docs/proxy_server
Using LiteLLM Proxy Server
import openai
openai.api_base = "http://<IP_ADDRESS>:8000/" # proxy url
print(openai.ChatCompletion.create(model="test", messages=[{"role":"user", "content":"Hey!"}]))

Creating a proxy server
Ollama models
$ litellm --model ollama/llama2 --api_base http://localhost:11434

Hugging Face Models
$ export HUGGINGFACE_API_KEY=my-api-key #[OPTIONAL]
$ litellm --model claude-instant-1

Anthropic
$ export ANTHROPIC_API_KEY=my-api-key
$ litellm --model claude-instant-1

Palm
$ export PALM_API_KEY=my-palm-key
$ litellm --model palm/chat-bison

@ishaan-jaff have you managed to get anything-llm running using the proxy workaround you suggested?
If so, can you describe the steps?

@ishaan-jaff Would really like to see NodeJS support for all the models the python client supports

PR #335

LMStudio integration is now live: f499f1ba59f2e9f8be5e44c89a951e859382e005

Moving conversation to #118


[ADD] DCOS-1323

dcos help  should be aliased to dcos  --help

Looks good, thanks :)

Thanks for the PR. Added some comments.


Add inverse exploding dice

The x operator adds another dice if a threshold is passed.
Can you add the inverse? So that 1d20i = [1, 15] or 1d20i15 = [16] or [12, 19].
many thanks in advance

See if this branch does what you need


[containerapp] az containerapp update: Fix appending to NoneType object bug for --secret-volume-mount

Related command

az containerapp update: --secret-volume-mount
fixes bug for using the update command to mount a secret volume, checks for if volume is null since volume is now a NoneType object and mounts volumeMount as an array
syncs changes made in extension in this pr https://github.com/Azure/azure-cli-extensions/pull/6821/files#diff-12e792a5ee24ee3ecce502e007853e04c47543d704eb4fdb31fbbd59b51daf6f
Description

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change
[Component Name 2] az command b: Add some customer-facing feature

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

containerapp

python 311 failures is an issue caused by another team, CLI is fixing it eta EOW

Hi @yanzhudd
Could you help to merge this PR?Thanks.


Support for Django 1.11?

The Cookiecutter Django project depends on this package. Currently, Cookiecutter Django is pinned to Django 1.10.x, based on an issue to check for 1.11.x support in project dependencies.
Does the django-braces package support Django 1.11?

Yeah, django-braces should be 100% compatible with all future Django releases unless they restructure how CBVs are constructed.


feat(preprocessor): obey Pattern.isBinary when set

Add support for isBinary. If set, use it and don't probe file to detect binary status.
Fixes #3405

:white_check_mark: Build karma 2480 completed (commit https://github.com/karma-runner/karma/commit/497b1c454c by @johnjbarton)

:white_check_mark: Build karma 2484 completed (commit https://github.com/karma-runner/karma/commit/292fea95e3 by @johnjbarton)

:white_check_mark: Build karma 2485 completed (commit https://github.com/karma-runner/karma/commit/c71e8b6e55 by @johnjbarton)

:white_check_mark: Build karma 2486 completed (commit https://github.com/karma-runner/karma/commit/4c87324ef4 by @johnjbarton)

:white_check_mark: Build karma 2494 completed (commit https://github.com/karma-runner/karma/commit/ef989f79b1 by @johnjbarton)


Add docker-staging.yml for deploymen to staging

Fixes #43
This defines a Docker Swarm Stack for staging.  Some notes on what's included:

Redis configured to only run on the manager node (not worker(s)), and to use a named volume
Starchart with secrets and staging env vars configured, 2 instances will be run in parallel

I'm going to manually test this on staging and report back with fixes and info on how it goes.

Rebased on the other fixes we did this morning.  If this passes tests, I think it's ready to land.

OK, this is all green, ready for review!


Add core sequence alignment functionality from jiant1

This PR...

adds jiant1's sequence alignment functionality (7808e53),
strips out non-core functions (7468e54),
ports in and refactors test logic from jiant1 (dc07d85),
and updates the dependencies to include nltk and python-Levenshtein (96b18a1).

This PR does not port any of the additional logic associated with jiant1's aligner_fn. A next PR will add that logic if it's necessary.
What kind of review would be helpful here? I would consider this logic pretty thoroughly reviewed already — this code was "battle tested" in jiant1, and while porting it over I reviewed it closely (and wrote docstrings).

Thanks @zphang — merging.


Complete set union is not complete

A union with the complete set should be complete. Instead, the other set is returned. This hides another bug in search where clauseMatches is initialized with the complete set instead of the empty set.

Hey, thanks for the fix, I've merged it now. Before I cut a new release though I'd like to understand this:

This hides another bug in search where clauseMatches is initialized with the complete set instead of the empty set.

Are you saying that there is a bug now that the the union of a complete set is fixed? Was that included in your change, or is there still work to be done?

My fix is for both. It’s just that the second issue was hidden by the first one but both are fixed now.

Second issue is fixed by starting from an empty set in index.js


UI Concepts

Description of the new feature/enhancement
I recently decided to start developing my dream terminal for Windows. However, since I'm not a professional developer and the development will take quite a long time, I thought: "Why let the concepts go to waste?" Perhaps this will be at least somewhat useful for Windows Terminal developers.
Concepts:

Dividing results into blocks

Commands history

Autocomplete

Default window with entered command

P.S.
If anyone can give me a hint on how to theoretically capture process output and divide it into blocks from the output stream of a Windows pseudoconsole, I would be very grateful.
Thank you for your attention.

a hint on how to theoretically capture process output

You might be interested in the public API: https://devblogs.microsoft.com/commandline/windows-command-line-introducing-the-windows-pseudo-console-conpty/
Alternatively, you can pass raw pipe endpoints (created by pipe-functions) as stdin/stdout/stderr to the process you start by CreateProcessW with specified HANDLE hStdInput, HANDLE hStdOutput, HANDLE hStdError in STARTUPINFOW structure.

a hint on how to theoretically capture process output

You might be interested in the public API: https://devblogs.microsoft.com/commandline/windows-command-line-introducing-the-windows-pseudo-console-conpty/
Alternatively, you can pass raw pipe endpoints (created by pipe-functions) as stdin/stdout/stderr to the process you start by CreateProcessW with specified HANDLE hStdInput, HANDLE hStdOutput, HANDLE hStdError in STARTUPINFOW structure.
Some important Win32 Console Subsystem details that you need to know and understand (in chronological order):

ConPTY Passthrough mode  #1173
WIP: Pass through VT input unmodified #15630
ConPTY does not pass Device Control Strings (DCS) to 3rd-party terminals #17313

Thank you, I thought I had already learned everything about working with Pipes, ConPTY, and Escape sequences. I'm disappointed that ConPTY does not provide the flexibility I need. I only receive a stream of bytes without any markers, exit codes, or other signals that would help break the results into blocks. So far, for PowerShell, the best idea I have is to create a module and integrate it into the profile, which places custom markers between commands. However, I'm not sure if this approach is good. As for CMD, I have no ideas at all.

Perhaps this can be implemented using the so-called Shell Integration: https://devblogs.microsoft.com/commandline/shell-integration-in-the-windows-terminal/
But I do not know. how it works from the 3p terminals side.

Perhaps this can be implemented using the so-called Shell Integration: https://devblogs.microsoft.com/commandline/shell-integration-in-the-windows-terminal/
But I do not know. how it works from the 3p terminals side.

Works great! 👍THX
[[ESC[?25l]] [[ESC[2J]] [[ESC[m]] [[ESC[H]] PowerShell[[SP]]7.4.3 [[CR]][[LF]]
[[ESC]0;]] C:\Program[[SP]]Files\PowerShell\7\pwsh.exe [[BEL]]
[[ESC[?25h]]

[[ESC]133;A]] [[BEL]]
[[ESC]9;9;]] "C:\Users\Inkwadra" [[BEL]]
[[ESC]133;B]] [[BEL]]

PWSH[[SP]]C:\Users\Inkwadra>[[SP]][[ESC[93m]]echo[[SP]][[ESC[36m]]'Hello[[SP]]World!' [[CR]][[LF]] [[ESC]133;D;0]] [[BEL]]

[[ESC]133;A]] [[BEL]]
[[ESC]9;9;]] "C:\Users\Inkwadra" [[BEL]]
[[ESC]133;B]] [[BEL]]

[[ESC[m]] Hello[[SP]]World! [[CR]][[LF]]

PWSH[[SP]]C:\Users\Inkwadra>[[SP]][[ESC[92m]]exit [[ESC[15X]] [[CR]][[LF]] [[ESC[m]]

the best idea I have is to create a module and integrate it into the profile, which places custom markers between commands. However, I'm not sure if this approach is good. As for CMD, I have no ideas at all.

Hi, you might want to check out clink, which is an amazing lua-based cmd-overhaul-thing. It has a lot of features like readline command line editing and tons more.
It supports lua scripts as plugins which is huge for customization. One of those plugins (specifically, clink-gizmos/divider.lua) does a similar thing to what you describe: place custom markers after start and before end of a (configurable list of) command(s). It can also be customized to make the divider text anything (i.e. output of some command), by default it is timing the program as such:

Alright, lots to unpack here. Looks like there's three main requests, so I'll break those out. A lot of this is stuff we've talked about at length in a variety of threads across the repo, but I'll give you some additional details.
As mentioned, almost all this is powered by some form of Shell Integration. The best docs page we have can be found at Shell Integration. The first two by the aforementioned FTCS marks. The third will be powered by a (still very experimental) protocol for sending suggestions to the Terminal from the shell.

Dividing results into blocks
This one I don't think we actually have tracked anywhere specifically. I'm hunting it down but I think it doesn't have a dedicated thread. I may promote this thread to be the blocks thread. I know we referenced it in #13445
What we do have today is support for navigating by command, and selecting entire command outputs: https://learn.microsoft.com/en-us/windows/terminal/tutorials/shell-integration#automatically-jump-between-commands
The part we're still missing is "a horizontal ruler that separates individual commands when shell integration is enabled". I don't think doing it would be terribly impossible, but there's a lot of weird edge cases for drawing lines in a grid of text[^1].
Commands history
This is something we're actively improving via the suggestions UI. In 1.22, it looks something like:

Autocomplete
We're tracking this in #3121. What we've got today looks like:

That's powered by the same suggestions menu that powers command history, above. https://github.com/microsoft/terminal/wiki/Experimental-Shell-Completion-Menu has some notes on how to enable it.
Other references:

#15057
#13445
#11000
#15845

[^1]: hell, just look at the conversation in #17482

Dividing results into blocks

@zadjii-msft It's possible you were thinking of collapsible regions (#13298), which is a similar concept.

@zadjii-msft, perhaps you can answer a question I have regarding ConPTY?
From Shell Integration for PowerShell, I took only a small part to see how it would look and if I could use it (it would solve many problems):
function prompt {
  $out += "`e]133;A$([char]07)";
  $out += "`e]9;9;`"$loc`"$([char]07)";
  $out += "PWSH $loc$('>' * ($nestedPromptLevel + 1)) ";
  $out += "`e]133;B$([char]07)";
  return $out
}

Looking at this, I expected to get the prompt from ConPTY in this form:
<ESC]133;A><BEL>
<ESC]9;9;>"C:\Users\Inkwadra"<BEL>
PWSH C:\Users\Inkwadra>
<ESC]133;B><BEL>

But in my result, PWSH C:\Users\Inkwadra> appears outside the <ESC]133;B><BEL> block:
<ESC]133;A><BEL>
<ESC]9;9;>"C:\Users\Inkwadra"<BEL>
<ESC]133;B><BEL>
PWSH C:\Users\Inkwadra>

Is this the correct behavior, or did I miss something?

@inkwadra I bet that's right, if you're using the in-the-OS version of the ConPTY APIs. Certain VT sequences can arrive out of order with older versions of ConPTY[^1]. The Terminal actually packages a version of the latest conpty directly into our package. It's not impossible to do, but it's certainly not as easy as we'd like to make it. That work is tracked over in #15065, but it's definitely possible to do today. I believe wezterm is already doing something similar.

Thanks @j4james for finding that issue. I honestly have no memory of writing that issue up two years ago 😅 The debate I'm mulling over is if we should use this just for "draw a horizontal rule between commands", and leave #13298 for "make the space between rules collapsible". In my head there's some space between those two, so I'm leaning towards leaving this open
[^1]: See #17314, #8698, #1173


[SPARK-50251][PYTHON] Add getSystemProperty to PySpark SparkContext

What changes were proposed in this pull request?
This PR aims to add getSystemProperty to PySpark SparkContext like setSystemProperty at Apache Spark 4.0.0.
https://spark.apache.org/docs/4.0.0-preview2/api/python/reference/api/pyspark.SparkContext.setSystemProperty.html
Why are the changes needed?
Since Apache Spark 0.9.0, setSystemProperty has been provided because Python doesn't have JVM's SystemProperties concept. This is usefully used like the following.
https://github.com/apache/spark/blob/99d27c9701019a0f534cc13c084895a00badee12/python/pyspark/shell.py#L84
This PR aims to add getSystemProperty additionally and symmetrically to provide an easier and better experience for both Spark developers and Spark App developers.
Does this PR introduce any user-facing change?
No. This is a new API.
How was this patch tested?
Pass the CIs with newly added doctests.
Was this patch authored or co-authored using generative AI tooling?
No.

Could you review this, @xinrong-meng ?

Could you review this PR too, @HyukjinKwon ?

Could you review this PR, @viirya ?

Thank you so much, @yaooqinn !

Thank you, @viirya !

Merged to master. Thank you all.

Late LGTM, thanks!
It is reasonable to add this getter since we already have a setter

Thank you, @zhengruifeng


Text refactor

Add TextPath support
Add TSpan support

@magicismight Hey! Great work on react-native-svg! Do you know what might be the issue here? https://github.com/react-native-community/react-native-svg/issues/362
https://user-images.githubusercontent.com/1131362/27012951-efe3a9ae-4ee2-11e7-8ab2-a70521f47183.png

I've made a minimal repro in: https://github.com/msand/RNSvgTextBug

@magicismight I've made significantly improved support for various attributes of text, tspan and textpath in https://github.com/msand/react-native-svg/tree/TextOnAPathLayoutRulesConformance
As mentioned there are some test cases in https://github.com/msand/RNSvgTextBug
It is now possible to get pixel perfect results when comparing chrome and react-native-svg on android, but it requires scaling some of the values for the native rendering, and I'm not sure what this depends on yet. Would you have any suggestions or insights into this? You can see examples of the different values for web / native in the src/components folder, especially the toap* and request* .js files.

I've also implemented a debug / diagnostics mode, using canvas.drawTextOnPath
https://github.com/msand/react-native-svg/blob/4fea95398e392e644b077adaacc07254f731dd9b/android/src/main/java/com/horcrux/svg/TSpanShadowNode.java#L124-L126
Which you can set here:
https://github.com/msand/react-native-svg/blob/4fea95398e392e644b077adaacc07254f731dd9b/android/src/main/java/com/horcrux/svg/TSpanShadowNode.java#L37


CI - Check that examples are listed in README and Cargo

Closes #1581
Internal File/Link Consistency checker Action
This pull request adds an action to the CI that parses the ./examples folder for files and cross references that with the links listed in README.md and Cargo.toml to ensure the documentation actually reflects the examples currently in the repo.
The primary reason for why we want this, is to prevent people from adding new examples but forgetting to also list them in the docs, or accidentally entering broken links (typos in docs).
The action can be found here while I'm working on it, but I'm planning on putting it to the marketplace once I've finished all the remaining tasks (namely writing tests): https://github.com/Weibye/action-internal-link-consistency
Features & Operation

Looks for files in source-path and collects them (source data)
Looks through the documents defined in targets and collects the links to files present in them (target data)
Cross references source and target data to ensure they contain the same data.
The action will fail if there are any inconsistencies between source and target and will try to output helpful messages to guide the user to exactly what needs to be addressed.

Can look for specific file-types, or everything inside the folder
Can ignore specific folders or files, and will ignore references to those both from source or targets.
If a folder is ignored, the action will ignore everything inside it.
Supports Mardown links and Toml 'path values' (path = "xxx/yyy/zzz")
Ignores links currently commented out

Limitations:

Currently only scans recursively through one folder, but could be extended / improved if needed. (Covers Bevy's use case)
Only supports two specific document targets: .md & .toml (Covers Bevy's current use case)

Action Settings
source-path
Path to the folder that should be scanned through.
Set to ./examples
file-types
Whitelist of file-types to look for.

If empty, collects all files within source-path.
If this contains any entries, the action will only look for those file types.
Set to ['rs']

exclude-folders
List of folders to exclude.
Set to ['./examples/ios']
exclude-files
List of files to exclude.
Set to []
targets
List of target documents to parse and cross-reference.
Target must be defined as:
{
    Path: string,
    Style: number
}

Where Path is the path to the target document, and Style is which document type it is.
Style: 0 = Markdown links: [link test](./relative/path/to/file.rs)
Style: 1 = Toml Path values: path = "relative/path/to/file.rs"
Set to [ { "Path": "./Cargo.toml", "Style": 1 }, { "Path": "./examples/README.md", "Style": 0 }]
Remaining Tasks

Write tests for the action
General code cleanup & sanity
Have the action automatically detect style from file type (optional)

@alice-i-cecile @mockersf @MinerSebas
Continuing conversation from #1650 over here:
This is a screenshot of the action currently in use on this pull request: https://github.com/bevyengine/bevy/pull/1650/checks?check_run_id=2209782326
I am mostly happy with the results but I'm currently trying to improve the clarity and directness of the output so that users immediately know what corrections need to take place.

In this case the action has picked up 3 issues, which on closer inspection is really 2 distinct problems:

./examples/3d/pbr.rs is currently missing from README and must be added
./examples/3d/pbr_textures.rs is missing from both README and Cargo and should be added to both targets.
./examples/3d/[pbr].rs is found in README, but there has not been found an accompanying file on disk.

Now, 1 and 3 is the same issue: There is a typo in the README (brackets should not be there).
Do you all have any insight into how I can improve the outputs given? Since this is potentially going to affect quite a few people, I want this to be as helpful and direct as possible and not cause unnecessary friction.

Think I really messed up my git rebasing, will try to fix

I'll nuke this one and create a fresh pull request once I'm confident the action does not pick up false-positives

Just fixed the git history by squashing the commits, rebasing on main, and force pushing.

Sorry for the delay everyone, this is almost complete. Will aim to have the pull request finished by the end of the day today.

I had the action working properly, then #1714 came along and I realized I needed to support examples that does not lie within the examples folder.

I think this is ready now and should be ready to go as #2263 gets merged.

bors try
so it should fail now right?

It works, it fails! https://github.com/bevyengine/bevy/runs/2697857713
Could you add it to bors? https://github.com/bevyengine/bevy/blob/main/.github/bors.toml

Shouldn't this also currently Fail on the Tests category, as it isn't stored in the examples Folder? (See the ../)
## Tests

Example | File | Description
--- | --- | ---
`how_to_test_systems` | [`../tests/how_to_test_systems.rs`](../tests/how_to_test_systems.rs) | How to test systems with commands, queries or resources

But the CI config only sets this: source: './examples/'

Shouldn't this also currently Fail on the Tests category, as it isn't stored in the examples Folder? (See the ../)
## Tests

Example | File | Description
--- | --- | ---
`how_to_test_systems` | [`../tests/how_to_test_systems.rs`](../tests/how_to_test_systems.rs) | How to test systems with commands, queries or resources

But the CI config only sets this: source: './examples/'

Hmm. Yes you are right. I'll fix this in the morning.
What is the desired approach here? Should we force test examples inside the examples folder? Or are test examples another thing that should be ignored?

@mockersf Are there any specific reason why the examples on how to test systems (#1714) should live in the Test folder instead of the Examples folder?

The action should now work and correctly fail on account of Test examples are not located within the scope of examples/
iter_combinations should no longer be picked up as #2263 has been merged
I also improved the output messages a bit to hopefully add some clarity

bors try

Build failed:
example-doc-validation

Should anyone have a suggestion for a better / clearer name, I'm all ears

@mockersf Are there any specific reason why the examples on how to test systems (#1714) should live in the Test folder instead of the Examples folder?

To be executed when running cargo test

@mockersf Are there any specific reason why the examples on how to test systems (#1714) should live in the Test folder instead of the Examples folder?

To be executed when running cargo test

That makes sense, in which case I propose #2281 in order to unblock this PR

I didn't check how your action works, but if it fails on that it may means it does things backwards: The goal of this PR is to check that examples are in the README.md and Cargo.toml files, not that the examples listed in those files are present in the examples folder.
The fact that those links are valid should already be checked by our link checker in CI

I didn't check how your action works, but if it fails on that it may means it does things backwards: The goal of this PR is to check that examples are in the README.md, not that the examples listed in this file are present in the examples folder.

Currently it does both.

The fact that those links are valid should already be checked by our link checker in CI

The link-checker CI didn't exist at the time I started this work, so I reckoned checking for invalid links would be required to properly solve the problem. I'll remove that check from the action as it is redundant now.
This action will then only check that files within ./examples are present in ./examples/README.md and Cargo.toml, and not the other way around.

bors try

I think this should now be complete and work properly this time.

Renamed the action, hopefully to be more clear.
Re-versioned the action to get rid of the old non-working builds

This action should now run without picking up any issues and be ready to merge.

bors try

bors r+

Great work! I feel so safe now :)

@Weibye please respond in #2373 for the relicense to MIT/Apache 2.0. Thanks!

@Weibye please respond in #2373 for the relicense to MIT/Apache 2.0. Thanks!

Oof, thought I already had. Thanks for the reminder!

Yay! Thanks! We missed you in the initial checks for users, but we're doing additional checks and found this PR from that.


Fix Pyhton 2/3 compatibility issues to fix #185

Submitting the diff I attached to address #185, as advised by @goodfeli.

I signed it!