Testing C code that abort()s

Thanks a lot for this super neat test library!
One useful feature I feel is missing is the ability to test a function that is meant to abort(), typically due to some failing assert(...) in the code. It can be viewed as the poor cousin of TEST_EXCEPTION for C. It's useful for testing that problematic conditions are properly detected and aborted. Moreover, such tests are useful for reaching 100% branch coverage, otherwise one branch of the assert is never hit.
This should be easily implementable by trapping SIGABRT and longjmping back in the test. It can be named TEST_ABORT, TEST_SIGNAL (maybe for testing any signal) or something like that.
Your thoughts? If you're interested I can give it a shot.

When the test is executed in a child process, it should sort of work already because the parent process should see strange exit code. (Maybe it leads to a sub-optimal message because currently the parent process assumes that calling abort() went from the new TEST_ASSERT. But the message could be reword to cover the assert as well.)
When in the same process, it's completely different story. I can't see any other potential way then the SIGABRT handler and longjmp if we want to support that.
However right now I am somewhat reserved because I see it as a quite crazy thing a process can do and I have some doubts related to it:

Is it safe to make longjmp from a signal handler? AFAIK, at least on some systems/architectures, kernel implants a different stack into the thread for handling the signal. Is it supported by POSIX standard so we can use it for other POSIX systems as well? Or, is it guaranteed to work on some important system so that it would be worth to add such support conditionally just on that system?

What if some people install their own signal handlers as part of their unit tests? I think we should allow them.

Last but not least, I am afraid how big impact it would have for ease of debugging of such failing test. It should not harm the usability of Acutest with gdb or valgrind and I am not sure how well those tools can handle processes which do such crazy things at all or how big nuisance it would be for people any such tool in order to find the culprit what's going wrong in their test.

To conclude, feel free to go ahead and implement it, but be prepared that those questions will have to be answered in some reasonable way before anything like that gets merged.

Oops. Sorry. Ignore the previous post. I missed the point you want to make your test succeed when it does abort().

I think my doubt (2) could be solved by installing/uninstalling the handler just for the time of the macro.
But my doubts (1) and (3) still hold.
Also, if we want a new macro like TEST_THAT_THIS_ABORTS(my_func()), I think we would have to support it everywhere, including Windows. I don't think we can have it as an optional feature like being able to start a subprocess or colorize the output. It would be part of the Acutest API and so the macro should have the same semantics everywhere. When people port their code to a new platform they should not need to rewrite the unit tests to avoid the macro.
To be honest, I'm somewhat skeptical in that regard but feel free to argue or show a code proving I'm wrong ;-)

Also see #18. Maybe some of the arguments used there apply here too.

Thinking about this a little bit more, I now think it is a bad idea. Let me to react to some statements in the original post.

It can be viewed as the poor cousin of TEST_EXCEPTION for C.

I disagree. In C++, exceptions are more or less normal error handling mechanism and, for example, part of various library APIs. I.e. it is important that for a given known and documented error condition (e.g. an invalid parameter passed to a function) some API signals the error to the caller in some expected way (here, some particular exception type) and that this can be tested.
On the other hand, abort() is a last resort when a program does not know any better then to kill itself in order to prevent a potential bigger damage.  Calling abort() generally means the program itself says "Ohh. I am broken. Come and debug me."
From this perspective, C++ exceptions are rather a cousin of some special return values like -1 or NULL which are used as some error indicators in C.

Moreover, such tests are useful for reaching 100% branch coverage, otherwise one branch of the assert is never hit.

I agree good test coverage is generally a nice thing to have. But it is not the goal of the testing per se. It's only some helper metrics. Value of that metrics has its limits. This question of abort() is in my opinion one such limit.
I argue that in a correct program, if there are code paths leading to abort(), they are actually unreachable (at least for any input in some supported domain) and this property of such a correct program prevents you to really reach the 100% code test coverage of it.
If you are able to write a test causing an assertion in the tested code, you should likely rather go and fix the code so it does not have a reason to raise the assertion in the first place (and hence change it  to the program which cannot have 100% code coverage in principle as stated above).
To conclude, the very fact that it asserts means the program has some problem. Providing a mechanism saying "hey, the test passes" in such case imho makes no real sense.


Update CONTRIBUTING.md

Adjust Python versions

Codecov Report

Merging #212 (693509a) into vendor-fuzz (ff6c532) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 693509a differs from pull request most recent head 87e3d0a. Consider uploading reports for the commit 87e3d0a to get more accurate results

@@              Coverage Diff              @@
##           vendor-fuzz      #212   +/-   ##
=============================================
  Coverage       100.00%   100.00%
=============================================
  Files               18        18
  Lines              661       661
=============================================
  Hits               661       661

Continue to review full report at Codecov.

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


Translate getting-started-guides/coreos/bare_metal_offline.md into Ch…

…inese
Translate docs/getting-started-guides/coreos/bare_metal_offline.md into Chinese

This change is

@markthink, please help to review the translation

/unassign

@pwittrock  I am from caicloud.io, it looks good to me.

thanks for the review, as the patch is merged just now, I'll submit an update PR to update the doc.


conditional validation is always true when the properties is undefined

What version of Ajv are you using? Does the issue happen if you use the latest version?
Tried with 6.6.2/latest.
Ajv options object

{}

JSON Schema

{
  "type": "object",
  "properties": {
    "A": { "type": "string" },
    "hasA": { "type": "boolean" }
  },
  "if": { "properties": { "hasA": { "enum": [true] } } },
  "then": { "required": ["A"] },
}

Sample data

{}

Or
{
  "hasA": undefined
}

Your code

const Ajv = require('ajv');
const ajv = new Ajv;

const validate = ajv.compile(schema);
console.log(validate(data), validate.errors);

Validation result, data AFTER validation, error messages
[ { keyword: 'required',
    dataPath: '',
    schemaPath: '#/then/required',
    params: { missingProperty: '.A' },
    message: 'should have required property \'.A\'' } ]

Runkit link
What results did you expect?
The object to be valid.
Are you going to resolve the issue?
I look forward to it.

Hello,
Reopening this thread because this is clearly a bug and not a choice by design.
The problem here is not that the validation ignores properties that are undefined. The issue here is that The if/then clause evaluates to true (the then needs to be valid) even when the if clause is false.
Here the expected behavior is that the if clause will evaluate to false given that the property doesn't exist and the then clause will be ignored.
If this is a choice by design then you guys need to review your computer science basics and the meaning of a boolean

Here the expected behavior is that the if clause will evaluate to false given that the property doesn't exist and the then clause will be ignored.

The "if" clause evaluates to true here because Ajv treats properties with the value "undefined" as absent, and with the absent property "if" clause is expected to evaluate to true - it is by the spec.
https://runkit.com/esp/5d4ac155d30292001ad8931a

Thank you for your answer.
My point is that in all programming languages (and in boolean algebra in general), an if statement of null or undefined evaluates to false. Of course you can redefine that logic and create a specification that says that if(undefined || null) === true but that goes against how humans think and how programming languages are built.
Let's think about this example: if you're 2m tall, then you should play basketball, should you play basketball if you don't exist? Certainly not.
My proposal is that we review the specification so that if(undefined) === false in Ajv.
By your example it seems you are not taking into account that the ifThen is an exception to your rule.

Ajv does not define the logic - it implements JSON schema specification that prescribes this behaviour. Proposal to change the specification should be addressed to JSON Schema org.
The solution is easy - if you want to require property existence in the “if” branch, you should use “required” keyword.
Also, about the example, you can look at the truthfulness table of boolean implication where false => false = true: http://sites.millersville.edu/bikenaga/math-proof/truth-tables/truth-tables.html

I agree that you can decide if whether or not it should evaluate to true since you can't take any decision on something that does not exist. If JSON schema has chosen this way then we must stick with it.
It would have been nice to not need the required schema because that would have allowed for branches where the required value is set whether an other field exist or not. With this way of doing things, the value will always be required even if the property does not exist.
Example of current behavior:

Statement: If you have an address, the postal code is required.
Current behavior: I'm homeless and don't have an address but I need to fill in a postal code! (completely illogical)
Expected behavior: I'm homeless and don't have an address, therefore I ignore the postal code requirement

I'm surprised that this needs to be discussed as the example shows, it's not intuitive and leads to confusion. Even though I agree that if you don't have an address, you can't conclude anything about the postal code requirement.

I was about to post for this exact issue @darioAnongba
I agree, it should not think conditional fields are required by default. It would be great to have it as an option
It feels wrong to display an empty form, and see fields marked as "required" which actually might not be once other fields are changed.
Could I see an example of the work around?
@epoberezkin could you give an example of this work around? I don't follow what you mean.
Thanks.
FWIW, an example below
{
   "type": "object",
   "required": [
      "countryOfBirth"
   ],
   "properties": {
      "countryOfBirth": {
         "type": "string",
         "enum": [
            "au",
            "nz"
         ]
      },
      "cityOfBirth": {
         "type": "string"
      }
   },
   "allOf": [
      {
         "if": {
            "properties": {
               "countryOfBirth": {
                  "enum": [
                     "au"
                  ]
               }
            }
         },
         "then": {
            "required": [
               "cityOfBirth"
            ]
         }
      }
   ]
}

@yarnball your example is a bit different. For you, countryOfBirth is required so you cannot validate an object without that field. Given that you should never have an object without countryOfBirth, cityOfBirth will be validated correctly.
The problem we are talking about here is the case where countryOfBirth is not required and undefined. In that case, cityOfBirth will be mandatory, which is completely absurd.

@yarnball I understand and agree that JSON Schema specification can be confusing and counter intuitive, but this behaviour is correct according to the spec. So it’s important to understand it’s logic and how it works before you can apply it in any advanced validation scenarios.
Ajv issue tracker is not the right place though to discuss or to get support on using JSON Schema specification that Ajv implements.
Please submit this question to StackOverflow to get support on JSON Schema.

Could've kept it open.

The current solution is to make the condition depend on the property necessary to evaluate the condition, using the dependencies keyword (deprecated and being replaced by dependenciesRequired in draft 2019-09):
{
  "type": "object",
  "properties": {
    "A": { "type": "string" },
    "hasA": { "type": "boolean" }
  },
  "dependencies": {
    "hasA": {
      "if": { "properties": { "hasA": { "const": true } } },
      "then": { "required": ["A"] },
    }
  }
}

You can also add required to if and use else:false

Thanks @jdavidferreira


Add a print sanity function

It would be quite useful for debugging sanity expressions to have deferrable version of print that would print its arguments and then return them, so that you insert it anywhere in a sanity expression:
self.sanity_patterns = sn.assert_eq(sn.count(sn.extract_all(...)), 10)

