Running TestNG programmatically with maven

TestNG Version

version 6.11

Hi, I'm trying to running TestNG programmatically and call it by maven using surefire plugin, how can I make it work?.
Java
// this code works on eclipse running as a Java Application
public class TesteModeloMain {
    public static void main(final String[] args) throws Exception {
        final TestNG testng = new TestNG();
        testng.setTestClasses(this.getClasses());
        testng.addListener(new ListenerErrorClass());
        testng.setOutputDirectory("target/test-output/");
        testng.setParallel(XmlSuite.ParallelMode.TESTS);

        testng.run();
        System.exit(0);
    }
}

Maven
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.20.1</version>
            <configuration>
                <includes>
                    <!-- It's found, but not executed -->
                    <include>br.org.igreja.teste.base.TesteModeloMain</include>
                </includes>
            </configuration>
        </plugin>
    </plugins>
</build>

TesteModeloMain it is at src/test/java/

I don't think the Maven surefire plugin is capable of running main() methods.
<includes> lets surefire plugin know what sort of Java classes to look for, which explains how your class got found by surefire plugin. See here for more details.
The surefire plugin has providers within itself which starts off the execution wherein it instantiates a TestNG object and then runs its run() method [ this internally looks for TestNG annotated methods ]. You would need to be using the maven-exec-plugin for doing this. Please refer here for more information.
I am closing this issue, since its not related to TestNG.


PlaybackError event doesn't trigger on iOS when connection is lost

Describe the Bug
On Android, if the connection is lost, the "playback-error" event is triggered with code "playback-source". You could then use that to handle auto-reconnecting.
But on iOS this doesn't happen. I get a "playback-state" event with the state "paused" and then that's it. The "paused" state makes little sense, particularly for live streams.
If you want to handle reconnecting on iOS, you have to listen for the "paused" event, then check if there's a connection using a package like @react-native-community/netinfo, and then start attempting to reconnect.
This was previously mentioned in issue #421, but it was closed without a fix.

@gavrichards what version of the library are you using?

@jspizziri 2.1.2

@gavrichards thanks! After taking a quick look I'm guessing that this is actually a bug in SwiftAudioEx as this package simply observes state and failure events from the player provided by that package.
With that said, it definitely sounds like something that needs to be fixed. With that in mind, I have a few questions:

Can you create a list of reproducible steps that most easily create the issue to help us resolve it?
If possible could you create a fork of this project and create a repro in the example project?
Do you have the ability (with help from contributors) to take a crack at digging into the native side and trying to fix it?

You use this library's useTrackPlayerEvents hook and check for an event.type of Event.PlaybackError.
You'll see that if you lose connection while playing, this is only triggered on Android.
I'm afraid I'm not in a position to do that at the moment unfortunately.
I don't know anything about native code I'm afraid so I won't be much help there.

Same issue on 3.0.0 but on android too

Looking through the SwiftAudioEx source code, I am unable to spot a bug.
RNTP will emit an playback-error whenever the
underlying AVPlayer code encounters AVPlayer.Status.failed - https://developer.apple.com/documentation/avfoundation/avplayer/status/failed
The playback state oberving implementation follows this example code to the T: https://developer.apple.com/documentation/avfoundation/media_playback/observing_playback_state
I do however see mentions of this issue with AVPlayer on old SO posts, so this might be an AVPlayer bug: https://stackoverflow.com/questions/27556521/avplayer-connection-loss-restarting

@TheTarasik @gavrichards can either of you create a reproduction of this based on the example project?

@gavrichards @TheTarasik pinging you here.

Closing until a repro is provided.


[WIP] Generate codecov reports for PRs

Changes to .codecov.yml to enable code coverage reports
Changes to generate-coverage.sh for fixing errors

Fixes #1557
What kind of PR is this?
/kind bug
What does does this PR do / why we need it:
This PR enables code coverage reports in PRs
Which issue(s) this PR fixes:
Fixes #1557
How to test changes / Special notes to the reviewer:
Codecoverage reports should be seen with PRs.

/test v4.3-integration-e2e-benchmark

/test v4.3-integration-e2e-benchmark

@girishramnani, Forgot to add the WIP in the PR title. The changes in the PR are tentative and subject to change.

This PR requires codecov to be enabled at the openshift org level. @amitkrout is following the due procedure for the same.
Once, that is done, this PR can progress ahead.
cc: @kadel , @amitkrout

This PR requires codecov to be enabled at the openshift org level. @amitkrout is following the due procedure for the same. Once, that is done, this PR can progress ahead.

Created a jira task of priority Urgent in projects/DPP and shared it in fourum-dp-platform for a quick action

Created a jira task of priority Urgent in projects/DPP and shared it in fourum-dp-platform for a quick action

@kanchwala-yusuf This is the last update i got on the jira
Right after I posted this, I found an org-level setting where I had to explicitly grant CodeCov access to openshift/odo, so I enabled it. I think you should be good to go.

Seems the access has been granted. Can you please rebase the pr and check the expected output.

The code coverage is being generated as it has been enabled at the openshift org level. So, I guess we do not need this PR.

So, closing this PR.


HELM-12: Add from and  to template variables

JIRA: https://issues.opennms.org/browse/HELM-12

Somehow this does not work locally for me, even with the latest date enhancements to the opennms.js library. I have to investigate.

The problem is, that the grafana build in template variable service is doing string replacement. That means, that a $range_from or $range_to variable is converted using the String.replace(...) method. The original proposed solution would convert $range_from/$range_to to a timestamp. That would work, with the templateSrv, however the opennms.js library does not know that. That functionality could be added.
The latest proposed solution is setting the interval date directly instead converting it to a number. That way no change must be made to the opennms.js client. However a partial string replacement no longer works.
I think both implementations have their pros and cons and I am not in favor of any solution. Just some input on the issue at hand.

I think the current solution is fine.
Can we add a test case for this?


New version: Gyan.FFmpeg version 7.0

Checklist for Pull Requests

[X] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[X] Does your manifest conform to the 1.6 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Hi @aisgbnok,

This PR's version number 7.0 has 2 parameters (sets of numbers between dots - major, minor, etc), which is less than the current manifest's version 6.1.1, which has 3 parameters.

Does this PR's version number exactly match the version reported in the Apps & features Settings page? (Feel free to attach a screenshot.)
(Automated response - build 876)

Hey @stephengillie,
This is a portable installer, so the executable does not place an entry in Windows settings. WinGet seems to do that based on the reported version number in the manifest.
However, I am confident 7.0 is the correct version. The executable reports version 7.0, and that is what the author uses.

This reduction in parameters is not new for Gyan.FFmpeg in the winget-pkgs repository. For example, 5.0 -> 5.0.1 -> 5.1, etc.

Verify:

This reduction in parameters is not new for Gyan.FFmpeg in the winget-pkgs repository. For example, 5.0 -> 5.0.1 -> 5.1, etc.

Thanks for letting me know. I'll add it to an exception list for this check. (Currently manual, might be noisy until it's fully automated.)


Add stickers methods

https://core.telegram.org/bots/api#stickers

Looks very much legit to my eye. Thank you for your contribution!


Rename to common-php

Hey everyone,
What do you think about renaming this package to common-php? We're starting to work in other languages a lot with AngularJS, Kotlin, GO, etc., and having a single package called common doesn't make sense as it's not common to all of our applications. Doing this would allow us to have a common package for each language if we wanted.
Let me know what you all think.

I agree.

I agree as well.

I'd like to hear from @xurumelous and @klaussilveira before doing so. We should also change it on packagist I believe. I believe one of those two will have access.

From what I see, packagist doesn't support renaming, so we're only going to rename the library.


Marking cached data as "modified"

Hi, I have a question.
I was wondering if it's possible the mark cached data as modified.
Which means that is has to be sent to the server after being modified locally, and not be overwritten with new data from the server.
Does this functionality already exist, I didn't see it in the documentation?
I ask because I'm looking at rewriting my own hamstrung caching implementation, but if this were to have that functionality I'd strongly consider using this instead.

You could probably mark something in the data object you are caching, but it is just a generic cache on disk. Nothing special.


storage-resize-images, backfill: Unhandled error FirebaseFunctionsError: Queue does not exist.

Describe your configuration

Extension name: storage-resize-images
Extension version: 0.1.32
Configuration values (redact info where appropriate):

Cloud Functions location: europe-west1
Cloud Storage bucket for images: .appspot.com
Sizes of resized images: 240x240,960x960,1920x1920
Deletion of original file: false
Make resized images public (Optional): false
Cloud Storage path for resized images (Optional): thumbs
Paths that contain images you want to resize (Optional): Parameter not set
List of absolute paths not included for resized images (Optional):
Cache-Control header for resized images (Optional): Parameter not set
Convert image to preferred types: jpeg, webp, false
Output options for selected formats (Optional): Parameter not set
GIF and WEBP animated option (Optional):  true
Cloud Function memory: 1024
Backfill existing images: true