# print the extracted elements
self.sanity_patterns = sn.assert_eq(sn.count(sn.print(sn.extract_all(...))), 10)

I have this ready, I am just waiting for #1050 to be merged. @teojgo Can you approve and merge it?

@vkarak I merged it.


New Game Overlays and PP Counter

Added:

Bon Toutou Game Overlay
Tiens un Os PP Counter
Donne la patte Game Overlay

Thanks for your contribution! Our Front-Ender will review your code within the next couple of days.

Hello

Please change folders names from "-+-+ Bon Toutou Game Overlay +-+-" to BonToutouGameOverlay and same with others it's kinda a standard for us
Screenshot of "Bon Toutou" has different hpbar than it is in reality (change phbar in code or change a screenshot)
I didn't check code yet but "Donne la Patte" just doesn't work

Renamed the folders and changed DonneLaPapatte's Code

hp bar doesn't work neither in "Bon Toutou Game Overlay" nor in "Donne la patte Game Overlay"
you accidentally added two folders of this counter in your repo
you probably need to add default "SS" value for score rank cause it's strange that rank is D before map is even started

at the and of map on counter transition silver S some how changed to regular S

I tried to see where the problem would come from, ive sent it to 10 different people and none of them had this bug, However i still changed it from being a local file to an host file.

Removed.

Fixed

Comes from the fact that you watch a replay without any mods while it has some. If you enable HD or FL before watching one, it'll be changed to it. Nothing i can do on my end to fix it

for now there is no hp bar at all https://cdn.discordapp.com/attachments/530940222771560452/783790643314950214/2020-12-02_23-20-32.mp4

Has this been inactive for 26 days? Or is it just me?


feat: Mandatory modules

Description
Changes proposed in this pull request:

Implements #1052
Renamed channel pkg to lookup
New integration test suite for mandatory modules
New test case for Kyma integration test
Requeue Kyma in mandatory Reconciler by Watching the following:

Kyma CR labels or generation changed
Mandatory ModuleTemplate labels or generation changed

Related issue(s)

#1052

Please check my comments, mainly code quality concern, also an e2e test is missing.

E2E will be covered with https://github.com/kyma-project/lifecycle-manager/issues/1185


IMPORTANT: New project name

The project name is about to be changed to something else, for a few reasons:

to address any issues that may arise due to the possibility of "LibreTuya" name violating Tuya Inc.'s trademark rights. We don't want any legal trouble, nor to interfere with Tuya's marketing.
the project is meant to support more than RTL8710BN/BK7231 - that means it will work with chips not necessarily developed/distributed by Tuya.

The rules are simple - it should be nice, have two words only: first word being Libre, second word starting with the letter T. Why? Because there's just way too many references and usages of "LT" in code, documentation, tools, etc. Also, Libre sounds cool.
We've had a discussion on our Discord server about name ideas. You can vote under this post, by adding an appropriate reaction (the emojis don't indicate any preference).

Emoji
Name
Comment

:+1:
LibreThings
It seems to relate to SmartThings, which may be confusing

:smile:
LibreTiny
"As in something that runs on small devices" sounds really cool

:tada:
LibreTurtle
"Turtles don't sue, and they're dope" idk, I kinda like this one

:heart:
LibreThink

:rocket:
LibreTech

:eyes:
LibreTinker

If you have any good suggestions, feel free to post them in this thread, and I can add them to the list.
If you really need to, you can cast more than one vote. Thanks!

After careful consideration, I'm pretty much convinced about using LibreTiny as the name, despite the voting showing otherwise. I'd like to be satisfied about the project, so that might ultimately be my choice. I'm sorry for any inconvenience caused by this.

LibreTiny is cool! 👍
It is absolutely your choice, and a good idea to gather community opinions before deciding, regardless of your final pick

I love Tinkerer so LibreTinker for me!

LibreTiny is a pretty solid choice, imo - it speaks to the smaller devices that these chips are most likely to be found in.
Another option might be LibreToyou (pronounced Libre To You) as a play on going from Tuya (to ya) to To You - however that might be a somewhat Australian-specific play on words :-)
Turtles are also dope, though.

It's on the ForYuh network ;)

LibreTino = Libre Tiny Arduino (compatible cores)

LibreToys
Libre can be a synonym for free (i.e., FLOSS, OSS, etc.). LibreToys = "the free(ing of) toys."

LibrIOT / LibrioT? probably not better than some of the given options but wanted to share this thought anyway.

Why not LibreTuma?
https://en.m.wikipedia.org/wiki/Tuma_(cheese)
Yummy!😋 🙈

I bring in another one:
LibreSmart

LibreType could be an option. Type cast away .. lol

Looking at the results of the poll, seems like LibreTiny is our winner :tada:
Again, I apologize for my 2nd post in this thread, possibly causing any influence on your votes. I hope that the new name will meet everyone's expectations.
And huge thanks to @Chrille#2270 at Discord for originally suggesting this name!


Error:Could not find common.jar (android.arch.core:common:1.0.0)

When I'm ready to generate a new apk for andriod, I ran ./gradlew installRelease, but something go wrong. And I ran react-native run-android got same error like:
* What went wrong:
A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugApk'.
   > A problem occurred configuring project ':react-native-device-info'.
      > Could not find common.jar (android.arch.core:common:1.0.0).
        Searched in the following locations:
            https://jcenter.bintray.com/android/arch/core/common/1.0.0/common-1.0.0.jar

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

open Android Studio, the error is:
Error:Could not find common.jar (android.arch.core:common:1.0.0).
Searched in the following locations:
    https://jcenter.bintray.com/android/arch/core/common/1.0.0/common-1.0.0.jar

It's still good in the morning, and suddenly it's an error in the afternoon.I try to solve this problem like React Native - Run Android - Could not find common.jar (android.arch.core:common:1.0.0)
But it does not work for me！I don't know what went wrong.
About Version:
react-native: 0.44.3
Android Studio: 2.3.3

I have same issue.
Environment:
  OS: macOS High Sierra 10.13.4
  Node: 8.11.1
  Yarn: 1.5.1
  npm: 5.6.0
  Watchman: 4.9.0
  Xcode: Xcode 9.3.1 Build version 9E501
  Android Studio: 3.1 AI-173.4720617

Packages: (wanted => installed)
  react: 16.2.0 => 16.2.0
  react-native: 0.52.2 => 0.52.2

This error is occurring because there is an issue with the common-1.0.0 library on jcenter(). According to the jcenter folks, they only have the .aar file and not the .jar file for this library.
To fix this you just need to add (or move) the maven repository in your build.gradle file above of jcenter().
For example, your build.gradle file should look something like this:
allprojects {
  repositories {
    maven { url "https://maven.google.com" }

    maven { url "$rootDir/../node_modules/react-native/android" }

    jcenter() <!-- Needs to come after maven -->
  }
}

You can read about the problem and solution at these two:
https://stackoverflow.com/a/50565155/293280
https://github.com/zo0r/react-native-push-notification/issues/748

I solved my error by putting google() above jcenter() in my project's gradle file.
I really wish Android Studio can give more helpful error message. Some most it's error messages are gibberish and require us to do some digging around, even though the solution is as simple as switching two lines around. Which means productivity lost.

I solved my error by putting google() above jcenter() in my project's gradle file.
I really wish Android Studio can give more helpful error message. Some most it's error messages are gibberish and require us to do some digging around, even though the solution is as simple as switching two lines around. Which means productivity lost.

SOLVED WITH THIS !!!

None of the above solutions worked for me


Optimize BlockLocators Iterator with Parallel Processing

Motivation
This PR aims to optimize the BlockLocators into_iter method by introducing parallel processing. The existing sequential processing approach can be time-consuming when handling large datasets of block data. By leveraging rayon for parallel processing, this change seeks to improve performance in merging checkpoints and recents maps, providing a more efficient solution for large-scale data handling.
Test Plan
Generate a dataset of 1000 items to compare processing speeds.
Related PRs
(Link any related PRs here)

hey guys!
I expected that processing speed would increase with parallel processing. However, after testing, I observed that up to a certain number of items, parallel processing introduced overhead, which caused it to take longer. Based on my test code, sequential processing performed better up to approximately 100,000 items. The performance is also affected by the machine’s capabilities.
I would appreciate reviewers’ opinions on this. It seems that additional changes may be needed in the backend to fully accommodate these updates.

@ljedrz  It seems I misunderstood the TODO. I’ll work on it again. Thanks for your input.

In addition, it is possible that sorting is not always necessary; I don't recall the related logic very well, but it seems to me that checkpoints and recents might already be in the right order at least in some scenarios. in such cases, avoiding the iteration and collecting to a BTreeMap would have a positive impact on performance.


Severity 2 error with no Code: a.getAttribute is not a function

Have you read the FAQ and checked for duplicate open issues?
Yes
What version of Shaka Player are you using?
3.2.1
Can you reproduce the issue with our latest release version?
Locally yes
Can you reproduce the issue with the latest code from master?
I am not sure I cannot build the master version
Are you using the demo app or your own custom app?
Our own custom app
If custom app, can you reproduce the issue using our demo app?
The error is not displayed with the Demo App
What browser and OS are you using?
Chrome Latest
For embedded devices (smart TVs, etc.), what model and firmware version are you using?
What are the manifest and license server URIs?

I will email the manifest. I think the issue will be here but cannot see which attribute the manifest parser is failing on.
What configuration are you using?  What is the output of player.getConfiguration()?

Basic Configuration no overrides.
What did you do?

What did you expect to happen?
Content to play without error as it does in the demo player. I am wondering if the error is handled in some way in the demo player?
What actually happened?

Playback starts then a severity 2 error occurs without any Code.
I can ignore the error and playback is fine but our system is set up to close playback on severity 2 errors.
The error reported is:
severity: 2
message: "a.getAttribute is not a function"

The DASH parser contains a lot of getAttribute calls. From the sounds of that error, some variable that we expect to contain an Element is somehow containing a non-element. Perhaps we got a text node somewhere in the DOM hierarchy where we were expecting an element node? I don't see any obvious problems of that sort in that sample manifest you provided, though.
Would it be possible to run Shaka Player in uncompiled mode and get a full stack trace?

Looks like TTML comments are passed to ttml_parser which is expecting only XML nodes.
TTML to reproduce:
`<smpte:information smpte:mode="Enhanced" />

`

![Screen Shot 2021-12-27 at 9 36 30 PM](https://user-images.githubusercontent.com/7647317/147506207-2c03415e-4264-466c-863d-700621499337.png)


Use clippy to fix code issues and add it to CI

cargo clippy currently emits nearly 50 warnings (and 1 error) on the current code base.
Tasks:

[ ] Run cargo clippy --all-targets --all-features and fix all code improvements suggested by it.
[ ] Add cargo clippy --all-targets --all-features -- -D warnings as a step to CI (after build, test, fmt, etc.) to ensure we have always have a codebase that satisfies clippy. The command was suggested here

I'm correcting the Clippy issues. Just to let you know, I can't run the code itself and check everything. I'm relying on the tests.
So, if the tests don't cover something, I would appreciate it if you could check it!


add timeout option, document retries option

Retries are now chronologically spaced using expotential backoff. E.g.
on the default five retries, attempts will be made after 2/32, 4/32,
8/32 and 16/32 of the total timeout value which has been changed
slightly from the previous 7750ms to 7500ms.

@mafintosh did you have a chance to take a look at this? I could really use the timeout option :).

Looks good. I have a small style nitpick. Thanks for the reminder!

Also let me know if you want to help maintain this in general and I'll add you as an owner :)

Sure, if you could add me to dns-packetand dns-socket, that'd be great. I really like to use this module because of node's dns has too many hard-to-fix shortcomings.

@mafintosh all fixed.

1.6.0

i've added you as owner on both

i can add as npm owner as well if you promise not to release anything controversial :)

Sure, https://www.npmjs.com/~silverwind.

Done!


VPN subs readiness 3/n

Task/Issue URL:
Description
This PR is stacked, that's why doesn't have asana task.
The PR replaces the FAQ with help pages for subs.
Steps to test this PR

[ ]

@aitorvs to test this, is it enough to have the feature privacyPro isLaunched enabled? or I still need to build internal test?

@aitorvs to test this, is it enough to have the feature privacyPro isLaunched enabled? or I still need to build internal test?

just the flag


Make mtu configuration persistent

What does this PR do?
Make mtu configuration persistent.
Do you have any concerns with this PR?
No
How can the reviewer verify this PR?
Run MTU configuration per the installation guide.
Any background context you want to provide?
The original MTU configuration script did not put the MTU settings in /etc/network/interfaces file, therefore a network or system restart will revert the MTU changes.
Screenshots or logs (if appropriate)
Questions:

Have you connected this PR to the issue it resolves?
#111
Does the documentation need an update?
No
Does this add new Python dependencies?
No
Have you added unit or functional tests for this PR?
No, use existing MTU test.

@RandyLevensalor I added network restart at the end, but it cannot reliably change mtu setting with the restart (reboot will do.) Therefore I'm keeping the "ip set dev  mtu " step since it just works.


Update troubleshooting.md

Add information on why all diagnostics issues may show as affecting 100% of users for a given application.

@DanRigby I no longer own docs. Do you need me to look at this?  If not, @blparr will grab it as part of her regular scan for PRs.


Bluetooth: controller: Add support for scannable ext adv instance

Note: this uses code that will be added in https://github.com/zephyrproject-rtos/zephyr/pull/26895 thus it also includes commits from that PR - those should be ignored in this PR.
This allows to configure scannable advertising instance, set advertising data (no data fragmentation yet) and enable it. Scanner will receive proper scan response data on extended advertising instance.
AUX_SCAN_RSP does not have TxPower field included since Core spec mandates to include this field in at least one PDU in extended advertising event - we already include it in AUX_ADV_IND so it's enough.
Optionally, AUX_SCAN_RSP can include ADI field - this is configurable via Kconfig since this is an optional field

@andrzej-kaczmarek please rebase

@carlescufi rebased


[delayed_job] Add queue wait time instrumentation

Patch to add a Background/WaitTime metric to the delayed job instrumentation. This is possibly the most useful metric when determining queue performance. I'm open to other ways of recording the metric if there's a better way to approach it.

Well, it hasn't gotten merged or commented but it hasn't been closed, which I'll take as a good sign.
What can I do to help?


Metadata.yaml has invalid content

https://github.com/Zemanta/zem-conversion-pixel-gtm-template/blob/c7fa8e26a1cbeb7ad385f3bc783d28fa3bf96c3e/metadata.yaml#L1-L2
YAMLError: end of the stream or a document separator is expected at line 1, column 28:
homepage: "www.zemanta.com",
^ at line 1, column 28:
homepage: "www.zemanta.com",
Once the first to lines are corrected (removing trailing commas) close this and we'll re-review your template.

Fixed https://github.com/Zemanta/zem-conversion-pixel-gtm-template/pull/6

Hi,
@philpott do you have any ETA for re-review of Zemanta's template?
Thanks for info.
BR
Jaka
(Zemanta Product Manager)


Increase Default Toast Duration

Toast messages are not staying up long enough to read them. They are currently set at 2 seconds and should be increased to follow accessibility best practices
https://sheribyrnehaber.medium.com/designing-toast-messages-for-accessibility-fb610ac364be

Increased to 6 seconds


[T3A2][T16-A2]Xie Jihui

Ready for review

Try to keep the first line of your commit message brief (within 50 characters). If you wish to add in more details, do so in the next line. You may want to take a look at your fellow peers' commit messages to have an idea of what are good and bad commit practices.
@xjh666  Please close the PR after reading comments.


Merge 2-13 updates to live

OPS Build status updates of commit 231e355:
:clock10: Preparing: average preparing time is 3 min(s) 17 sec(s)

OPS Build status updates of commit 231e355:
:clock10: Incremental building: average incremental building time is 54 min(s) 18 sec(s)

OPS Build status updates of commit 231e355:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

access/Concepts/Data-Access-Objects/use-transactions-in-a-dao-recordset.md
:white_check_mark:Succeeded
View

access/Concepts/Forms-Design/cancel-the-deletion-of-a-record-by-using-custom-criteria.md
:white_check_mark:Succeeded
View

access/Concepts/Forms-Design/disable-page-up-and-page-down-keys-in-a-form.md
:white_check_mark:Succeeded
View

access/Concepts/Miscellaneous/5-database-engine-driver-1-of-2.md
:white_check_mark:Succeeded
View

access/Concepts/Miscellaneous/cannot-make-the-name-object-in-name-container-replicableerror-3583.md
:white_check_mark:Succeeded
View

access/Concepts/Miscellaneous/circular-reference-caused-by-alias-name-in-query-definition-s-select-listerror-3.md
:white_check_mark:Succeeded
View

access/Concepts/Miscellaneous/concurrent-schema-changes-caused-the-create-replica-operation-to-fail-try-againe.md
:white_check_mark:Succeeded
View

access/Concepts/Miscellaneous/disk-i-o-error-during-readerror-3040.md
:white_check_mark:Succeeded
View

access/Concepts/Miscellaneous/failure-to-delete-a-file-on-the-server-using-ftperror-3682.md
:white_check_mark:Succeeded
View

access/Concepts/Miscellaneous/failure-to-execute-the-http-requesterror-3677.md
:white_check_mark:Succeeded
View

access/Concepts/Miscellaneous/in-operator-microsoft-access-sql.md
:white_check_mark:Succeeded
View

access/Concepts/Miscellaneous/invalid-sql-syntaxexpected-constraint-nameerror-3721.md
:white_check_mark:Succeeded
View

access/Concepts/Miscellaneous/need-a-version-4-x-or-greater-format-system-database-to-perform-this-operationer.md
:white_check_mark:Succeeded
View

access/Concepts/Miscellaneous/new-in-access-for-developers.md
:white_check_mark:Succeeded
View

access/Concepts/Miscellaneous/refresh-method-example-vbscript.md
:white_check_mark:Succeeded
View

access/Concepts/Miscellaneous/requested-row-locking-but-db-is-in-page-lock-modeerror-3751.md
:white_check_mark:Succeeded
View

access/Concepts/Miscellaneous/synchronizer-name-is-also-using-the-same-file-system-dropbox-nameerror-3630.md
:white_check_mark:Succeeded
View

access/Concepts/Miscellaneous/the-access-database-is-wrong-or-missing-for-this-sql-jet-replica-seterror-3778.md
:white_check_mark:Succeeded
View

access/Concepts/Miscellaneous/use-the-status-bar-progress-meter.md
:white_check_mark:Succeeded
View

access/Concepts/Windows-API/retrieve-the-name-of-the-user-logged-on-to-the-network.md
:white_check_mark:Succeeded
View

api/Access.Attachment.FileType.md
:white_check_mark:Succeeded
View

api/Access.Attachment.GridlineShade.md
:white_check_mark:Succeeded
View

api/Access.Attachment.GridlineThemeColorIndex.md
:white_check_mark:Succeeded
View

api/Access.BoundObjectFrame.GridlineShade.md
:white_check_mark:Succeeded
View

api/Access.BoundObjectFrame.GridlineThemeColorIndex.md
:white_check_mark:Succeeded
View

api/Access.BoundObjectFrame.OnEnter.md
:white_check_mark:Succeeded
View

api/Access.BoundObjectFrame.OnExit.md
:white_check_mark:Succeeded
View

api/Access.BoundObjectFrame.OnGotFocus.md
:white_check_mark:Succeeded
View

api/Access.BoundObjectFrame.OnKeyDown.md
:white_check_mark:Succeeded
View

api/Access.BoundObjectFrame.OnKeyPress.md
:white_check_mark:Succeeded
View

api/Access.BoundObjectFrame.OnKeyUp.md
:white_check_mark:Succeeded
View

api/Access.BoundObjectFrame.OnLostFocus.md
:white_check_mark:Succeeded
View

api/Access.CheckBox.AddColon.md
:white_check_mark:Succeeded
View

api/Access.CheckBox.Application.md
:white_check_mark:Succeeded
View

api/Access.CheckBox.AutoLabel.md
:white_check_mark:Succeeded
View

api/Access.CheckBox.BorderColor.md
:white_check_mark:Succeeded
View

api/Access.CheckBox.BorderShade.md
:white_check_mark:Succeeded
View

api/Access.CheckBox.BorderStyle.md
:white_check_mark:Succeeded
View

api/Access.CheckBox.BorderThemeColorIndex.md
:white_check_mark:Succeeded
View

api/Access.CheckBox.BorderTint.md
:white_check_mark:Succeeded
View

api/Access.CheckBox.BorderWidth.md
:white_check_mark:Succeeded
View

api/Access.CheckBox.BottomPadding.md
:white_check_mark:Succeeded
View

api/Access.CheckBox.ColumnHidden.md
:white_check_mark:Succeeded
View

api/Access.CheckBox.ColumnOrder.md
:white_check_mark:Succeeded
View

api/Access.CheckBox.ColumnWidth.md
:white_check_mark:Succeeded
View