Describe the problem
The cloud function throws the following error:
Unhandled error FirebaseFunctionsError: Queue does not exist.
    at FunctionsApiClient.toFirebaseError (/workspace/node_modules/firebase-admin/lib/functions/functions-api-client-internal.js:227:16)
    at /workspace/node_modules/firebase-admin/lib/functions/functions-api-client-internal.js:88:24
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async /workspace/lib/index.js:187:9
    at async /workspace/node_modules/firebase-functions/lib/common/providers/tasks.js:53:17 {
  errorInfo: {
    code: 'functions/failed-precondition',
    message: 'Queue does not exist.'
  },
  codePrefix: 'functions'

The issue might arise because the Cloud Tasks Queue is located in region europe-west1. The firebase extension might expect region us-central1 though.
Steps to reproduce:

Update to latest version of storage-resize-images
Change configuration to enable new backfill feature

Expected result

Backfill to work without errors

Actual result

Backfill fails and cloud task fails too

Hey @dackers86  I'm still getting this issue on v0.1.33. Has the fix been deployed yet? Thx 🙇

V0.1.33 doesn't contain the changes.  Hope they'll be deployed with the next update!


Hi how to add column, that shows row number

like
1 somne value,
2 other value
....

You can use
getId()

It's row number starting from 1, considering pagination.

from DataRow.php

Thanks
2017-06-12 15:15 GMT+03:00 wdog<EMAIL_ADDRESS>
You can use
getId()
It's row number starting from 1, considering pagination.
from DataRow.php
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Nayjest/Grids/issues/175#issuecomment-307772177, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ALawJsTlKTiSwZfo2R1oCQnst3EDJHtKks5sDSvpgaJpZM4N23z_
.

--
Nazelina Karanfilian

I want to sort this row id? Any body help me? Thank you for helping!

duplicate #178


replace transformPage with transformPageChunk

Closes #4910.
This replaces the transformPage API with transformPageChunk, so that we can respond in a streaming fashion in future. We're not yet taking advantage of that ability, but updating the API is the first step.
Previously, transformPage took the entire HTML document:
export function handle({ event, resolve }) {
  return resolve(event, {
    transformPage: ({ html }) => html.replace('old', 'new')
  });
}

Now, it takes a chunk of HTML plus a done boolean. Chunks are not guaranteed to be well-formed HTML (they might include the opening tag of an element but not its closing tag, for example) but nor are they arbitrary — they will always be split at sensible boundaries (like %sveltekit.[property]% or before the contents of a layout or page component). Because of that, many transforms will work identically:
export function handle({ event, resolve }) {
  return resolve(event, {
-    transformPage: ({ html }) => html.replace('old', 'new')
+    transformPageChunk: ({ html }) => html.replace('old', 'new')
  });
}

In some cases, it's necessary to operate on the entire document in one go — for example, to validate and transform an AMP document. In these situations it's easy to buffer the HTML and return the transformed document at the end:
export function handle({ event, resolve }) {
  let buffer = '';
  return resolve(event, {
    transformPageChunk: ({ html, done }) => {
      buffer += html;
      if (done) return amp.transform(html);
    }
  });
}

Right now, done will always be true (i.e. there'll only be one chunk, which is the entire document) but that will change in the near future.
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[x] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

It looks like all the examples are buffering the whole page before dealing with it, so I wonder if we can't have a transformPage still just with the clearly documented caveat that if you use it, you lose streaming and buffer the whole page? I haven't looked into the implementation details to know if that's possible or not


fix: Android - Downloaded pop-up appears if download Word, missing Attachment successfully download.

Details

Fixed Issues
$ https://github.com/Expensify/App/issues/43809
PROPOSAL: https://github.com/Expensify/App/issues/43809#issuecomment-2171115205
Tests

Only for native platform

Open any chat
Add an attachment any Word document
Click on it for download
Verify popup appears with text Downloaded. Attachment successfully downloaded

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

Offline tests

Only for native platform

Open any chat
Add an attachment any Word document
Click on it for download
Verify popup appears with text Downloaded. Attachment successfully downloaded

QA Steps

Only for native platform

Open any chat
Add an attachment any Word document
Click on it for download
Verify popup appears with text Downloaded. Attachment successfully downloaded

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

PR Author Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/85894871/96a14fa4-5669-4b3a-9c00-5f0ac4699127

Android: mWeb Chrome
https://github.com/Expensify/App/assets/85894871/825d56c8-d58b-4b53-a568-8029d5b5c104

iOS: Native
https://github.com/Expensify/App/assets/85894871/143e7129-57f1-4270-8c04-353a6677b38d

iOS: mWeb Safari
https://github.com/Expensify/App/assets/85894871/7d042df5-2b2e-4eb7-a6fe-6a50e2132a78

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/85894871/4562032a-db9e-436c-89e7-5e3f3efd9b69

MacOS: Desktop
https://github.com/Expensify/App/assets/85894871/1c3c8b1e-0f5e-4911-a306-98192d4f9712

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: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb 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 either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I 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(theme.componentBG)

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

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

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/3004659/d3bc7e38-0e66-4918-bcf2-c0d79a6bc0ba

MacOS: Desktop
https://github.com/Expensify/App/assets/3004659/9de3e7c4-3344-4d7a-b9bb-2a7e8854f961

Android: Native
https://github.com/Expensify/App/assets/3004659/5e50d77f-da55-4850-badd-e5d2fb8d7901

Android: mWeb Chrome
https://github.com/Expensify/App/assets/3004659/baf495b9-df87-4628-9920-441cbd814921

iOS: Native
https://github.com/Expensify/App/assets/3004659/a4d7783c-8583-4c0a-bd0e-c151067c5644

iOS: mWeb Safari
https://github.com/Expensify/App/assets/3004659/4e81d403-c965-46db-b260-bededda6fe19

🚀 Deployed to staging by https://github.com/rlinoz in version: 9.0.4-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Cherry-picked to staging by https://github.com/tgolen in version: 9.0.4-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by https://github.com/Julesssss in version: 9.0.5-13 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/thienlnam in version: 9.0.6-8 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


[Model] Conni

This is miscategorised as a single model - in fact it is a model and skin pack with loads of models .
I doubt the stated author is actually the author of any of the models (cetainly of the ones I am familiar with which is most/all of them) though possibly of a skin or two.

URL: https://unrealarchive.org/models/unreal-tournament/C/conni_cea5d71d.html
Hash: cea5d71dcf1d36195bb88fc0851001fa754168e6
Current name: Conni

Judging by an image included, along with the filename, it seems to be the "Skincity Best of UT Model Pack".
https://unrealarchive.org/file/unreal-archive-images/Unreal Tournament/Models/C/Conni_shot_8.png
Renamed and change author to "Various" which is in line with map packs.


it needs long time to connect to terminal server by gateway

Hello, I find it should wait a long time (15 ~ 25s)while connecting to microsoft windows 2012r2 terminal server by gateway.
I use raspberry pi 3 as client, rasbian jessie (debian jessie version 8) with kernel 4.4.9.
xfreerdp version: 2.0.0-dev (git 4e66df7)
xfreerdp command:
xfreerdp /sec:rdp /cert-ignore /u: /f /fonts /drive:*,hotplug /network:modem /sound:sys:pulse /microphone:sys:pulse /v:<IP_ADDRESS> /g:<IP_ADDRESS> /gu:xxx /gp:xxx /gd:xxx
compile command: sudo cmake -DTARGET_ARCH=ARM
Installed package: build-essential git-core cmake xsltproc libssl-dev libx11-dev libxext-dev libxinerama-dev libxcursor-dev libxdamage-dev libxv-dev libxkbfile-dev libasound2-dev libcups2-dev libxml2 libxml2-dev libxrandr-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libxi-dev libgstreamer-plugins-base1.0-dev libavutil-dev libavcodec-dev fonts-droid fonts-nanum
Can anyone help?
Many thanks.

And do you experiment something different using the official MS client ?

Sorry, it should be the server issue. I tested it with another server and it works fine. Thanks.

Sounds like a duplicate of #3602. Two questions:

Does it work with /gt:rpc?
What happens when you hit Enter just after launching xfreerdp (after connection to the gateway is established)?


Fix a typo in parallel_context.py

This PR is related to this issue.

Thanks for your contribution :)

As mentioned in #2415, the change should be reverted.


DirectOnly attribute bug

DirectOnly attribute in config is not working as intended. When this is set to true, delegated votes should be considered as not meeting requirements.

is this fixed?

Not yet. U can take this otherwise I can too.

please can you do it?

ok. ill do it.

Got deeper into this. Right now all our delegated votes have a lockedWithDelegation: 0 because it looks like we are ignoring delegations when we calculate the locks. So it doesn't matter if directOnly is set to true or false. Delegated votes are currently always considered to have lockedWithDelegation: 0 and thus never meet the requirements

So it seems like the whole time we were not considering governance locks from delegations. We are now considering those in 9279639.


Suggestion: makefile target to print toolchain version (IDFGH-1171)

My project uses esp-idf and I have Makefile scripting to automatically install esp-idf from github and to download and install the xtensa toolchain.  At present, my Makefile hardcodes the toolchain version and when esp-idf changes to expect a different toolchain, I get warnings and have to manually update to the new toolchain.  It would be nice if there were an easy way to ask esp-idf which version it expects, so I could automate the process of installing the right one.  Something like "make print-toolchain-version".
It would be even better if esp-idf were to automatically install the toolchain, but I understand how fiddly that can be in the face of different build environments, so the print target would be an acceptable intermediate step.

https://github.com/espressif/esp-idf/blob/ae5df5d6ce7c9abd9c8c4731ced96031c29f7fc1/tools/toolchain_versions.mk

Thanks.  I had missed that file because I had an old copy of the tree and forgot to look at the new makefiles after I updated it.  By including that file in my Makefile the toolchain installation is now automated.

Uh, that file does not appear in the v3.1.4 release archive file.  To save time, I switched from cloning the repo to grabbing the release archive, only to discover that the version stuff is buried in make/project.mk in the release version.

Yes it only exists in 3.2 and up.  You could grep it out of project.mk in 3.1.

Hello @MitchBradley, we are closing this issue. Information you are looking for is present in tools/tools.json in all maintained releases.
If you think this issue should be open, please let me know. Thank you!

Any suggestions for how to access the tools.json info from a Makefile, other than by using a sed or awk script that would be sensitive to formatting changes in tools.json ?

@MitchBradley The best way to access the content of tools.json is indirectly through tools/idf_tools.py. You can invoke this tool even from a makefile. You can download the toolchain with it and generate the paths which should be exported to use the tools. Please check out the download, export and other subcommands of tools/idf_tools.py. Examples for using this tool can be found in install.sh and export.sh files. All of these tools are part of the cmake toolchain which is in preview state for ESP-IDF v3.3 and not yet available in v3.2. These tools are used by default since v4.0.
If you are using the make build system with ESP-IDF v3.x then the toolchain versions are available in tools/toolchain_versions.mk as it was already discussed in this issue.
At this moment only ESP-IDF v3.3 is maintained from the v3.x series. But only bugfixes are backported there. So I'm afraid if you missing some *.mk files from v3.1 or v3.2 then adding them there is no longer possible.
So I don't think anything else could be done to resolve this "issue". I'm closing it but feel free to ask further questions here.


Character code displayed rather than Character in Catalogue name

Recreation Steps

Create a new Catalogue
Use a character in the name (i.e. ')
OBSERVE --> Character comes out as '

Not your problem now friends, Excellent work on the app. The heavy lifting is all done. I'm Excited to get started on polishing and shaping it!

Refer to backend/middleware/sanitize.js, a file that sanitizes incoming data. I believe that incoming special characters are stored as escaped characters in the database, however is being processed by the frontend as a full string instead of decoding the escaped characters.
Possible Solution: Utility function in frontend to decode incoming data


wasm-trace gives "bad interpreter: No such file or directory" message

I have installed wasm-trace in my system. But when I am trying to run it getting bad interpreter: No such file or directory issue.
Steps

Install wasm-trace.

wasm-trace -ELM ./test.wasm - on execution of this command getting below mentioned error
bash: /usr/local/bin/wasm-trace: node: bad interpreter: No such file or directory

I am using OS - Ubuntu 19.10. Is this why I am getting the issue?

This is probably because it uses a shebang with direct node reference:
https://github.com/wasm3/wasm-trace/blob/8f1aa89e811e221a83a89a6de806599d8df6f0cd/wasm-trace.js#L1
What happens, if you run node command?
Also, you may try setting up the latest Node.js through nvm: https://github.com/nvm-sh/nvm


{Core} Remove duplicate credential warning

Related command

az ad sp create-for-rbac
Description

After adding global credential warning in cli core (#27929), az ad sp create-for rbac will show duplicate warning messages. It's better to keep the command specific warning and suppress generic warning.
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.

Core


Change the onDidSaveTextDocument handler to only reindex the single saved file

Description
This will improve scale as before the indexing process was restarted on every file save. There is a bit of code duplication between this new function and the existing refresh function. It will be solved in the next commit which builds on top of this one.
Checklist

[x] The base branch of this PR is dev, rather than main
[x] The relevant docs, if any, have been updated or created

Excellent work per usual 👌


ros_environment: 3.0.0-1 in 'rolling/distribution.yaml' [bloom]

Increasing version of package(s) in repository ros_environment to 3.0.0-1:

upstream repository: https://github.com/ros/ros_environment.git
release repository: https://github.com/ros2-gbp/ros_environment-release.git
distro file: rolling/distribution.yaml
bloom version: 0.9.7
previous version for package: 2.5.0-2

Great!
@nuclearsandwich do you have an estimate of when this would be synced to the main repository ?
/cc @ruffsl this is the fix we need to unlock https://github.com/docker-library/official-images/pull/8254

desktop is regressed right now and I'd like it not to be. We haven't yet figured out what the sync policy is for Rolling but I think early next week is likely. http://repo.ros2.org/status_page/ros_rolling_default.html?q=REGRESSION

Thanks for the prompt response :+1: looking forward for the sync announcement


Issue #SB-24336 fix: Circleci integration for collection editor and adding test cases

Pushed changes to another Pr due to base branch


feat: make default batch size configurable via environment variable

There's a number of places (updates, compaction, etc.) where the default batch size is used and it is not configurable.  However, the default is too large in many cases.  We should probably eventually make all of these operations configurable (batch size, readahead, etc.) or perhaps change the default batch size to be based on data size but in the meantime this provides a potential workaround.

Codecov Report
Attention: Patch coverage is 60.00000% with 6 lines in your changes missing coverage. Please review.

Project coverage is 79.47%. Comparing base (57e9e3e) to head (c7101d8).

Files
Patch %
Lines

rust/lance/src/dataset/scanner.rs
60.00%
4 Missing and 2 partials :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2693      +/-   ##
==========================================
- Coverage   79.49%   79.47%   -0.03%
==========================================
  Files         227      227
  Lines       66927    66936       +9
  Branches    66927    66936       +9
==========================================
- Hits        53206    53197       -9
- Misses      10608    10619      +11
- Partials     3113     3120       +7

Flag
Coverage Δ

unittests
79.47% <60.00%> (-0.03%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

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

I'm getting this lint. Was this not caught in CI?
 --> rust/lance/src/dataset/scanner.rs:262:28
    |
262 |                   bs.parse().expect(&format!(
    |  ____________________________^
263 | |                     "The value of LANCE_DEFAULT_BATCH_SIZE ({}) is not a valid batch size",
264 | |                     bs
265 | |                 ))
    | |__________________^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call
    = note: `-W clippy::expect-fun-call` implied by `-W clippy::all`
    = help: to override `-W clippy::all` add `#[allow(clippy::expect_fun_call)]`
help: try
    |
262 ~                 bs.parse().unwrap_or_else(|_| panic!("The value of LANCE_DEFAULT_BATCH_SIZE ({}) is not a valid batch size",
263 +                     bs))
    |


French localization

This also adds a localized string for "Dark mode"

@bagaswastu Maybe you can consider squashing the pull request instead of merging it. That way, the git tree doesn't look so messy.

@bagaswastu Maybe you can consider squashing the pull request instead of merging it. That way, the git tree doesn't look so messy.

@bagaswastu Maybe you can consider squashing the pull requests instead of merging it. That way the git tree doesn't look so messy.

Okay, I'll try

@bagaswastu Maybe you can consider squashing the pull requests instead of merging it. That way the git tree doesn't look so messy.

Okay, I'll try


use AppId instead of RpId to hash when AppId-Extensions-Flag is set

https://www.w3.org/TR/webauthn/#sctn-appid-extension

If true, the AppID was used and thus, when verifying an assertion, the Relying Party MUST expect the rpIdHash to be the hash of the AppID, not the RP ID.

Looks good, but there is one small issue.  Raw.Extensions is very commonly null, in which case Raw.Extensions.AppID crashes.

of course.
I'l submit another PR


Added fontStyle and fontWeight. Fixes #916

https://github.com/terrestris/geostyler/issues/916

Hi @NelGarbuzova, thanks.
I fear this is not the right fix, but am confident that maybe @KaiVolland or @jansule may have some pointers wrt how an implementation could look like.

@marcjansen is right.
We first need to support font-weight and font-style in the TextSymbolizer in the geostyler-style.
@NelGarbuzova would you like to do a PR over there, too? Should be just something like:
fontWeight?: string;
fontStyle?: string;

If so, please extend the sample accordingly.

https://github.com/terrestris/geostyler-style/pull/114

https://github.com/terrestris/geostyler-style/pull/115

This PR is not being maintained anymore.
=> Closing


Add a fourth hint for nix run

Motivation for this change
Attempting to run postman via nix run nixpkgs#postman, I got an error message about unfree packages, but the mitigations listed weren't helping. With some discussion from this discourse topic, I understood that I needed the --impure flag, but the error message does not mention that.
This PR just adds a bit of text to that error message block about instituting one of the recommended fixes, then making sure to use --impure with nix run.
I am not sure how to test this change; some help with that would be appreciated.
Closes #116340.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[X] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

@Pacman99, what else should I do to get this ready for merge?

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/nix-run-refuses-to-evaluate-unfree-packages-even-though-allowunfree-true-in-my-config/13653/6

I don't like this change. I'd much rather see this warning instruct people on how to do the right thing with pure-eval, rather than just encouraging more indirect overriding of internal behavior.

I don't like this change. I'd much rather see this warning instruct people on how to do the right thing with pure-eval, rather than just encouraging more indirect overriding of internal behavior.
I can see it now - someone will do this and then wind up including more impurity than they'd wanted to and then being confused why allowing unfree with --impure is somehow causing overlays to be loaded, etc.

I'm getting a lot of conflicting advice on this PR and would like some help in knowing which direction is best for everyone. For my part, I found the existing help text to be both unhelpful and, after diving into things, inaccurate, so I was trying to improve both aspects in the way that minimally made me able to function.
I'm not aware in general of how to "do the right thing with pure-eval"; would you mind pointing me towards some resources that explain it? Related request: would you mind prompting me towards what sort of help text you think would be better?
If we could form some consensus on this, I think that would be great. As it stands, I don't have enough knowledge to understand how best to improve the error message here.
Thanks everyone!

The "right" thing, is often considered a wrapping flake, that imports nixpkgs with an appropriate config and re-exposes all of nixpkgs package set.
This is something I do not like though, as it requires a lot of work, especially if you want to have some certain commit of nixpkgs or use different branches all the time…
--impure + env-vars is in my opinion usually the easiest and quickest way to test something broken/unfree without having to enable the setting in config/rebuild/switch/rollback on misbehave…

The "right" thing, is often considered a wrapping flake, that imports nixpkgs with an appropriate config and re-exposes all of nixpkgs package set.
This is something I do not like though, as it requires a lot of work, especially if you want to have some certain commit of nixpkgs or use different branches all the time…
--impure + env-vars is in my opinion usually the easiest and quickest way to test something broken/unfree without having to enable the setting in config/rebuild/switch/rollback on misbehave…

This confirms my own intuition: the "right thing" is some deeper action that is bulky to perform and requires a lot of understanding of theory; the thing that lets me continue being productive in my environment immediately is using the --impure flag.

@jonringer, thanks again for your input on the help text. I am not sure what else to do to get this reviewed and merged. Can you help push this along?

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/2118

Similar thing was already done in 7bea56b4253a3232a44249b3dd7d2a82795ef7fc


refactor: store more info about the transitions in the state

I'm working on reimplementing stacks and storing this info in the routes state makes things much simpler and allows me to get rid of something like the transitioner.

Hey, sorry I didn't see this earlier! I wish we had discussed it before you spent time on this direction, because I think it is not such a good idea to keep transition info in the navigation state. The only reason isTransitioning is in the state is because we need to notify the event system when a transition is happening.
I really think the transition state should be handled by the navigator component, and not by navigation core. There are lots of edge cases that may crop up.. like, what if a navigator has a type of transition other than pushing or popping?
I see the isTransitioning stuff has been removed from Tab Router, which would break the "didFocus/didBlur" events in an animated tab navigator.
I actually think we should remove isTransitioning from the navigation state, and provide another API for transition completion instead (check the core/stack/native "transition-completion" branch to see how that would work)

Thanks for checking. I think it's okay coz this change was not a lot of work and I needed it to continue with my work regarding stack, so I couldn't wait.

The only reason isTransitioning is in the state is because we need to notify the event system when a transition is happening.

My use case is not for the event system. I'm rewriting stack navigator with reanimated: https://github.com/react-navigation/stack/pull/131
The reasons I added this to router are:

With reanimated, it's important to make sure only one route animates at a time to avoid some issues, so I need to keep track of which routes are transitioning.
There is immediate: boolean to control if pushing/popping something should cause an animation or not, there's also replace which won't cause an animation. I need access to this info somehow. Since the view only receives the list of routes from the router, it’s not possible for it to know if a screen should animate or not when being added/being removed.

I see the isTransitioning stuff has been removed from Tab Router, which would break the "didFocus/didBlur" events in an animated tab navigator.

The tab navigator never used the isTransitioning property. So I think it shouldn't break anything. I think only stack navigator needed it.

I actually think we should remove isTransitioning from the navigation state, and provide another API for transition completion instead

I don't have any opinions about it, and it does seem better to remove this from the router. But the main issue is how can I access this info about which routes will animate from my component?

Closing as we agreed on an alternative way.


[irods/irods_5827] CMake consistency sweep

these are looking more and more familiar... please # it.

#'d


Milestone 0.0.13

Changes Unknown when pulling ea802beb091293d57ee873a8fb0783b138ed10c6 on milestone-0.0.13 into ** on master**.

Changes Unknown when pulling 8987401c0a64df42f5ae067b9480a9c12232b0e5 on milestone-0.0.13 into ** on master**.


Help for translation?

Hello,
I would like to help here to translate the website to german, can I contribute here for that?
Thanks

Instructions at https://github.com/github/opensource.guide/blob/master/docs/translations.md

Oh, see #577 for a German translation in progress. Perhaps you can help?

thank you @mlinksva


why response message looks like json? is this correct?

Hi, we cannot give you a definitive answer as the responses depend on the model/param settings you use, if you're only getting a json formatted responses, make sure to check if the request mode has been set to default in the "advanced" settings. Thanks!

great..
thank you so much


Migration from v3 to v4，Style breaking because of the path of import components

[x] The issue is present in the latest release.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
After I migration the version from v3.8.1 to v4.4.1, The style of many page has break.I had read the guide and rewrite some code but still have some problems.
and I find these path of import components will let component's root style cover custom style
（But it works normally in v3.8.1）
import AppBar from "@material-ui/core/es/AppBar/AppBar";
I changed the path to the following way，it can work again.
import AppBar from "@material-ui/core/AppBar";

Then I went to node_module to see the structure of the directory.

v3.8.1/node_module
import AppBar from "@material-ui/core/es/AppBar/AppBar";&
import AppBar from "@material-ui/core/AppBar";
both import the same fil — a  .ts file, in same directory.
v4.4.1/node_module
Directory structure changed
import AppBar from "@material-ui/core/es/AppBar/AppBar"; import a .ts file
import AppBar from "@material-ui/core/AppBar";  import a .js file

I think that's why some style break.
It doesn't seem mentioned in the documentation, so I write this.
Your Environment 🌎

Tech
Version

Material-UI
v4.4.1

React
v16.6.3

Browser
chrome 77.0.3865

Duplicate #17550 17550


Support getting and resetting limit of a specific identifier

I have a feature request.
Right now the limit function can modify the limit, but we lack a getRemaining function to see the current value of the limit without any modification. It can be useful for displaying the remaining amount to users.
Another useful function is resetting the limit. In practice, this might mean deleting the entry in Redis. It could be useful when we are trying to reset the limit on every billing cycle for paid members. For example, I might allow 1000 AI image generations monthly, and every time the user pays the bill, I can reset the limit.
This is how I currently implement getRemaining() function (it's only for fixed window). I did it by writing a wrapper around the Ratelimit object:
/**
 * Get redis key for fixed window rate limiter
 * @param prefix e.g. 'ratelimit:free'
 * @param identifier e.g. user ID or email
 * @param window time e.g. '1m'
 * @returns a key in the form of "prefix:identifier:timestamp"
 */
function getFixedWindowKey(prefix: string, identifier: string, window: string) {
  const intervalDuration = ms(window)
  const key = [prefix, identifier, Math.floor(Date.now() / intervalDuration)].join(':')
  return key
}

/**
 * Get the remaining limit for a fixed window rate limiter without actually consuming the tokens.
 * @param key redis key in the form of "prefix:identifier:timestamp"
 * @param tokens max number of tokens
 * @returns remaining number of tokens in the window, or 0 if the limit is reached
 */
async function getFixedWindowLimitRemaining(key: string, tokens: number) {
  const used = await kv.get<number>(key)
  let remaining = tokens - (used ?? 0)
  if (remaining < 0) remaining = 0
  return remaining
}

/**
 * Create a fixed window rate limiter with Upstash Redis as the backend.
 * This returns a rate limiter object which extends the original ratelimit object by adding
 * a `getRedisKey` function and a `getRemaining` function.
 */
export function createFixedWindowRatelimit(config: RateLimiterConfig) {
  const { redis, timeout, analytics, prefix, tokens, window } = config

  const ratelimit = new Ratelimit({
    redis,
    timeout,
    analytics,
    prefix,
    limiter: Ratelimit.fixedWindow(tokens, window),
  })

  const getRedisKey = (identifier: string) => {
    return getFixedWindowKey(prefix, identifier, window)
  }

  const getRemaining = async (identifier: string) => {
    const key = getRedisKey(identifier)
    return await getFixedWindowLimitRemaining(key, tokens)
  }

  return {
    limit: ratelimit.limit.bind(ratelimit),
    blockUntilReady: ratelimit.blockUntilReady.bind(ratelimit),
    getRedisKey,
    getRemaining,
  }
}

/**
 * Rate limiter for free tier, should be used to limit image generations based on userID
 */
const ratelimitFree = createFixedWindowRatelimit({
  redis: kv,
  timeout: 1000,
  analytics: true,
  prefix: 'ratelimit:free',
  tokens: 30,
  window: '1h',
})

I think API users can implement the get and reset function as well but it's better if users don't have to understand Redis or Upstash at all. I currently use Vercel KV and I want to be oblivious to how it works. I don't want to learn Redis just to do rate limiting.
Maybe what we need is something like the getRemaining function above and another function like reset inside the Ratelimit object.
Thanks!

it makes sense. can you send a PR about this?

it makes sense. do you have availability to send a PR about this?

Unfortunately, no. I don't know enough to modify this repo.
It'd be great if someone can implement this.

@off99555 I am not sure about your use case but if you do it like this to get the remaining limit:
 const { remaining } = await ratelimitFree.limit(
    "someUniqueIdentifier"
  );

the remaining property is returned by the limit function call. If this doesn't work for you then please let me know I am happy to work on this issue
And for resetting the tokens we can definitely have an API exposed to do that. I will try to raise a PR

@sourabpramanik That isn't ideal because I want to check remaining values often without modifying the limit. For example, I might want to display this remaining vaue on every page refresh, but only consume it when user generates an image.

@sourabpramanik That isn't ideal because I want to check remaining values often without modifying the limit. For example, I might want to display this remaining vaue on every page refresh, but only consume it when user generates an image.

Ahh, I see now, that you must have to consume the token to get the value. Thanks for explaining it to me. I will raise a PR for an API exposed for the same. Thanks

Let me give another example use case of why getRemainingQuota is important.
Suppose you limit the user to 100 requests per hour based on his email address. Some users will create 10 new accounts just to abuse the service 10x more. So you should limit based on other dimensions e.g. IP address as well.
This requires getRemainingQuota API so that we can implement multi-dimensional rate-limiting.
Overview of multi-dimensional rate-limiting algorithm (pseudo code from GPT-4):
def is_request_allowed(email, ip, device_fingerprint):
    # Define limits
    limits = {
        "email": 100,  # 100 requests per hour
        "ip": 200,  # 200 requests per hour
        "device": 150  # 150 requests per hour
    }

    # Define keys for Redis
    keys = {
        "email": f"email:{email}:count",
        "ip": f"ip:{ip}:count",
        "device": f"device:{device_fingerprint}:count"
    }

    # Check current counts without incrementing
    current_counts = {key_type: int(redis.get(key) or 0) for key_type, key in keys.items()}

    # Determine if any limit is exceeded
    limit_exceeded = any(current_counts[key_type] >= limits[key_type] for key_type in keys)

    if limit_exceeded:
        return False  # Do not proceed and do not increment since limit is exceeded
    else:
        # Increment counters since the request is allowed
        for key in keys.values():
            redis.incr(key)
            redis.expire(key, 3600)  # Ensure each key expires in 1 hour to reset the count

    return True  # Proceed with the request

# Example usage
is_allowed =<EMAIL_ADDRESS>"<IP_ADDRESS>", "device1234")
if not is_allowed:
    # Reject the request
    pass
else:
    # Proceed with the request
    pass

I do agree with the benefits of the getRemaining API, but the use case of yours where "a request that would exceed the limit does not count towards the limit itself" can be achieved by otping cache. Once the limit is reached and caching is enabled then the cache will store that IP or any identifier in it and block it until the window duration elapses. Meanwhile, if any new request comes in we first check the cache if that identifier is already blocked or not, if blocked then no further counter mutation is done

I am working on both the APIs and have to run some tests on it, maybe this week I will raise the PR for it

Also to mention I am building the Rust SDK for Upstash rate limit (unofficial), so maybe next month I will be able to ship the single region rate-limiting that can work with major rust based frameworks and runtimes hopefully

getRemaining and resetUsedTokens methods were added to our library with version 1.1.1.
You can refer to our updated documentation for more details.
Thanks for the great suggestion!


Voice conversion

Would it be possible to use sherpa-onnx to do voice conversion? (Changing voice in audio to something else)
And maybe voice cloning for tts? (Clone voice from audio and generate new speech with that voice)?
Like the project Applio does, I think it's based on vits

Sorry, we have no voice conversion support at present.


Story/csi 446 igorg get host by host identifiers

Support fc in a9000.
Updated array_mediator_xiv.py
added method get_array_fc_wwns
update method get_host_by_host_identifiers

This change is

controller/array_action/utils.py, line 24 at r1 (raw file):
Previously, shay-berman wrote…
sound overwhelming
I think we should make it simpler and refactor the initiators to be not as param, 1 for iscs 1 for wwn and later one for NVME.
Instead we should define it as dict of {'iscsi':[iqn1], 'fc':[wwn1,wwn2,wwn3...]}
This will make it more flexible and make it much ready for NVME.
what do you say?
then u don't really need get_all_port or many other boiler plates in the code.

Considered it too
But there are only 3 types and there will not be new ones in the close future

controller/array_action/array_mediator_xiv.py, line 182 at r1 (raw file):
Previously, shay-berman wrote…
it could be a bug
because you may have host1 with iqn and also wwn so u will find 2 host which are the same.
if fc found you should return it, if no fc but iscs then you return iscsi.

right. now I remember why I added boolean flag before!

controller/array_action/array_mediator_xiv.py, line 175 at r1 (raw file):
Previously, shay-berman wrote…
lets talk about it and consider how to simplify it.

couldn't find a simpler way
This why I told you that the case of host with more than one iqn made the code ugly.

controller/array_action/array_mediator_xiv.py, line 182 at r1 (raw file):
Previously, igorgonibm wrote…
right. now I remember why I added boolean flag before!

fixed

controller/common/node_info.py, line 40 at r3 (raw file):
Previously, 27149chen (Guang Jiong Lou) wrote…
Igor, please consider the problems I raised in the wiki: https://wiki.xiv.ibm.com/pages/viewpage.action?pageId=253826817
What if you find a match, but the port is offline? what if a node has several ports, but the host definition on storage side only has one port (not a good multipath)? and so on...
In short, I don't think it means that you find the right (or best) host when the intersection of the two sets is not empty.

There is corresponding ticket for that after Beta CSI-483


remove coverity and coveralls to speed up the ci

What's the purpose of this PR
remove coverity and coveralls to speed up the ci
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Read the Contributing Guide before making this pull request.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit tests to verify the code.
[x] Run mvn clean test to make sure this pull request doesn't break anything.

Codecov Report

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

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


Missing manager featureGates for Bootstrap and ControlPlane Providers

What steps did you take and what happened:
It is missing the logic to add the manager.featureGates to the bootstrapProvider and controlplaneProvider in helm template files. In the latest release this can be done only for coreProvider and infraProvider.
E.g.
...
manager:
  featureGates:
    core:
       KubeadmBootstrapFormatIgnition: true
     bootstrap:                                                     # This one is missing from the template
       KubeadmBootstrapFormatIgnition: true
     controlplane:                                                 # This one is missing from the template
       KubeadmBootstrapFormatIgnition: true
...

What did you expect to happen:
Add those manager features gates to the provider Bootstrap and ControlPlane providers.
Anything else you would like to add:
I want to contribute to this fix. I will create a PR for this.
Environment:

Cluster-api-operator version: 0.14.0
Cluster-api version: 1.8.4
Minikube/KIND version:
Kubernetes version: (use kubectl version): Any
OS (e.g. from /etc/os-release):

/kind bug
[One or more /area label. See https://github.com/kubernetes-sigs/cluster-api-operator/labels?q=area for the list of labels]

/triage accepted
@gcezaralmeida feel free to assign this and tag me once you open a PR, thanks!

I got it working by setting the following:
In your value.yaml:
...
manager:
  featureGates:
    core:
      ClusterTopology: "true"
      ClusterResourceSet: "true"
      KubeadmBootstrapFormatIgnition: "true"
configSecret:
  name: config-vars
  namespace: default
...

And creating a config secret beforehand:
apiVersion: v1
kind: Secret
metadata:
  name: config-vars
  namespace: default
type: Opaque
stringData:
  CLUSTER_TOPOLOGY: "true"
  EXP_KUBEADM_BOOTSTRAP_FORMAT_IGNITION: "true"
  BOOTSTRAP_FORMAT_IGNITION: "true"

With that the bootstrap and control-plane provider will take the secret as config and set the correct feature-gates


[BRD-44] Configurations

Configuration structure definition
Configuration parse
Configuration application started

Pull Request Test Coverage Report for Build 675824597

25 of 25 (100.0%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 668546996:
0.0%

Covered Lines:
61

Relevant Lines:
61

💛  - Coveralls

Pull Request Test Coverage Report for Build 676161338
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

27 of 27 (100.0%)  changed or added relevant lines in 6 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 668546996:
0.0%

Covered Lines:
61

Relevant Lines:
61

💛  - Coveralls


Explained solution and added alternate

Explained why the solution works and added an alternate, less elegant solution for comparison.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 🎉


PageIterator skipping a page when browsing list_objects_v2 with Delimiter

Describe the bug
The pagination of S3 list_objects_v2 skip pages when using CommondPrefixes (i.e. Delimiter) and StartingToken
Use case:
Our API provides a list of S3 "folders" and supports pagination. It is a wrapper over our internal S3 bucket and forwards the information. The first response of the API returns a list of common prefixes and the next token provided by the PageIterator. The second request uses this token to continue the listing.
Expected Behavior
Using the paginator.paginate() method with the Delimiter parameter and not setting StartingToken should return all pages starting from the first one and its next token.
Using it again but this time with a given StartingToken (the first page next token) should return all pages starting from the second one and its next token.
Current Behavior
When the paginator.paginate() is called with StartingToken it returns the second page with an empty CommonPrefixes list but the third with a valid CommonPrefixes list
Reproduction Steps
You need a bucket with date partitions and files in them.
S3://by_bucket/2023-01-01/file1.json
S3://by_bucket/2023-01-01/file2.json
S3://by_bucket/2023-01-02/file1.json
S3://by_bucket/2023-01-02/file2.json
...
S3://by_bucket/2023-12-01/file1.json
S3://by_bucket/2023-12-01/file2.json

import boto3

BUCKET_NAME = ""
PREFIX = ""
token = None

s3_client = boto3.client("s3")
paginator = s3_client.get_paginator('list_objects_v2')

def request_page(token):
    paginator = s3_client.get_paginator('list_objects_v2')
    return paginator.paginate(
        Bucket=BUCKET_NAME,
        Delimiter='/',
        Prefix=PREFIX,
        PaginationConfig={'PageSize': 5, 'StartingToken': token}
    )

# simolate multi requests to an API
steps = 0

# First request
# print page 1 prefixes
# keep the token for page 2
print("Request 1")
for page in request_page(token):
    steps += 1

    print(page['CommonPrefixes'])
    next_token = page['NextContinuationToken']

    if page['CommonPrefixes']:
        print(f"done in step: {steps}")
        break

# Second request
# print page 2 prefixes
# keep the token for page 2
print("Request 2")
for page in request_page(next_token):
    steps += 1

    print(page['CommonPrefixes'])
    next_token = page['NextContinuationToken']

    if page['CommonPrefixes']:
        print(f"done in step: {steps}")
        break

Output:
> Request 1
> S3://by_bucket/2023-01-01
> S3://by_bucket/2023-01-02
> S3://by_bucket/2023-01-03
> S3://by_bucket/2023-01-04
> S3://by_bucket/2023-01-05
> done in step: 1
>
> Request 2
> []
> S3://by_bucket/2023-01-11
> S3://by_bucket/2023-01-12
> S3://by_bucket/2023-01-13
> S3://by_bucket/2023-01-14
> S3://by_bucket/2023-01-15
> done in step: 3

Possible Solution
No response
Additional Information/Context
I followed the issue down to PageIterator.__iter__() (.venv/lib/python3.11/site-packages/botocore/paginate.py)
            if first_request:
                # The first request is handled differently.  We could
                # possibly have a resume/starting token that tells us where
                # to index into the retrieved page.
                if self._starting_token is not None:
                    starting_truncation = self._handle_first_request(
                        parsed, primary_result_key, starting_truncation
                    )
                first_request = False
                self._record_non_aggregate_key_values(parsed)

The primary_result_key is initiated a few lines before that as self.result_keys[0] and result_keys are essentially coming from a JSON schema from venv/lib/python3.11/site-packages/botocore/data/s3/2006-03-01/paginators-1.json
"ListObjectsV2": {
      "more_results": "IsTruncated",
      "limit_key": "MaxKeys",
      "output_token": "NextContinuationToken",
      "input_token": "ContinuationToken",
      "result_key": [
        "Contents",
        "CommonPrefixes"
      ]
    },

where result_key is Contents which is missing in the S3 response body parsed
SDK version used
1.31.17
Environment details (OS name and version, etc.)
MacOS 14.2.1 (23C71)

investigating the prolonged fortage in it.

Hey @dboyadzhiev, thanks for reaching out and for the detailed reproduction steps.  I was able to reproduce this behavior, and will bring it up with the team.  I'll provide an update when I know more.

Hi @dboyadzhiev, thanks for your patience.  Could you clarify why you have the first call separate from the rest?  I was able to get all the common prefixes by using just one loop, and initializing next_token to None.  This seems to be what you're trying to achieve, unless I'm misunderstanding the problem.

We used that logic to implement pagination. With the code above I simulated two different requests. Imagine you have an app with a list of 20 files per page, and this is to click on the button "next".


Fix ColorAnimationsExtensions formatting

Docs Build status updates of commit 93db7ab:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/maui/extensions/color-animation-extensions.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

It was a tough review, but I think this looks OK


{k8s-extension} fixes Azure/azure-cli-extensions#5356

CLI Command: az k8s-extension extension-types list -g {} --cluster-name {} --cluster-type {}
Results in below error:
File "/opt/homebrew/Cellar/azure-cli/2.40.0/libexec/lib/python3.10/site-packages/azure/cli/core/commands/init.py", line 726, in _run_jobs_serially
results.append(self._run_job(expanded_arg, cmd_copy))
File "/opt/homebrew/Cellar/azure-cli/2.40.0/libexec/lib/python3.10/site-packages/azure/cli/core/commands/init.py", line 697, in _run_job
result = cmd_copy(params)
File "/opt/homebrew/Cellar/azure-cli/2.40.0/libexec/lib/python3.10/site-packages/azure/cli/core/commands/init.py", line 333, in call
return self.handler(*args, **kwargs)
File "/opt/homebrew/Cellar/azure-cli/2.40.0/libexec/lib/python3.10/site-packages/azure/cli/core/commands/command_operation.py", line 112, in handler
client = self.client_factory(self.cli_ctx, command_args) if self.client_factory else None
File "/Users/tbock/.azure/cliextensions/k8s-extension/azext_k8s_extension/_client_factory.py", line 21, in cf_k8s_cluster_extension_types_operation
return cf_k8s_extension(cli_ctx, consts.EXTENSION_TYPE_API_VERSION).cluster_extension_types
TypeError: cf_k8s_extension() takes 1 positional argument but 2 were given
This PR fixes this issue.
fixes Azure/azure-cli-extensions#5356

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

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
The precondition is to put your code inside this repository and upgrade the version in the pull request but do not modify src/index.json.

k8s-extension

Could you add some tests for this command?

Please add the description of this PR in HISTORY.rst. If you want to release a new extension version for this PR, please also upgrade the version in setup.py


Switch out numba for numba-cuda

Closes #68

Switching Numba for numba-cuda in various requirement/env files was naively implemented.  Do you think we should also specify numba>=0.59.0 or is it safe to rely on numba-cuda to depend on the correct Numba version

Switching Numba for numba-cuda in various requirement/env files was naively implemented. Do you think we should also specify numba>=0.59.0 or is it safe to rely on numba-cuda to depend on the correct Numba version

I think we should be safe to depend on numba-cuda for the correct numba version. Since it currently pins on >=0.59.1, which is larger than all current Numbast pinnings.


Update ko-KR.json

Changed some terminology to understandable level
Fixes # .
Changes proposed in this pull request:

@smarteasy Please contact Laurent on discord to start translating for snapshot.


New Theme: Charaka

My little contribution to growing community
https://github.com/natarajmb/charaka-hugo-theme
Thank you

Hello @natarajmb,
thank you for sharing this theme with the Hugo community. Your theme should be listed soon on the themes site.
The build script for the Hugo theme site generates a demo for each theme. For charaka this fails right now because Hugo is looks for a theme folder called "charaka". However, your theme folder will be added as "charaka-hugo-theme" (the name of your repository). Hence Hugo is unable to find the correct theme to generate the demo. Just set the correct folder / theme name in the example config.toml.
Having a menu link pointing to localhost will obviously not work in the demo. Please replace it with a working url.

Hi @digitalcraftsman
I have corrected all the hints you provided. I have also added the theme to display on Github pages and here is the link - https://natarajmb.github.io/charaka-hugo-theme/
Quick questions?

What if I update the theme i.e. to include image logo down the line should I resubmit again?

Thank you

I have made the changes as requested. Please review.

Your theme should appear soon on Hugo's theme site. Next, I'll promote your theme on Hugo's official Twitter account.

Btw, the domain for your homepage in the theme.toml doesn't serve any content. If this domain isn't used anymore I suggest to remove it. Otherwise the Hugo theme site will contain a dead link.

Then it's fine :smile:


fetchToken() returns false even if  header is found

I am using current Middleware setup:
$app->add(new JwtAuthentication([
        'header' => 'X-Token',
        'secret' => $secret,
        'passthrough' => $passthrough, // array with routes ['/', '/auth'] etc...
        'callback' => function (Request $request, Response $response, array $arguments) use ($container) {
            $container['jwt'] = $arguments['decoded'];
        },
        'error' => function (Request $request, Response $response) {
            $errormessage = [
                'code' => 403,
                'message' => 'Forbidden',
                'info' => [
                    'message' => 'Please append a token in the correct header'
                ],
            ];
            return $response->withStatus(403)->withJson($errormessage);
        },
    ]));

I used PHPStorm REST Client Testing tools to test my API. I made a correct request and the token was not found. But while i debugged the JwtAuthtentication class, i recognized that the token was found correctly, but not returned. Everything would work, if you add following code on line 224:
if (!empty($header)) {
            return $header;
}

If this is not the solution, please tell me what i was doing wrong.

Finally got time to look at this. Do I understand correctly the header you are sending looks like this:
X-Token: <token>

If yes then you should tell the middleware to use custom regexp to extract the token from the header.
$app->add(new Tuupola\Middleware\JwtAuthentication([
    "header" => "X-Token",
    "regexp" => "/(.*)/",
    "secret" => "supersecretkeyyoushouldnotcommittogithub"
]));

This is because by default the middleware expects a bearer header:
X-Token: Bearer <token>

@D4rkMindz ping?

@tuupola sorry i didn't answered until now.
Thanks for the explanation. This works as expected.

No problem :)


Running Balance

Running Balance is not being updated if a change is made to the inflow or outflow amount.
Toolkit Version: 1.3.0
OS: MAC
Browser: Chrome
Steps to Reproduce the Behavior

Enter transaction with Inflow amount
Change inflow amount

Expected Behavior
Running Balance updated accordingly
Actual Behavior
Running Balance does not change from what it was when transaction is first entered.
Side Note:  Reconciling the Account shows the correct balance.

Additional Info:
If you turn off the Running Balance option and then turn it back on, the correct Running Balance shows up.   It also appears as if deleting a transaction (outflow or inflow) does not result in the running balance being corrected so it is hard to know when this has happened.   Where this is of greatest concern is on a checking account where you might think you are going to be OK with your balance but then find out you are not.

@joshmadewell From what I can tell this bug comes from these lines of code: https://github.com/toolkit-for-ynab/toolkit-for-ynab/blob/master/sauce/features/accounts/additional-columns/running-balance.js#L68-L71
If the row already has a running balance, we don't recompute it. But obviously in the case in which the row is being editing, it needs to be updated. Is there any reason for us to not just remove the if statement here and recalculate the running balance every time?

I wonder what calling calculateRunningBalance would do to performance. Maybe it could be updated to only recalculate the running balance for transactions that are newer than the updated/deleted transaction. I haven't looked closely at the code so this suggestion could be way off base.

I guess I would vote for recalculating the running balance every time.   Not sure what the impact would really be on overall performance but as it stands now, I find myself turning it off and that back on almost everytime I use YNAB.    This is because no matter how hard we try, transactions get into the wrong account from time to time.   And, I am not sure when transactions get pulled in that are earlier than something I have entered whether the running balance is correct.   Since I cannot be sure, I am left with constantly turning off the option, closing YNAB, turning ON the option, and opening YNAB.    My performance for all of those actions has to be less efficient and more of an "overhead" then having the program recalculate the running balance for all of the accounts.

An update on this.   I did find a quicker way to get the running balance to recalculate without turning the option off, closing YNAB, reopening it, putting Option back on, etc.    What I found is that I can put in two transactions (one outflow and one inflow) for $1.   This will cause the running balance to be recalculated from the date point that you put these at.   I then delete the transactions.   This is a lot simpler and quicker then the other approach.   Ideally, of course, would be to have the code corrected to recalculate the running balance if a transaction amount has been changed or deleted.

Reopening as the code needs to be fixed.

@MattJGlick @senk182 I'm trying to look into this right now -- sorry I've been to busy too look into it until now. Do you guys have any specific steps that cause this to reproduce? I've tried adding a new transaction and then updating but that seems to work for me...
Also -- we don't recalculate if there is already a running balance assigned because we're listening to an event here: https://github.com/toolkit-for-ynab/toolkit-for-ynab/blob/master/sauce/features/accounts/additional-columns/running-balance.js#L97-L114 which is meant to capture changes.

Yes.    If you have a transaction already there and you either delete it or change the amount, the running balance is not recalculated.  The work around that I posted earlier about adding two transactions that essentially cancel each other out does not really correct the running balance.   The only way to get it right is turn off the option, close YNAB, open YNAB, turn on the option, close YNAB, and open YNAB.

On Dec 24, 2017, at 1:50 PM, Josh Madewell<EMAIL_ADDRESS>wrote:
@MattJGlick @senk182 I'm trying to look into this right now -- sorry I've been to busy too look into it until now. Do you guys have any specific steps that cause this to reproduce? I've tried adding a new transaction and then updating but that seems to work for me...
Also -- we don't recalculate if there is already a running balance assigned because we're listening to an event here: https://github.com/toolkit-for-ynab/toolkit-for-ynab/blob/master/sauce/features/accounts/additional-columns/running-balance.js#L97-L114 which is meant to capture changes.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@senk182 and this happens consistently as soon as you open YNAB or do you switch around through budgets before this happens?

It only happens if I change/delete a transaction in a given account.    Otherwise, the running balance is correct.   If I do the whole turn it on, turn it off thing, then the account is ok.   The way I know it is wrong is when I go to reconcile an account.   If I don’t see the expected balance on a particular transaction, then I know I missed doing it whenever I corrected a transaction.

On Dec 24, 2017, at 8:41 PM, Josh Madewell<EMAIL_ADDRESS>wrote:
@senk182 and this happens consistently as soon as you open YNAB or do you switch around through budgets before this happens?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

It's likely related to having multiple transactions on the same date. Can you confirm that the two transactions for $500 are on the same date? There are certain "rules" YNAB applies when there are multiple txns on the same date but I can't remember exactly what they are. I'm pretty certain that figuring them out is key to fixing the issue.

I can confirm the same behavior as @rthompsonhi.  I have 3 ATM withdrawals in the same amount on the same date and 3 attendant ATM service fees.  I need to "propagate" the correct running balance from the bottom most transaction to the topmost by re-entering the date in each txn.

@chiamarc Thanks for the feedback.

@rthompsonhi @chiamarc I took a stab at fixing this one in yesterday's release. Let me know if it's any better!

Sorry :(  Balance changes still don't propagate.  In the inline gif, some balances are out of place and others seem to go in the wrong direction.  Please ping me if you need more examples.

Apparently, YNAB is sorting on the selected column (date in this case) but all things being equal, then sorting based on the outflow (or inflow) column.  I think there is an invisible tracking of the actual transaction however.  This causes equal outflow amounts to be sorted in the order of transaction entry.
If I sort by reverse outflow amount (smallest on top), the running balance is sorted correctly (with largest balance on top).  Reversing the outflow sort again causes the running balance to go out of whack again.  The running balance code seems to be mapping to an outflow value linked to a transaction ID so it doesn’t change when I re-sort.
From: senk182<EMAIL_ADDRESS>Sent: Thursday, April 19, 2018 12:23 PM
To: toolkit-for-ynab/toolkit-for-ynab<EMAIL_ADDRESS>Cc: Marc Chiarini<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [toolkit-for-ynab/toolkit-for-ynab] Running Balance (#1028)
For what it is worth, I have seen something similar to this although it was different amounts on the same day. I was able to get the balance to be correct by resorting the date and then resorting it again.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/toolkit-for-ynab/toolkit-for-ynab/issues/1028#issuecomment-382852077, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AJmUyfKUsshXqaIy_uwF_D_I9E2uqaM1ks5tqOQAgaJpZM4QOuhd.

Yeah, I tracked their sorting behavior down in their source code and it looked like they sort by date, if dates are equal, by amount, of amounts are equal, by transaction id (not actually in order of creation). That's what I changed our logic to do but it doesn't seem to be working :(

There is another problem with running balances that I just noticed.   What I am now seeing is that the running balance for future transactions is not showing any more.    This has been working for a long time so the last release or two, something changed.    The importance of this, in my case, is that I can see when I have a potential of insufficient funds in a checking account.   This is very important.

Well, OK, this is not a serious issue for me because I don’t strictly need running balance and this is an edge case anyway.  But I’m here if you need another pair of eyes.
From: Josh Madewell<EMAIL_ADDRESS>Sent: Thursday, April 19, 2018 12:43 PM
To: toolkit-for-ynab/toolkit-for-ynab<EMAIL_ADDRESS>Cc: Marc Chiarini<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [toolkit-for-ynab/toolkit-for-ynab] Running Balance (#1028)
Yeah, I tracked their sorting behavior down in their source code and it looked like they sort by date, if dates are equal, by amount, of amounts are equal, by transaction id (not actually in order of creation). That's what I changed our logic to do but it doesn't seem to be working :(
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/toolkit-for-ynab/toolkit-for-ynab/issues/1028#issuecomment-382857416, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AJmUyYzPmCN_yCVMl6g3sZzpvcK8yAWXks5tqOirgaJpZM4QOuhd.

@senk182 You know, that's a very good feature that I never thought about using...I've had a separate spreadsheet for years to track that (it's not that I don't have the money, it's that it might be in my savings earning interest instead of my checking).  Now I want the feature to work properly!

I've also noticed the "multiple transactions - same date" issue recently but figured it was due to toolkit/ynab calculations not matching - as was stated previously.
I also want to note that running balances on future transactions works for me - running the newest 2.3.1 and whichever new YNAB updates I keep having to refresh for - haha.

hmm.   I believe I am current on YNAB and the tool kit but running balance for future transactions is no longer working.   Not sure what the difference is between yours and mine.

I believe I have a potential fix for this which I'm going to publish to our beta build of the extension (Chrome only). If you'd like to test for me please send me an email at<EMAIL_ADDRESS>

Hey @senk182 the fix for this should be in our current release. If you notice the issue still exists and you're definitely running the newest version of the toolkit, please reopen! Thanks!

If the latest version is considered to be 2.3.1, then the problem is not fixed.   In fact, it has gone from bad to worse as there is no running balance anywhere.    I just see the green C in the running balance column.   Don’t know how to reopen the issue but it really is not what I first reported since the running balance is not working at all.
Please advise

On Apr 19, 2018, at 11:54 PM, Josh Madewell<EMAIL_ADDRESS>wrote:
Closed #1028 https://github.com/toolkit-for-ynab/toolkit-for-ynab/issues/1028.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/toolkit-for-ynab/toolkit-for-ynab/issues/1028#event-1585337520, or mute the thread https://github.com/notifications/unsubscribe-auth/AfwNvBl4oOGZzr7ekgB_BD6K17i6ipzaks5tqWn6gaJpZM4QOuhd.

Newest version is 2.3.2 ;)

Is there a way to force a new version to load?

On Apr 20, 2018, at 4:02 PM, PteDefcon<EMAIL_ADDRESS>wrote:
Newest version is 2.3.2 ;)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/toolkit-for-ynab/toolkit-for-ynab/issues/1028#issuecomment-383221630, or mute the thread https://github.com/notifications/unsubscribe-auth/AfwNvPCMfTOORD3tk2t2l6eQO5l6FhdMks5tqkz5gaJpZM4QOuhd.

Refresh the page (push F5) and that should take care of the issue. I got the same thing this morning the first time I started YNAB but after doing F5 it works correctly and in fact I can't get it to recreate the funcky display.
You can go to the Extension Settings page in Chrome and tell it to reload the extension.

I forced the reload but that did not fix the problem.  running balances are not showing up at all.   However, I can Reload the page and everything works until I exit YNAB.    Then, when I go back in, I have to RELOAD again.   At least there is a way to make it work.
Not sure if I should be opening an issue on this or …

On Apr 20, 2018, at 4:02 PM, PteDefcon<EMAIL_ADDRESS>wrote:
Newest version is 2.3.2 ;)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/toolkit-for-ynab/toolkit-for-ynab/issues/1028#issuecomment-383221630, or mute the thread https://github.com/notifications/unsubscribe-auth/AfwNvPCMfTOORD3tk2t2l6eQO5l6FhdMks5tqkz5gaJpZM4QOuhd.

@senk182 can you verify you're on 2.3.2?

Did you get the latest version 2.3.2 after forcing a reload of the extension? If not, it's likely you'll have to wait until Chrome decides to push it to you.

Yes I am.  Also using Chrome.

On Apr 20, 2018, at 4:49 PM, Josh Madewell<EMAIL_ADDRESS>wrote:
@senk182 can you verify you're on 2.3.2?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Got the latest version.

On Apr 20, 2018, at 4:50 PM, David Baldon<EMAIL_ADDRESS>wrote:
Did you get the latest version 2.3.2 after forcing a reload of the extension? If not, it's likely you'll have to wait until Chrome decides to push it to you.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

See attached.

The first screen is right after opening YNAB.   The second screen is when I go into an account.  There are no errors after I RELOAD the page.


Headless shell hangs, screenshot not created

The console and chrome processes hangs when reaching these lines:
2017/10/11 00:31:09 -> {"method":"Page.frameStoppedLoading","params":{"frameId":"35044.7"}}
2017/10/11 00:31:09 -> { "method": "Inspector.detached", "params": { "reason": "target_closed"} }

Here is my code:
package main

import (
	"context"
	"io/ioutil"
	"log"
	"runtime"
	"time"

	cdp "github.com/knq/chromedp"
	"github.com/knq/chromedp/runner"
)

func main() {
	var err error

	// create context
	ctxt, cancel := context.WithCancel(context.Background())
	defer cancel()

	// create chrome instance
	path := `C:\Program Files (x86)\Google\Chrome\Application\chrome.exe`
	if runtime.GOOS != "windows" {
		path = "/usr/bin/google-chrome"
	}
	c, err := cdp.New(ctxt, cdp.WithRunnerOptions(
		runner.Headless(path, 9222),
		runner.Flag("headless", true),
		runner.Flag("disable-gpu", true),
		runner.Flag("no-first-run", true),
		runner.Flag("no-default-browser-check", true),
	), cdp.WithLog(log.Printf))
	if err != nil {
		log.Fatal(err)
	}

	// run task list
	var buf []byte
	err = c.Run(ctxt, screenshot(`https://mesziair.hu/`, `#wrap`, &buf))
	if err != nil {
		log.Fatal(err)
	}

	// shutdown chrome
	err = c.Shutdown(ctxt)
	if err != nil {
		log.Fatal(err)
	}

	// wait for chrome to finish
	err = c.Wait()
	if err != nil {
		log.Fatal(err)
	}

	err = ioutil.WriteFile("scr.png", buf, 0644)
	if err != nil {
		log.Fatal(err)
	}
}

func screenshot(urlstr, sel string, res *[]byte) cdp.Tasks {
	return cdp.Tasks{
		cdp.Navigate(urlstr),
		cdp.Sleep(2 * time.Second),
		cdp.WaitVisible(sel, cdp.ByID),
		//cdp.WaitNotVisible(`td.leftcol #text-6`, cdp.ByQuery),
		cdp.Screenshot(sel, res, cdp.NodeVisible, cdp.ByID),
	}
}

@DJviolin: Don't use c.Wait with the headless. Try commenting out line err = c.Wait

Thank You! It's solved that the console exists and the file created, but many chrome processes still stucked in the windows process manager and when I want to run the program again, I've got:
2017/10/11 08:51:34 timeout waiting for initial target

@DJviolin: Those processes might be previous runs of chrome which didn't shutdown properly. You can End those processes. If still not solved then try restarting your computer in the worst case.

Can I end those processes with the go program? I try to loop through many URLs and take screenshot. I looked at the pool example, but I think that's allocating every tab at start, which is still not suitable for me, if my loop contains lots of URLs.


Upgrade WildFly Core to 4.0.0.Alpha4

Hey Brian, I noticed the testsuite hung so looking into it, the problem is in a test servlet which could wait indefinitely. Opened https://github.com/wildfly/wildfly/pull/10690 and restarted the linux CI run.

Thanks for the update, @rhusar!


[bug]: 2 same pic from every iteration

Is there an existing issue for this?

[X] I have searched the existing issues

OS
Windows
GPU
cuda
VRAM
12GB
What version did you experience this issue on?
3.2.0rc2
What happened?
After finish render txt2pic, it making in output two same pictures with different names. (so if I delete it from UI, where is only one, second be still on disk) It start after updating to last version. Restart, reinstall atp. - nothing happend, it still the same
Screenshots
No response
Additional context
No response
Contact Details
<EMAIL_ADDRESS>

One image is the final generated image, and one is an intermediate image - you can clear the intermediate image by going to settings -> "Clear Intermediates"

Oh, I see, thank you very much for the reply

You're welcome!