api/Access.CheckBox.ControlSource.md
:white_check_mark:Succeeded
View

api/Access.CheckBox.ControlTipText.md
:white_check_mark:Succeeded
View

api/Access.CheckBox.ControlType.md
:white_check_mark:Succeeded
View

api/Access.CheckBox.Controls.md
:white_check_mark:Succeeded
View

api/Access.CheckBox.DefaultValue.md
:white_check_mark:Succeeded
View

This comment lists only the first 50 files in the pull request.
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Earley: share nodes created by the scanner with the completer

There should only be one distinct SPPF start node now.
When a start rule alternative ends in a terminal, the scanner creates the start SymbolNode, and when a start rule alternative ends in a nonterminal, the completer creates the start SymbolNode. The issue was that if both cases occurred, the scanner would create a start SymbolNode, and then the completer would also create one instead of reusing the existing node because the completer did not know the node existed. Hence, we ended up with two different start SymbolNodes. The issue is resolved by sharing the node_cache from scan with predict_and_complete.
test_multiple_start_solutions and test_consistent_derivation_order1 were adjusted because the change affected the order in which derivations were produced for some grammars. The order is still consistent across executions though.
test_cycles2 is back to having only one derivation which I believe is the correct behavior after the change.
Before the change, the SPPF was:

Notice that the traversal that produces the "triple v" derivation contains two symbol nodes labeled (v, 1, 2, -inf). The existence of two symbol nodes with the same label violates the "Shared" property of SPPFs.
After the change, the SPPF is:

Now, there is only one symbol node labeled (v, 1, 2, -inf). A traversal that produces the 'triple v" derivation still exists, but requires traversing the cycle through (v, 1, 2, -inf) which we don't do.

Thanks for looking into it, @chanicpanic !
In terms of API, it definitely looks like the right approach.
In terms of implementation, it looks like something is a bit off.
In test_consistent_derivation_order1, there should be 4 derivation.
When I run it with explicit ambiguity on this PR, I get this result, which is incorrect and also repetitive:
start
├── _ambig
│   ├── a
│   └── a
│       └── b
└── _ambig
    ├── a
    └── a
        └── b

The master branch returns the actual 4 derivations correctly.

@erezsh I believe that result is correct, although I can certainly understand why it may not appear so.
The first _ambig node means that the first child of start may be a or a -> b. Likewise, the second _ambig node means that the second child of start may be a or a -> b. With two options for the first child and two options for the second, we have a total of four derivations.
Using CollapseAmbiguities, we can see that we do in fact end up with four unique derivations:
parser = Lark('''
    start: a a
    a: "." | b
    b: "."
''', ambiguity='explicit')

tree = parser.parse('..')

for t in CollapseAmbiguities().transform(tree):
    print(t.pretty())

Output:
start
  a
  a

start
  a
  a
    b

start
  a
    b
  a

start
  a
    b
  a
    b

@chanicpanic Yes, you're right. I apologize for my confusion.
There is just one more thing I'm unsure about. It feels like the ordering is a bit arbitrary. In test_consistent_derivation_order1 the order changed towards the shorter derivation, but in test_multiple_start_solutions it changed towards the longer derivation.
I'm worried about it because changing the default order might cause errors for users who have accidental ambiguities in their grammar. So I want to make sure this is the "right order" now, so we won't have to break it again in the future.

I'm worried about it because changing the default order might cause errors for users who have accidental ambiguities in their grammar. So I want to make sure we're now changing to the "right order", so we won't have to break it again in the future.

This is a very valid concern.
I believe that the new order is more consistent with the way we typically resolve ambiguities. That is, in lieu of priorities, if there is a rule with multiple possible derivations, we choose the derivation based its alternative's rule order. Concretely, if we have rule: a | b and could resolve it with a or b, we choose a because it is defined first.
In the case of test_multiple_start_solutions, the current order gives the derivation for the terminal A first. However, the grammar defines start: a | A, so we would expect the derivation for the rule a first like the new order provides.
For test_consistent_derivation_order1, the old behavior resulted in duplicate symbol nodes for the a rule. The lack of shared symbol nodes for a meant that the ambiguity was pushed up the SPPF. As a consequence, rule order could not be used to choose a derivation, and the selected derivation was nondeterministic when using non-ordered sets. With the new behavior, symbol nodes for a are properly reused, and the ambiguity is represented by the children of those nodes. Hence, given a: "." | b, the derivation using "." is preferred by rule order. As a matter of fact, with rule order in play, the order of derivations produced by the new changes is consistent even without ordered sets (I just realized that means this test no longer tests what it was intended to).
Overall, I think the new behavior is more correct (no duplicate symbol nodes in the SPPF), aligns with rule order expectations even when an alternative ends in a terminal (as in test_multiple_start_solutions), and produces a more predictable order (as in test_consistent_derivation_order1).
For reference, grammars affected by the change contain a rule:

that has an alternative that ends in a nonterminal
and an alternative that ends in a terminal
both of which may produce identical strings

Okay, I'm sufficiently convinced.
Thank you!


[AB#42315] Added the customizable Channel Service

Pull Request
Prerequisites

[X] The PR is targeting the right branch (dev for features and master for
releases)
[X] potential release notes to the PR description added
[X] potential testing notes to the PR description added
[ ] appropriate labels for the PR applied

Description and release notes
The Mosaic Channel Service allows the management of channels and playlists to stream linear videos. It allows for scheduling media entities (movies and episodes) with their videos into playlists and inserting ad breaks and scheduled videos. Channels can be used to provide VOD-to-Live/FAST (Free ad-based streaming TV) playback via streaming providers like Unified Streaming.
Before this PR, the Channel Service was available as a managed Mosaic Service. We decided to open-source the Channel Service as we already did for the Vod-to-Live service to allow complete customizability of all aspects of the FAST solution. Channel and playlist validation was therefore moved directly into the Channel Service. In addition, the playlists are now published to the Catalog Service, and localization was added for the Channel and the playlist program items.
Testing Notes
The Channel Service is the management side of the data that goes into the Catalog Service and into the Vod-to-Live Service.
Please verify that all the test cases work if the Channel Service has localization enabled and disabled.
Please check, that you can manage channels with and without DRM protection and an assigned video so that it can be published and the publishing validation is conducted. The data of the channel should appear in the catalog service and the VOD-to-Live service should process it, and start the streaming, you can watch the stream (showing the looped placeholder video), and the streaming URLs and the DRM key ID (if DRM was enabled) is visible in the Channel Service UI in the detail station of the channel.
Create a playlist with multiple movies and episodes in it. Define ad placeholders, add videos and verify that this is visible on the Unified Streaming side when watching the playlist.
Validation
The Channel Service validates the channel, playlist, and the used videos to
determine the eligibility of a Channel or Playlist for publishing from the
Channel Service.
Channel validation rules

A placeholder video must be set for the channel. This is used when no playlist is currently active.
A image should be set and should give a warning if this is not the case
When localization is enabled the title must be localized and the description should be localized for all active locales

Playlist validation rules

The playlist must contain at least one program.
A warning is reported if the playlist duration exceeds 24 hours.
The playlist duration must not exceed 25 hours.
The playlist start date must not be older than 24 hours.
The playlist scheduling must not start and end with an ad pod.
All videos associated with the playlist must have at least one common stream
format (matching resolution, frame rate, and bitrate).
When localization is enabled all the program item titles must be localized for all active locales

Video validation rules
Every video assigned to a channel or playlist must pass the following validation
rules:

Videos must use be encoded as H264.
Videos must have a separate audio stream.
Videos must be packaged in the CMAF format.
If DRM protection is enabled, DRM-protected videos must have their DRM key
identifiers defined.
If DRM protection is disabled, videos cannot be DRM-protected.

Whenever I try to unpublish the playlist - I v2l starts throwing The specified blob does not exist. Is it only happening for me?

In general - checked that both DRM-protected and not protected streams are playable, manageable and localizable, all seems reasonable. Will wait for comments to be resolved before starting a second review round.


not working in release

do not write in the release version flutter run --release or flutter build apk --release, this is my log
my log

my code

[√] Flutter (Channel stable, 2.0.1, on Microsoft Windows [version 10.0.18363.1440], locale pt-BR)
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[√] Chrome - develop for the web
[√] Android Studio (version 3.5)
[√] IntelliJ IDEA Community Edition (version 2019.3)
[√] VS Code (version 1.54.3)
[√] Connected device (3 available)

I believe it has nothing to do with the package, but does anyone have any suggestions for this problem?

I found the problem in version 2 of the flutter, the version of the gradle is 4.1.0 and after a lot of headache I found the problem giving a downgrade to version 3.6.3 of the gradle.
How to fix:
in android\build.gradle on dependencies change classpath 'com.android.tools.build:gradle:4.1.0' to classpath 'com.android.tools.build:gradle:3.6.3'.
Execute this command
flutter clean
flutter run --release


trying a different video link

There was an error while validating job 4d0c7cbc-44fe-45be-8a2b-81e6b16e370c Message:Error clonning repositoryDetails:System.ArgumentException: Error clonning repository ---> LibGit2Sharp.NotFoundException: Branch 428 not found. Available branches:
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.GetBranch(Repository repo, String name)
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.<>c__DisplayClass34.<>c__DisplayClass39.b__2e(KeyValuePair2 branch)    at System.Collections.Generic.List1.ForEach(Action1 action)    at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.<>c__DisplayClass34.<CloneRepository>b__2c()    at Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.RetryPolicy.<>c__DisplayClass1.<ExecuteAction>b__0()    at Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.RetryPolicy.ExecuteAction[TResult](Func1 func)
at Microsoft.Practices.EnterpriseLibrary.TransientFaultHandling.RetryPolicy.ExecuteAction(Action action)
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.CloneRepository(String url, IDictionary2 branches)    --- End of inner exception stack trace ---    at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.CloneRepository(String url, IDictionary2 branches)
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.CloneRepository()
at Microsoft.DPS.Services.LibGit2SharpSourceControlProvider.GetTreeAsync(String path, Boolean includeSubDirectories, String excludePath, IList1 extensionWhiteList)    at Microsoft.DPS.Commands.IdentifyDocumentsToPublish.ListSourceControlFilesCommand.Do(IDictionary2 context)
at Microsoft.LightweightJobEngine.Core.Language.JobWorkflow1.RunCommands(Guid jobId, IDictionary2 context, CancellationTokenSource cancelSignal)


Whe does my Training loss didn't go down when I train lora of flux?

my loss curve looks something like this.
model_name: "flux-dev"
data_config:
train_batch_size: 1
num_workers: 4
img_size: 512
img_dir: xxx
report_to: wandb
train_batch_size: 1
output_dir: lora/
max_train_steps: 10000
learning_rate: 1e-4
lr_scheduler: constant
lr_warmup_steps: 10
adam_beta1: 0.9
adam_beta2: 0.999
adam_weight_decay: 0.01
adam_epsilon: 1e-8
max_grad_norm: 1.0
logging_dir: log16
mixed_precision: "bf16"
checkpointing_steps: 2500
checkpoints_total_limit: 10
tracker_project_name: lora_test
resume_from_checkpoint: latest
gradient_accumulation_steps: 2
rank: 16

Loss will go down as long as the step is large enough, just wait. Every step in one iteration in Gradient Descent, if your lr is not suitable the loss might go up and even become loss NAN.
By the way, I met an error running train_flux_lora_deepspeed.py, https://github.com/XLabs-AI/x-flux/issues/44.
🥺Could you give me some suggestions?

It is obvious not the reason of step I think. But i am trying tuning the other parms

It is obvious not the reason of step I think. But i am trying tuning the other parms

@vincezh2000 I see, the reason is that the script doesn't caculate average loss. Average loss goes down in the gradient desecent process, but current loss might change in a vast range.
I also found my 10000-step training loss curve didn't go down, but after the base model loaded the lora, the generated images look very similar to the images in the trainset.

It is obvious not the reason of step I think. But i am trying tuning the other parms

@vincezh2000 I see, the reason is that the script doesn't caculate average loss. Average loss goes down in the gradient desecent process, but current loss might change in a vast range.
I also found my 10000-step training loss curve didn't go down, but after the base model loaded the lora, the generated images look very similar to the images in the trainset.

Thank you for this. I will check the training scirpt.

the loss of lora is something mystical
Sometimes a high loss model may generate good image but low loss cannot
I think it's not the fault of flux beacuse in sd model i met the issue too
So  I rarely care about the loss , maybe it doesn't matter

Like what @HelloWarcraft said. The model loged the loss for every epoch not for ave_loss.

I think that's why the loss doesn't go down.

They just cal the avg loss for distrubuted training.
I am adding more params and triaing via this, will show the curve after I have the result

@vincezh2000 Do you have any progress?


Modification in Pull Request template

Is your feature request related to a problem? Please describe.
No,Modification in Pull Request template.
Describe the solution you'd like
Modification in Pull Request template

@Anjaliavv51 what kind of modification you want to do? Kindly describe it.


Commands with folder arguments broken

Brief Issue Summary
Commands with folder arguments, like build, are now broken.
Repro steps:

Create an extension (A), that depends on CMakeTools.
In extension (A), do something like:async test() {
    if (!vscode.workspace.workspaceFolders) return;
    for (const folder of vscode.workspace.workspaceFolders) {
        await vscode.commands.executeCommand("cmake.build", folder);
    }
}

Build and install extension (A), open a multiroot workspace containing multiple CMake projects, and run test.

Expected:
All folders are built.
Actual:
Only the first folder is built.
Note:
I think this command has been broken for build for several versions, but some other commands triggers build worked, so we didn't hit this issue. Now none of them work, and this breaks our extension.
CMake Tools Diagnostics
No response
Debug Log
No response
Additional Information
No response

Are you able to use the API instead? I'm not sure if the commands have ever been an officially supported extensibility point.

@benmcmorran Since we wrote our extension before this API, we didn't have this option. While we can try that API, I do hope this issue can be fixed so our extensions that are already published won't be broken.

@xisui-MSFT Is this specific to the latest CMake Tools version?

@xisui-MSFT I just followed your repro steps and wasn't able to reproduce the issue. I'm seeing that all of the folders are built. Is there any way that you could provide a repro project and/or a video of what you're seeing? Thanks.

Actually this commit https://github.com/vlavati/vscode-cmake-tools/commit/3cfda1ad18cb4cb5a0ba0818c68fc989859c41c2. Why are object parameters required?

This has been fixed.


pythonPackages.pysptk: init at 0.1.16

Motivation for this change
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] 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)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build pythonPackages.pysptk python3Packages.pysptk

@GrahamcOfBorg build pythonPackages.pysptk python3Packages.pysptk

I took the liberty of making minor changes, I hope you don't mind
@GrahamcOfBorg build pythonPackages.pysptk python3Packages.pysptk


Configure Aspire Dashboard with key-per-file configuration provider (#4526)

This PR adds the .NET key-per-file configuration provider to the Aspire Dashboard (see issue https://github.com/dotnet/aspire/issues/4526).
Thereby, one can use Docker secrets like this:
services:
  aspire-dashboard:
    image: mcr.microsoft.com/dotnet/aspire-dashboard
    container_name: aspire-dashboard
    ports:
      - 4317:18889
      - 18888:18888
    environment:
      - Dashboard__FileConfigDirectory=/run/secrets
    secrets:
      - Dashboard__Frontend__BrowserToken
secrets:
  Dashboard__Frontend__BrowserToken:
    file: Dashboard__Frontend__BrowserToken.txt

Another PR for updating the docs will follow.
Microsoft Reviewers: Open in CodeFlow

/azp run

@JamesNK @drewnoakes this change enables docker secrets and k8s config maps.


Using MS.Extensions.DI directly, removing all unneeded code, pulling in the MediatR package directly

Brrrrrrrr

@jbogard Just wanted to ask if you are aware of the consequences for simple injector (and maybe other containers).
Simple Injector is a "non-conforming" DI Container, meaning that it doesn't replace the built-in DI Container, but instead lives side-by-side the built-in container. Where the built-in container is used to resolve framework and third-party components, Simple Injector is used by the application developer to resolve their application components.
For general discussion regarding conforming containers see from former discussions such as https://github.com/dotnet/aspnetcore/issues/30115, https://github.com/dotnet/aspnetcore/issues/29194, https://github.com/dotnet/aspnetcore/issues/28957, https://github.com/dotnet/aspnetcore/issues/14585, https://github.com/dotnet/aspnetcore/issues/8886 and https://github.com/aspnet/DependencyInjection/issues/334.
So this change would break support for SimpleInjector. Realistically, there would be no way back (rather than forking).
Of course, its your project so are free to "dont care" and anyone is free to fork it😅

How would this break exactly? Doesn't the Container object implement IServiceProvider?
This doesn't force people to use the ServiceCollection stuff, it just bundles it together. The breaking change to the Mediator class is to change the dependency from my custom delegate type of ServiceFactory to the System.ComponentModel type IServiceProvider.

This doesn't force people to use the ServiceCollection stuff, it just bundles it together.

Ah, I see.  Thanks for the clarification. I originally thought it requires using the frameworks DI Container (IServiceCollection).
But that is not the case as you said. By using the following registration we can still control the registration in the composition root:
Container.RegisterInstance(typeof(IMediator), new Mediator(Container.GetInstance));

Doesn't the Container object implement IServiceProvider?

It does currently, yes. May be removed in the future though. But then we can still write a simple adapter:

Container.RegisterInstance(typeof(IMediator), new Mediator(new ServiceProviderAdapter { Container = container }));

public class ServiceProviderAdapter : IServiceProvider
{
    public Container Container {get;set;}
    public object GetService(Type type) => this.Container.GetInstanceOrNull(type);
}

So everything seems to be good :-)

Yep, you should be able to write a simple adapter. MediatR used to use CommonServiceLocator years and years ago so this is a bit of return to form. I don't plan on altering anything with MediaR internals to force using its registration. In fact, I'm looking at adding factory objects to make it a bit more explicit about instantiating things like behaviors.


Set initial position without calling listener multiple times

I would like to set initial value to the spinner without calling on selected listener:
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(spinner.getContext(), android.R.layout.simple_spinner_item, filterDisplay.filterValues());
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);
        spinner.setHint(filterDisplay.filterNameRes());
        spinner.setSelection(adapter.getPosition(filterDisplay.filterSelected()) + 1);
        spinner.setOnItemSelectedListener(listener);

Unfortunately setSelection method is overridden by MaterialSpinner and this method is no longer synchronous. Due to this OnItemSelectedListener is set before selection is done.
    @Override
    public void setSelection(final int position) {
        this.post(new Runnable() {
            @Override
            public void run() {
                MaterialSpinner.super.setSelection(position);
            }
        });
    }

In my opinion selection with post method should be done in separate method called setSelectionPost

Actually I can use  spinner.setSelection(position, false); which is not wrapped by post method


Remove default implementation of bulk

bulk should require customization. Per LEWG request.

This seems user-hostile for people wanting to use bulk with a generic scheduler.
It's effectively necessitating an extra bulk_scheduler concept that algorithms would constrain themselves with if they ever wanted to use bulk.
Are there minutes somewhere that record what the concerns are with a default bulk that just used schedule() and a for-loop?

There are minutes, here: https://wiki.edg.com/bin/view/Wg21telecons2021/Executors-2021-10-19-Part-1.

LEWG backed down. bulk lives on.


remote-ssh

版本: 1.93.1 (user setup)
提交: 38c31bc77e0dd6ae88a4e9cc93428cc27a56ba40
日期: 2024-09-11T17:20:05.685Z
Electron: 30.4.0
ElectronBuildId: 10073054
Chromium: 124.0.6367.243
Node.js: 20.15.1
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19045
remote-ssh v0.144.3
After I connect to the remote server using the remote-ssh plug-in, each time I reload the window, the plug-in requires me to reselect the platform and password.

The extension can save the platform and password when logging in to the system for the first time. In this way, users do not need to re-enter the platform and password every time they reload the window.
In addition, after I logged in, I opened a project in Explorer and the extension still asked me to re-enter the password.

This should be resolved now. Please feel free to reopen (and include your logs) if you can still reproduce. Thanks!


sequenceLabelling ValueError

I'm testing the tag function of sequenceLabelling models on Windows 10, and I met ValueErrors for all models. I didn't change any code inside and only ran the code:

def tag_line(text):
# load model
model_name = 'ner-en-conll2003-BidGRU_CRF'
model = sequenceLabelling.Sequence(model_name)
model.load()
results = model.tag(text, "json")
return results
if name == "main":
text = ["Trump lives in New York"]
tag_line(text)

The detailed error messages are as below.
loading model weights data/models/sequenceLabelling/ner-en-conll2003-BidGRU_CRF\model_weights.hdf5
Traceback (most recent call last):
  File "D:\Anaconda\lib\site-packages\tensorflow\python\framework\common_shapes.py", line 686, in _call_cpp_shape_fn_impl
    input_tensors_as_shapes, status)
  File "D:\Anaconda\lib\site-packages\tensorflow\python\framework\errors_impl.py", line 516, in __exit__
    c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.InvalidArgumentError: Dimension 0 in both shapes must be equal, but are 50 and 350. Shapes are [50,300] and [350,300]. for 'Assign_7' (op: 'Assign') with input shapes: [50,300], [350,300].

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/YuhwaChoong/Desktop/Delft/delft/nerTagger.py", line 476, in <module>
    tag_line(text)
  File "C:/Users/YuhwaChoong/Desktop/Delft/delft/nerTagger.py", line 470, in tag_line
    model.load()
  File "C:\Users\YuhwaChoong\Desktop\Delft\delft\sequenceLabelling\wrapper.py", line 366, in load
    self.model.load(filepath=os.path.join(dir_path, self.model_config.model_name, self.weight_file))
  File "C:\Users\YuhwaChoong\Desktop\Delft\delft\sequenceLabelling\models.py", line 60, in load
    self.model.load_weights(filepath=filepath)
  File "D:\Anaconda\lib\site-packages\keras\engine\topology.py", line 2656, in load_weights
    f, self.layers, reshape=reshape)
  File "D:\Anaconda\lib\site-packages\keras\engine\topology.py", line 3382, in load_weights_from_hdf5_group
    K.batch_set_value(weight_value_tuples)
  File "D:\Anaconda\lib\site-packages\keras\backend\tensorflow_backend.py", line 2368, in batch_set_value
    assign_op = x.assign(assign_placeholder)
  File "D:\Anaconda\lib\site-packages\tensorflow\python\ops\variables.py", line 609, in assign
    return state_ops.assign(self._variable, value, use_locking=use_locking)
  File "D:\Anaconda\lib\site-packages\tensorflow\python\ops\state_ops.py", line 281, in assign
    validate_shape=validate_shape)
  File "D:\Anaconda\lib\site-packages\tensorflow\python\ops\gen_state_ops.py", line 64, in assign
    use_locking=use_locking, name=name)
  File "D:\Anaconda\lib\site-packages\tensorflow\python\framework\op_def_library.py", line 787, in _apply_op_helper
    op_def=op_def)
  File "D:\Anaconda\lib\site-packages\tensorflow\python\framework\ops.py", line 3292, in create_op
    compute_device=compute_device)
  File "D:\Anaconda\lib\site-packages\tensorflow\python\framework\ops.py", line 3332, in _create_op_helper
    set_shapes_for_outputs(op)
  File "D:\Anaconda\lib\site-packages\tensorflow\python\framework\ops.py", line 2496, in set_shapes_for_outputs
    return _set_shapes_for_outputs(op)
  File "D:\Anaconda\lib\site-packages\tensorflow\python\framework\ops.py", line 2469, in _set_shapes_for_outputs
    shapes = shape_func(op)
  File "D:\Anaconda\lib\site-packages\tensorflow\python\framework\ops.py", line 2399, in call_with_requiring
    return call_cpp_shape_fn(op, require_shape_fn=True)
  File "D:\Anaconda\lib\site-packages\tensorflow\python\framework\common_shapes.py", line 627, in call_cpp_shape_fn
    require_shape_fn)
  File "D:\Anaconda\lib\site-packages\tensorflow\python\framework\common_shapes.py", line 691, in _call_cpp_shape_fn_impl
    raise ValueError(err.message)
ValueError: Dimension 0 in both shapes must be equal, but are 50 and 350. Shapes are [50,300] and [350,300]. for 'Assign_7' (op: 'Assign') with input shapes: [50,300], [350,300].

Hello @YuhwaChoong !
It's simply that the embeddings are missing. On the first time, the embeddings will be compiled in a LDMB database so that next launch will be immediate without loading embeddings into memory.
If, for some reason, the initial embeddings loading failed, you need to delete the empty db:

rm -rf delft/data/db/glove-840B

and relaunch so that the LMDB is rebuilt.
Be sure that the path to the Glove embedding file is correct in embedding-registry.json and that you have correctly downloaded the glove embedding file 300d http://nlp.stanford.edu/data/glove.840B.300d.zip before the first launch - the sequence labelling models all use these Glove embeddings.
You should get this message:
Compiling embeddings... (this is done only one time per embeddings at first launch)
path: /home/lopez/embeddings/glove.840B.300d.txt
100%|█████████████████████████████████| 2196017/2196017 [06:47<00:00, 5388.91it/s]
embeddings loaded for 2196006 words and 300 dimensions

and then the tagging should be fine:
loading model weights data/models/sequenceLabelling/ner-en-conll2003-BidGRU_CRF/model_weights.hdf5
{
    "model": "ner-en-conll2003-BidGRU_CRF",
    "runtime": 0.364,
    "software": "DeLFT",
    "date": "2018-09-19T10:58:05.754971",
    "texts": [
        {
            "entities": [
                {
                    "score": 1.0,
                    "class": "PER",
                    "text": "Trump",
                    "beginOffset": 0,
                    "endOffset": 4
                },
                {
                    "score": 1.0,
                    "class": "LOC",
                    "text": "New York",
                    "beginOffset": 15,
                    "endOffset": 22
                }
            ],
            "text": "Trump lives in New York"
        }
    ]
}
runtime: 0.365 seconds

I will try to make the embeddings loading process more robust and the error messages more clear.

Hello @kermitt2. So much thanks for your answer!
I found out that the first build of LDMB failed and the failed db file ocupied 100GB disk space.
I thought the reason why the build process failed in my PC is that default encoding of my OS is gbk, not utf8, and the code
with open(embeddings_path) as f:
in file Embeddings.py line 159 and line 163 used the OS default encoding to open the glove files. This could be fixed to change the line into:
with open(embeddings_path,encoding='utf8') as f:

Thanks a lot ! I have updated the file Embeddings.py as you suggested.


Suggestion of label change for OBI_0001909: conclusion based on data

Considering that:

The current definition of the term is: "An information content entity that is inferred from data."
The ontology encompasses the axiom 'drawing conclusion based on data' SubclassOf (has_specified_output some 'conclusion based on data'), and 'drawing conclusion based on data' by definition might not yield a general conclusion.

We therefore suggest to rename OBI_0001909: conclusion based on data, maybe as "information inferred from data".

We discussed this on the OBI development call on 06/26, and we'd appreciate some clarification about the change you're requesting. Are you concerned with the necessity/sufficiency of the relationship between 'drawing conclusion based on data' and 'conclusion based on data' with respect to that axiom, or is there a different problem with it? Thanks for your help.

Let’s put it differently. There is something confusing about the term ‘conclusion’ in the labels of OBI_0001909:‘conclusion based on data’ and OBI_0009338:‘drawing a conclusion based on data’.
Indeed, OBI_0009338:‘drawing a conclusion based on data’ is defined as having the objective “to generate more general conclusions or to conclude that the data does not allow one to draw general conclusion”. This suggests that there are two levels of conclusions: “general conclusions” and “conclusions that the data does not allow one to draw a general conclusion”. This polysemy of “conclusion” causes some ambiguity in the understanding of the two above-mentioned labels. Therefore, it might be better to replace the term “conclusion” in both labels by something else.

Let's make an example: A study analysis the effect of a drug on white blood
cell (WBC) counts in two patient populations, one getting the drug, the
other not. A t-test is run on comparing WBC data from the group of patient
getting the drug vs. the one that did not.

Scenario 1) they get a p-value < 0.05. Based on that the investigators
conclude: Drug X increases WBC.
Scenario 2) they get a p-value of 0.3. Based on that, the investigators
conclude that the data in their specific study is not sufficient to reject
the null hypothesis that the drug has no effect on WBC.

Aren't both outcomes conclusions? We could have two separate subtypes of
conclusion drawing processes, which could get messy. What we wanted to
ensure that we have a single process that we consider to be a planned part
of an investigation that examines the data as above, and that it is
perfectly fine and valid to have a non-significant outcome.
And a minor point, maybe not relevant for you, the reason why we are
calling it 'conclusion based on data' is that we wanted to distinguish it
from theoretical proofs of math theorems or the like, which also have
conclusions, but you can't point to specific data items that are underlying
them.
Happy to discuss more, as this is foundational to OBI, and we want to make
sure we have it right and that it is understandable.

Bjoern

On Mon, Jun 26, 2023 at 11:36 AM Paul Fabry @.***>
wrote:

Let’s put it differently. There is something confusing about the term
‘conclusion’ in the labels of OBI_0001909:‘conclusion based on data’ and
OBI_0009338:‘drawing a conclusion based on data’.
Indeed, OBI_0009338:‘drawing a conclusion based on data’ is defined as
having the objective “to generate more general conclusions or to conclude
that the data does not allow one to draw general conclusion”. This suggests
that there are two levels of conclusions: “general conclusions” and
“conclusions that the data does not allow one to draw a general
conclusion”. This polysemy of “conclusion” causes some ambiguity in the
understanding of the two above-mentioned labels. Therefore, it might be
better to replace the term “conclusion” in both labels by something else.
—
Reply to this email directly, view it on GitHub
https://github.com/obi-ontology/obi/issues/1708#issuecomment-1608013920,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADJX2IRBOCH4JQJHJP7SDX3XNHJBLANCNFSM6AAAAAAZD4ZBWA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
Bjoern Peters
Professor
La Jolla Institute for Immunology
9420 Athena Circle
La Jolla, CA 92037, USA
Tel: 858/752-6914
Fax: 858/752-6987
http://www.liai.org/pages/faculty-peters

Thanks for the explanation!
This is indeed what we understood. What troubles us is that the inference that "the data does not allow one to draw general conclusion” is called a "conclusion". That is, you can have a "conclusion" without having any "general conclusion", which brings some polysemy in the use of the term "conclusion" that might be confusing.
A possible strategy could be to introduce the entity "general conclusion" as a subclass of "conclusion" to clarify the distinction between both.
Anyway, we can live with the current vocabulary, we just wanted to point to a risk of possible confusion.

Thank you Paul for pointing this out, and agreed that there is potential
for conclusion-confusion :) Very happy that you can live with the current
vocabulary.

Bjoern

On Thu, Jun 29, 2023 at 11:39 AM Paul Fabry @.***>
wrote:

Thanks for the explanation!
This is indeed what we understood. What troubles us is that the inference
that "the data does not allow one to draw general conclusion” is called a
"conclusion". That is, you can have a "conclusion" without having any
"general conclusion", which brings some polysemy in the use of the term
"conclusion" that might be confusing.
A possible strategy could be to introduce the entity "general conclusion"
as a subclass of "conclusion" to clarify the distinction between both.
Anyway, we can live with the current vocabulary, we just wanted to point
to a risk of possible confusion.
—
Reply to this email directly, view it on GitHub
https://github.com/obi-ontology/obi/issues/1708#issuecomment-1613620451,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADJX2IQGBIPZVQW6EVNOR3TXNXDVHANCNFSM6AAAAAAZD4ZBWA
.
You are receiving this because you commented.Message ID:
@.***>

--
Bjoern Peters
Professor
La Jolla Institute for Immunology
9420 Athena Circle
La Jolla, CA 92037, USA
Tel: 858/752-6914
Fax: 858/752-6987
http://www.liai.org/pages/faculty-peters

I think this is resolved.


Forbid navigation into subgraphs from other than start destinations of the subgraph

I map my domain objects to destinations in a following way:
private fun RouterDestination.toNavigationDestination() = when (this) {
    RouterDestination.MainMenuScreen -> MainMenuScreenDestination

    is RouterDestination.TransactionSetupInitialScreen -> TransactionSetupInitialScreenDestination(
        navArgs = TransactionSetupNavArgs(terminalInfo = ...)
    )
    RouterDestination.CustomIdentifierScreen -> CustomIdentifierScreenDestination
    ...
}

Additionally, I have a custom NavGraph defined:
@RootNavGraph
@NavGraph(route = "txsetup")
annotation class TransactionSetupNavGraph(
    val start: Boolean = false
)

Finally, definition of destinations is following:
@TransactionSetupNavGraph(start = true)
@Destination(
    navArgsDelegate = TransactionSetupNavArgs::class, // mandatory arguments
)
@Composable
fun TransactionSetupInitialScreen(viewModel: TransactionSetupViewModel) {
     ...
}

@TransactionSetupNavGraph
@Destination
@Composable
fun CustomIdentifierScreen(
    viewModel: TransactionSetupViewModel,
) {
    ...
}

Is there a way to forbid navigating into a navgraph via other than start destinations?
I am currently facing a bug where if the user rapidly presses back and next buttons, the app navigates outside the current navgraph and then navigates back into the navgraph but via a non-start destination.
Since viewmodel initialization is done in the start destination, the app crashes.

I don't think this is possible with Compose navigation, and so, it isn't with Compose Destinations either.
I can't say I fully understand the need you have, but I have not had this requirement yet. Is it possible that you can get to the same end goal with a different approach?


Ensure Turbo does not interfere with IFrames

Skip intercepting <a> element clicks or <form> element submissions
when they target an <iframe>. This occurs when an <a> declares a
target, when a <form> declares a target, or
a <form> element's submitting <button> element declares a
formtarget.

Still relevant, yeah?


Wiki page on debugging agents

Would it be worth creating a wiki page on debugging techniques? E.g. here are some things @virtadpt mentioned to me on gitter:

Watch huginn/logs/development.log
Run the agent manually (Actions -> Run)
The Logs tab of each agent shows you what's happening in an agent, though only if it outputs anything specifically (like ImapFolderAgent does) or if there's a problem (read: stack trace)
Usually, only when things go wrong will anything show up in the Logs.
The Events tab shows you what events an agent has emitted.
For some agents, I find it useful to plug a ManualEvent agent into its input, craft an event by hand, and use that to force an agent network to run so I can watch it.

Might also be good to know if there are good ways to insert debug log statements into agent behaviors when testing (that are particularly visible in the console output, say).

Hey @bennlich, I do think that'd be a good idea.  Would you be interested in starting it?

Sure! Here's a draft: https://github.com/cantino/huginn/wiki/Debugging-an-agent. I bolded information I have questions about. What do you think?

Btw, when I look at huginn/logs/development.log, I see something like this:

Any idea what's up with all the ESCs? Is there an editor or viewer I can use to make it easier to read?

The ESC's are escape sequences that are used to color bits of the text.  The value of your TERM environment variable may not allow colored text so you see the escape codes themselves.  For example, mine displays alternating colored lines (without needing to reconfigure my shell): One that starts with purple text and default colored rest of the line, the other teal text and the rest of the line is bright white instead of default grey.

echo $TERM
What do you get?

Thanks @bennlich!  development.log can be hard to interpret, but the individual Agents' logs from their show pages are useful.  Those are created by log and error in the Agents.
The suggestion to use a ManualEventAgent is a very good one.

@virtadpt Ah, I see, thanks. The output in my terminal looks fine (colored). It's just when I open the log for debugging in vim or sublime that I see the escape sequences.
echo $TERM gives "xterm-color"

It'd be great if anyone wants to weigh in on the questions I've bolded in https://github.com/cantino/huginn/wiki/Debugging-an-agent. @cantino , I'll mention something about log and error in there.

Text editors are notorious for not obeying color codes, because the theory behind them is that it should be possible to edit those codes as well if you wish.  Kind of counter-intuitive, and there's probably a way to reconfigure vim to obey them, but there it is.

[where for output?] => Generally in the Agent's logs tab.  The Rails console has some info, but it moves fast and is hard to use.

K! Going to close this for now. Could still use a sentence about the difference between log() and errors.add().

Sorry, missed that. log is used for outputing information to the Agent's log tab.  errors.log adds a validation error to the Agent before saving, causing the create / update form to show an error message. (This is a standard Rails pattern.)

Ah, k, cool. Sorry I'm not familiar with rails =P

No worries.  It's worth explaining, since many people haven't used Rails!

Speaking of, is it worth adding a line to the Quick Start section of the readme.md (or to a new Develop section) about how to test specs? (And is bundle exec rspec the way to go?)

Yes please!
On Sunday, February 22, 2015, Benny Lichtner<EMAIL_ADDRESS>wrote:

Speaking of, is it worth adding a line to the Quick Start section of the
readme.md (or to a new Develop section) about how to test specs? (And is bundle
exec rspec the way to go?)
—
Reply to this email directly or view it on GitHub
https://github.com/cantino/huginn/issues/702#issuecomment-75469246.


Module '"gcode-preview"' has no exported member 'GCodePreview'.

Hi there. First of all, the library is really nice and helpful. However, I'm facing a TypeScript error as shown below while integrating it into my project.

Which version are you using?
Try import * as GCodePreview from 'gcode-preview' for 2.8.x
In develop I'm working on 3.0 which breaks things

Which version are you using?
Try import * as GCodePreview from 'gcode-preview' for 2.8.x
In develop I'm working on 3.0 which breaks things

2.8.1 -> the latest one

I find I have to reload VS Code before it sees my changes. Maybe that works for you.
I tried a fresh project but I cannot reproduce the type error. Does it build?
Maybe I can help of you create a repo with the issue, if possible.

Oh I see the problem. You should be using .init
import * as GCodePreview from 'gcode-preview'

GCodePreview.init({
   canvas: CanvasRef.current as HTMLCanvasElement
})

Oh I see the problem. You should be using .init
import * as GCodePreview from 'gcode-preview'

GCodePreview.init({
   canvas: CanvasRef.current as HTMLCanvasElement
})

Thank you! I'll try it our and let you know if it works

Oh I see the problem. You should be using .init
import * as GCodePreview from 'gcode-preview'

GCodePreview.init({
   canvas: CanvasRef.current as HTMLCanvasElement
})

It works! Awesome! THANK YOU

Happy to hear!


Prepare 0.8.0 release

Remaining action items (checklist for patchlevel release, since we are not maintaining stable backports for this release):

[ ] Test all tutorial notebooks on a hardware backend
[x] Update version [sub]string in all files where it appears in the repository

[x] pyproject.toml

[ ] Write a prelude release note
[x] move release notes to 0.8 directory
[ ] merge everything except this PR on the 0.8.0 milestone
[x] double check that all recent PRs with stable backport potential have been backported. - skip for 0.8.0
[ ] build docs locally; proofread the release notes
[ ] wait for 0.9.0 release to be ready, too, since they will be released simultaneously
[ ] merge this PR
[ ] tag the release

git checkout stable/0.8
git pull
git show (verify it's the commit we want to tag)
git tag -a 0.8.0 -m "Circuit Knitting Toolbox 0.8.0"
git show (double/triple check the tag is on the correct branch)
git push origin 0.8.0

[ ] Wait for CI to finish. The release should then be available on GitHub and pypi.
[x] get docs to deploy (should happen automatically at this point after CI runs both on stable/0.7 and then on the gh-pages branch) - skip this for 0.8.0
[x] move remaining 0.7.3 milestone items to 0.7.4 milestone and close the 0.7.3 milestone - skip this for 0.8.0

Previous patchlevel release PR: #638
Closes #602.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>6
Details

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

Totals

Change from base Build<PHONE_NUMBER>2:
0.0%

Covered Lines:
2327

Relevant Lines:
2327

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>8
Details

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

Totals

Change from base Build<PHONE_NUMBER>6:
0.0%

Covered Lines:
2333

Relevant Lines:
2333

💛  - Coveralls


the paypal detail is not the same as the doc

General information

SDK/Library version: 2.91.0
Environment: Sandbox
Language, language version, and OS:  Java 1.8

Issue description

Transaction.getPayPalDetails() did't has the propperty  getRefundFromTransactionFeeAmount
as describe in doc https://developers.braintreepayments.com/reference/response/transaction/java#paypal_details.refund_from_transaction_fee_amount

Hey @wuxiongliu1 Good catch, and thanks for the heads up.  We'll take a look at this and see if we can get this fixed up.

Hey @wuxiongliu1 Good catch, and thanks for the heads up. We'll take a look at this and see if we can get this fixed up.

thank you for you reply, Can I get the RefundFromTransactionFeeAmount from another way ?

Not currently, but we're going to get the missing method added in, and I'll post back here once we have a release with it included.

ok， thanks very much . I also have a question about the Dispute fee. Can we get dispute fee from the Dispute entity ?

there is a strong need for the RefundFromTransactionFeeAmount result. Because our project will move to production system. So can I have other ways to fetch this result ?

Please reach out to our support team for help with your integration
https://help.braintreepayments.com/

I have solve the problem , But I have another question, when partial refund one transaction for many times, but the getRefundFromTransactionFeeAmount always have value , does this mean the paypal will give back the refund fee every time?

Your best course of action is still to reach out to our support team. https://help.braintreepayments.com


Support chain syntax

I'm exporting my controllers via angular using
angular
  .module('app')
  .controller('MyCtrl', MyCtrl)

decaffeinate doesn't support this syntax. I'm getting the error:
Error: BUG! Could not fix range for FunctionApplication at line 8, column 1
    at fixRange (/opt/boxen/nodenv/versions/v0.12.7/lib/node_modules/decaffeinate/lib/utils/parse.js:127:11)
    at /opt/boxen/nodenv/versions/v0.12.7/lib/node_modules/decaffeinate/lib/utils/parse.js:41:5
    at traverse (/opt/boxen/nodenv/versions/v0.12.7/lib/node_modules/decaffeinate/lib/utils/traverse.js:36:23)
    at /opt/boxen/nodenv/versions/v0.12.7/lib/node_modules/decaffeinate/lib/utils/traverse.js:31:9
    at Array.forEach (native)
    at descend (/opt/boxen/nodenv/versions/v0.12.7/lib/node_modules/decaffeinate/lib/utils/traverse.js:22:32)
    at traverse (/opt/boxen/nodenv/versions/v0.12.7/lib/node_modules/decaffeinate/lib/utils/traverse.js:39:5)
    at /opt/boxen/nodenv/versions/v0.12.7/lib/node_modules/decaffeinate/lib/utils/traverse.js:31:9
    at Array.forEach (native)
    at descend (/opt/boxen/nodenv/versions/v0.12.7/lib/node_modules/decaffeinate/lib/utils/traverse.js:22:32)

If I change it and put everything in the same line, it successfully converts this chunk of code.

This is due to a bug in CoffeeScriptRedux. It does parse it correctly, but decaffeinate depends on knowing the correct position and text content of all parts of the program. CSR sometimes does not give this information correctly, and this is one such case. I expect to see a MemberAccessOp with raw string value of angular\n  .module, but instead I get one with angular.module, which is not what is in the actual source code.
This would probably be fixed by switching to the official CoffeeScript project for parsing, which is something I've considered.

Hi, any update on this ?

Fixed in the latest version (repl).


Latex in github pages (by Dendron)

Is your feature request related to a problem? Please describe.
I use latex all the time, but the LaTex codes are not shown in the github page.
Describe the solution you'd like

LaTex code won't show in Github Pages
Describe alternatives you've considered
I looked up Stack Exchange and found this, but I've no idea how to use them.
https://stackoverflow.com/questions/26275645/how-to-support-latex-in-github-pages/55024889#55024889
Additional context
Thanks!

Hmm, thanks for the so link. Will take a look at it this week and see if this is something we can implement

shipped in 0.12.6


The EXCEL.exe process isn't always closed on exit

Appears that we need to call [System.Runtime.InteropServices.Marshal]::ReleaseComObject() to cleanup the excel COM objects.

an additional backup to make sure the excel process closes


Added GuiScrollBar()

Yesterday i sent you a message on Discord about this. I'll try to modify the other controls that need a scrollbar to use this.

Hey @Demizdor! Great addition! Really! Just did some small review.


[slider,tab @alpha.9-3] slider cannot be used within tab (verbose API)

Bug, feature request, or proposal:
Bug
What is the expected behavior?
MdSlider should work within tabs
What is the current behavior?
When a slider is used within a tab that uses the verbose API

Slider value is set to max allowed as soon as slider receives focus
thumbtack cannot be moved
slider value remains at max indefinitely

What are the steps to reproduce?
Just put a slider within a tab (see this plunk):
<md-tab-group>
  <md-tab>
     <template md-tab-label>Tab</template>
     <template md-tab-content>
          <md-slider min="0" max="20"></md-slider>
     </template>
  </md-tab>
</md-tab-group>

What is the use-case or motivation for changing an existing behavior?
bug-fixing
Which versions of Angular, Material, OS, browsers are affected?
Angular 2.0.1, Material 2 alpha 9-3
Is there anything else we should know?
I have not tested the compact tab-group API

duplicate of #1389


"Waiting dots" bug

There's a bug with those animated dots. The last one renders itself below to row, like this ➝ ⠍
Version: Messenger 0.1.9

This bug is still hanging out in version 0.1.10 as well.

Bug still present in 0.1.11.

I'm still seeing this too.

@thatchrismiller I don't think this is going to be fixed for a loooong time. Especially now that Facebook is piloting a dedicated desktop application.

@rsms any updates? 😏


api: Add convenience methods for Vertx calls

Simpler api, from: https://github.com/confluentinc/parallel-consumer/issues/180

Closing - Stale.


Does not load properly

When loading the datapack in 1.20.6, the following error occurs:
Couldn't load tag minecraft:placeable as it is missing following references: example:tiles (from file/painting-example-datapack)
This makes all paintings not placeable.

my bad: did not realize this was not supported for 1.20.6 - just 1.21


Not getting notification in Desktop Chrome

Hi,
I have implemented the web push notification using the web-push-PHP library and it is working well with Firefox, Chrome with Android (Mobile) but having an issue with desktop chrome.
I have checked multiple times the notification is popped up successfully in Firefox, Chrome with Android (Mobile) but in the desktop chrome, it does not popup.
[ Users can be subscribed successfully but not able to send the notification in desktop chrome]
I have print the response of
$webPush->sendNotification(
$notification['subscription'],
$notification['payload'] // optional (defaults null)
);
and its return 1 even though notification does not push to chrome desktop browser, if I push notification manually from crome-developer mode/application/service-worker then the notification will push.
operating system: Linux
PHP Version: 7.3

Could you check your chrome Application > Service Workers tab to check if you get an error when you deploy a push to it?


--audio_bitrate option not being applied

21w16a
Thanks for your answer!
But --audio_bitrate is not work,still 128k.I want to 192k
auto-editor  test.mp4 --keep_tracks_seperate --cut_by_this_track 1 --my_ffmpeg exportMediaOps --video_codec h264 --constant_rate_factor 20 --preset slow --video_bitrate 5000k --audio_codec aac --audio_bitrate 192k (out:128k)
auto-editor  test.mp4 --keep_tracks_seperate --cut_by_this_track 1 --my_ffmpeg exportMediaOps --video_codec h264  --constant_rate_factor 20 --preset slow --video_bitrate 5000k --audio_codec mp3 --audio_bitrate 192k (out:128k)
auto-editor  test.mp4 --keep_tracks_seperate --cut_by_this_track 1 --my_ffmpeg exportMediaOps --video_codec h264  --constant_rate_factor 20 --preset slow --video_bitrate 5000k --audio_codec copy --audio_bitrate 192k (out:can't play)
is there anything wrong?

origin Video

fps: 30.0

VFR:0.000551 (1/1813) min: 512 max: 1024 avg: 1024

duration: 60.533333
resolution: 1920x1080 (16:9)
video codec: h264
video bitrate: 3262k
audio tracks: 5

Track #0

codec: aac
samplerate: 44.1 kHz
bitrate: 193k

Track #1

codec: aac
samplerate: 44.1 kHz
bitrate: 191k

Track #2

codec: aac
samplerate: 44.1 kHz
bitrate: 193k

Track #3

codec: aac
samplerate: 44.1 kHz
bitrate: 2k

Track #4

codec: aac
samplerate: 44.1 kHz
bitrate: 2k

origin Video

fps: 30.0

VFR:0.000551 (1/1813) min: 512 max: 1024 avg: 1024

duration: 60.533333
resolution: 1920x1080 (16:9)
video codec: h264
video bitrate: 3262k
audio tracks: 5

Track #0

codec: aac
samplerate: 44.1 kHz
bitrate: 193k

Track #1

codec: aac
samplerate: 44.1 kHz
bitrate: 191k

Track #2

codec: aac
samplerate: 44.1 kHz
bitrate: 193k

Track #3

codec: aac
samplerate: 44.1 kHz
bitrate: 2k

Track #4

codec: aac
samplerate: 44.1 kHz
bitrate: 2k

Is there anyone can help me?

I can't program. But I think it's easy for you. Why just fix it?

When will you fix it? Can I have a time rather than I refresh every day?Thank you!

When will you fix it?

Yes, I will

I have been waiting for a long time.Could you please tech me fix this bug by myself?


Fix fuzzy search also looking through inactive articles

1. Why is this change necessary?
Fuzzy search is looking at all articles, even deactivated ones (which would not appear on the frontend)
2. What does this change do, exactly?
Added active=1 in the where clauses
3. Describe each step to reproduce the issue or behaviour.
Premise:
Multiple articles which react to a keyword. The first in the default sorting is inactive.
If you then in the frontend search for this keyword, the shop lists the search results. If you press enter or click Show all, shopware tries to show the deactivated article (which of course won't show up).
4. Please link to the relevant issues (if any).
Dunno
5. Which documentation changes (if any) need to be made because of this PR?
None, it is a bug fix
6. Checklist

[ ] I have written tests and verified that they fail without my change
[X] I have squashed any insignificant commits
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[X] I have read the contribution requirements and fulfil them.

hey @Algorithman
thanks for your contribution :+1:
would you mind adding a test for this in https://github.com/shopware/shopware/blob/5.7/tests/Functional/Controllers/Frontend/SearchTest.php ?

hey @Algorithman
after some discussion with my colleagues, we decided to not implement your PR in the current stage. The current behaviour of the search is intentional and informs customers about the deactivated product, if they search for the exact product number.
But we would be fine, if you implement an event, which makes this behaviour changeable for you. We are thinking about a filter event in line 179 right before the URL is assembled.
We hope this is still okay for you :slightly_smiling_face:
Thanks in advance :+1:

Hey @Algorithman
This PR was closed due to inactivity. If this change is still important to you, feel free to create a new pull request.
For more information about our contribution guidelines, see https://developers.shopware.com/contributing/contribution-guideline/.


black logo doesnt work

white NPR logo works fine. when i change it to black, it disappears.
was reported by<EMAIL_ADDRESS>i replicated on my machine: FF, OSX

Fixed by updating Illustrator svgs: fab38823f933a390d923b0adcf6c2c44e68ed02c


case-sensitive "keep-alive" causes errors

These clauses are case-sensitive.
That can lead to problems like the one I just caught.
[14:44:05.119] Elli request (pid #PID<0.407.0>) unexpectedly crashed:

{{:case_clause, "keep-alive"},
 [
   {:elli_http, :close_or_keepalive, 2,
    [file: ~c"c:/Projects/elli-4.0.0/src/elli_http.erl", line: 687]},
   {:elli_http, :handle_response, 3,
    [file: ~c"c:/Projects/elli-4.0.0/src/elli_http.erl", line: 148]},
   {:elli_http, :keepalive_loop, 5,
    [file: ~c"c:/Projects/elli-4.0.0/src/elli_http.erl", line: 83]},
   {:proc_lib, :init_p_do_apply, 3, [file: ~c"proc_lib.erl", line: 241]}
 ]}

Thanks, yea, it should probably downcase all headers when reading the request in the first place.


Unhandled command event type 210

Logged in simultaneously with the same account, same character. Crashed the client, but received "Unhandled command event type 210" at the same time.
Relates to #95

This event code doesn't relate at all to what I was doing and was a result of unspent packets. If it reappears we'll reopen a new issue; for now, this is closed.