env_file list order / precedence in docker-compose.yml

File: compose/compose-file/index.md, CC @londoncalling
Hey there! Please speak briefly to whether the env files towards the top or bottom of the list override env values that may be declared in multiple files. Thanks!

@shin- @dnephin can you address this question? I can add the details to the docs, but don't know the answer.

I'm not sure I understand the question. env always overrides env_file

@dnephin, given the following declaration in docker_compose.yml:
services:
  some-service:
    env_file:
      - a.env
      - b.env

And the following files:
# a.env
FOO=1

and
# b.env
FOO=hello

Will $FOO be 1 or hello?

The order of the files is significant, yes. It will be hello

Can we have this said explicitly on the docs please?

@alanjds This was already added explicitly to the docs in the Version 3 Compose file per the referenced PR ^^ #3517
I've added further clarification in #3822, and will go ahead and update v2 and v1 as well, in this case.

@londoncalling I see. Thanks.

Updates are merged, so this should be published soon. Thanks, @alanjds .

What about the .env file if it is not mentioned explicitly? Will overwrite the other files or is it will be overwritten?

Well, according to my observations:
Considering that:
# .env:
ENVVAR=.ENV

#other.env:
ENVVAR=OTHER

We have the following observations:
    env_file:
      - "other.env"
      - ".env"
#    environment:
#      - ENVVAR

The previous docker-compose.yml makes ENVVAR=.ENV
    env_file:
      - ".env"
      - "mailserver.env"
#    environment:
#      - ENVVAR

The previous docker-compose.yml makes ENVVAR=OTHER, which proves that the order of files matters.
    env_file:
#      - ".env"
      - "mailserver.env"
#    environment:
#      - ENVVAR

The previous docker-compose.yml makes ENVVAR=OTHER
    env_file:
      - ".env"
#      - "mailserver.env"
#    environment:
#      - ENVVAR

The previous docker-compose.yml makes ENVVAR=.ENV, which proves that the files mentioned in env_files are passed automatically to the container.
    env_file:
#      - ".env"
      - "mailserver.env"
#    environment:
      - ENVVAR

The previous docker-compose.yml makes ENVVAR=.ENV, which proves that the .env file will always override the other files mentioned in env_files if the variable name is mentioned in the environment, even if .env is included implicitly (by docker-compose convention).
    env_file:
      - ".env"
      - "mailserver.env"
#    environment:
      - ENVVAR

The previous docker-compose.yml makes ENVVAR=.ENV, which proves that the .env file will always override the other files mentioned in env_files if the variable name is mentioned in the environment, whatever the order of files in env_file is.


Ensure attached() and detached() are only called once for a given element when ocurring in multiple mutation trees

an element and parent may both appear in the mutation list, ensure that lifecycle events are only called once
i suppose weird things could happen if a given node appears both in removed and added nodes but i assume the browser ensures this can't happen

those .indexOf calls properly aren't the most performant on larger trees/mutation sets :neutral_face:


getCurrentActivity()在ReactContext中不是公共的; 无法从外部程序包中对其进行访问             return ((ReactContext) context).getCurrentActivity();

Observerd behavior
react-native-webrtc/android/src/main/java/com/oney/WebRTCModule/PermissionUtils.java:52: 错误: getCurrentActivity()在ReactContext中不是公共的; 无法从外部程序包中对其进行访问
return ((ReactContext) context).getCurrentActivity();
^
Steps to reproduce the problem
Platform information

React Native version :
0.55
Plugin version:
1.63.0
OS:
Android
OS version:
6.0

Can you please translate the error?

react-native-webrtc/android/src/main/java/com/oney/WebRTCModule/PermissionUtils.java:52: error: getCurrentActivity() is private function  in ReactContext
return ((ReactContext) context).getCurrentActivity();

Uh, I cannot repro that 😕

getCurrentActivity is not public 'com.facebook.react.bridge.React Context` cannot be accessed from outside package

It is: https://github.com/facebook/react-native/blob/master/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java#L336

Hi,
I am also getting the same error
react-native-webrtc/android/src/main/java/com/oney/WebRTCModule/PermissionUtils.java:52: error: getCurrentActivity() is private function in ReactContext
return ((ReactContext) context).getCurrentActivity();
Have you found the solution ?

What version of React Native are you using?
It would appear the function wasn't always public according to git history.

Hey,
I am using react-native 0.55.4 . Its the latest one.
On Fri, Aug 24, 2018 at 6:28 PM Johnathon Weaver<EMAIL_ADDRESS>wrote:

What version of React Native are you using?
It would appear the function wasn't always public according to git history.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/oney/react-native-webrtc/issues/474#issuecomment-415719820,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMWw4uEPtE9Y8TXabQrQ8v8bXbCS10XJks5uT9U9gaJpZM4U3elu
.

--
Regards,
Sumit Chaudhari
Software Engineer

Then you shouldn't be having the issue as the function is public.
Have you tried clearing out your node directory?

Yes I did everything I found on net. I saw your example too but that is
using 0.44 version of react native.
On Fri, Aug 24, 2018 at 6:30 PM Johnathon Weaver<EMAIL_ADDRESS>wrote:

Then you shouldn't be having the issue as the function is public.
Have you tried clearing out your node directory?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/oney/react-native-webrtc/issues/474#issuecomment-415720346,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMWw4iEakIdXeMbm9UMJMnKPsocd6x3sks5uT9W6gaJpZM4U3elu
.

--
Regards,
Sumit Chaudhari
Software Engineer

I haven't been able to reproduce the issue as of yet but you could try setting the targetSdkVersion to 22 as a temp fix then ensure you have the permissions set in your manifest.


Suggestion: Providing a way to generate connectable boxes

I see there is some preparation in the code for borders other than the four corners:
https://github.com/piotrmurach/tty-box/blob/94ebd8653e23d7e1b6f20d424ec419f7021de401/lib/tty/box.rb#L14-L17
But I could not find anything in the code to let me use these cross connectors and dividers.
Is there currently a way to draw boxes that connect nicely to each other, like this:
╔════════╦════════╗
║left    ║right   ║
╚════════╩════════╝

Instead of like this:
╔════════╔════════╗
║left    ║right   ║
╚════════╚════════╝

If there is none, I would like to cast my "+1" for having it.
I am sure you have already thought about it, but just in case, I would like to suggest one of two interfaces for the user to specify these borders:
Option 1: More intuitive, less flexible, probably more work
By specifying only the side of the box that should be connected, like:
puts TTY::Box.frame(top: 0, left: 9, width: 10, height: 3. connect: :left) { "right" }

will produce:
┬────────┐
│right   │
┴────────┘

and connect: [:left, :top] will produce:
┼────────┤
│right   │
┴────────┘

Option 2: Less intuitive, more flexible, probably less work
Instead of using the "magic" connect, maybe let the user specify explicitly which corners they need:
options = {
  top: 0, left: 9, width: 10, height: 3,
  corner1: :cross,
  corner4: :left_divider
}

# corners are indexed clockwise, starting from top left
# values can use the same names as the `*_char` methods

puts TTY::Box.frame(options) { "right" }

Hi Danny,
Thank you for this issue!
This is an extraction from a terminal game I've coded. It matched my requirements so I've cut an initial release. However, I do like tty components to be generalised and thought this will need to be flexible so as to allow construction of complex box layouts, similar to commander application - my childhood favourite 😄
Therefore, I was thinking about a single :border attribute that currently only allows to switch on and off main 4 borders (see border parser). I'm keen on great user experience and wouldn't like people having to count corners in their head. Similarly, the connect doesn't seem to address middle of the border dividers etc... Having said that, I'm sure tty-box could be extended to include your current thinking. For example, using the current :border attribute we could add more areas of the border with defaults:
options = {
  top: 0, left: 9, width: 10, height: 3,
  border: {
    top: :line, # doesn't need to be specified as default :line
    top_left: :cross, # or :corner
    top_mid: :divider, # or :line
    top_right: :cross # or :corner or the :triple thingy?
    etc...
  }
}

What do you think? Do you have time to submit PR we could be working towards?

Yes: The border attribute seems like the right place for this.
Maybe: I will have time to attempt implementation.

Implemented and released v0.3.0. Please see 2.5 border docs


Make TLSv1.2 as the default minimum TLS version for istiod

Describe the feature request
Currently, the istiod server supports TLS versions 1.0, 1.1, 1.2, and 1.3. This comes from the following golang package used in Istio: https://golang.org/pkg/crypto/tls/
However, TLSv1.0 and TLSv1.1 are weak & vulnerable protocols and are recommended NOT to be used. According to the 3GPP standards, TLSv1.2 should be the minimum, and here is the statement from the document mentioning the same:
TLS versions
- SSL 1.0, SSL 2.0, SSL 3.0, TLS 1.0, TLS 1.1 [67] and DTLS 1.0 shall not be supported.
- TLS 1.2 as specified in RFC 5246 [50] shall be supported. TLS 1.3 as specified in RFC 8446 [66] shall be supported. If DTLS is supported then DTLS 1.2 as specified in RFC 6347 [49] shall be supported.

A NIST publication (https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-52r2.pdf ) also mentions the same:
Servers that support government-only applications shall be configured to use TLS 1.2 andshould be configured to use TLS 1.3 as well. These servers should not be configured to use TLS1.1 and shall not use TLS 1.0, SSL 3.0, or SSL 2.0.
Describe alternatives you've considered
I was able to set this by adding the following TLS config while initializing the secure GRPC server.(https://github.com/istio/istio/blob/master/pilot/pkg/bootstrap/server.go)
cfg := &tls.Config{
		GetCertificate: s.getIstiodCertificate,
		ClientAuth:     tls.VerifyClientCertIfGiven,
                MinVersion:     tls.VersionTLS12,
                .
                .

With this configuration, as expected, I was later unable to query port 15012 of istiod for example, with TLSv1.0 or 1.1.
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[X ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

Resolved in PR #31705


Using win32gui.GetSaveFileNameW() crashes application

Using Cython 0.29.14 on Windows 7 and python 3.7 (x64)
When using
logger.info('win32gui.GetSaveFileNameW')
logger.info(f'win32gui:{win32gui}')
logger.info(f'GetSaveFileNameW:{win32gui.GetSaveFileNameW}')
file_name, _, _ = win32gui.GetSaveFileNameW()

application crashes.
From logging I see that module and function are found but calling the function crashes the app.
      5000 test                 5444  (unknown function)                win32gui.GetSaveFileNameW
      5000 test                 5444  (unknown function)                win32gui:<module 'win32gui' from 'D:\\...\\Python\\Python37_64\\lib\\site-packages\\win32\\win32gui.pyd'>
      5014 test                 5444  (unknown function)                GetSaveFileNameW:<built-in function GetSaveFileNameW>

Just for the record, the python path from the log is the one used to compile the dll.
So it shouldn't be a problem with different python versions.

Does not happen when using latest cython 3.0 version.


tiramisu: 1.0 -> unstable-2021-05-18

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
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)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 123703 at b3322e6f run on x86_64-linux 1

2 packages built successfully:

tests.trivial
tiramisu

Result of nixpkgs-review pr 123703 1

2 packages built:

tests.trivial
tiramisu

Should be good to merge, since the bug was fixed upstream.


Use Google Cloud Storage as a target

Hi iceberg and Kafka connect folks 👋 ,
I am assessing how I can leverage this connector in our Google cloud infrastructure.
As of now the connector works for s3 protocol, fortunately GCS is compatible with S3 protocol
I have been testing credentials and variables using gsutil in interoperability mode and aws CLI.
I am able to list and get my objects with both which means my credentials, variables and permissions are correct.
However I am getting this error: Caused by: software.amazon.awssdk.services.s3.model.S3Exception: Access denied. (Service: S3, Status Code: 403, Request ID: null) (full stacktrace here).
does anyone have a clue of how I can make it work ?
Here is the configuration I use (we use this terraform provider for our connectors)
resource "kafka-connect_connector" "kafka-to-iceberg-test" {

  name = "kafka-to-iceberg-test"
  config = {
    "name"                                 = "kafka-to-iceberg-test"
    "connector.class"                      = "io.tabular.iceberg.connect.IcebergSinkConnector"
    "tasks.max"                            = "2"
    "topics"                               = "###"
    "iceberg.tables"                       = "###"
    "iceberg.tables"                       = "default.events"
    "auto.create.topics.enable" = true
    "value.converter"                = "org.apache.kafka.connect.json.JsonConverter"
    "schemas.enable" =false
    "value.converter.schemas.enable"= "false"
    "iceberg.tables.upsert-mode-enabled"   = false
    "iceberg.tables.auto-create-enabled"   = true
    "iceberg.tables.evolve-schema-enabled" = true
    "iceberg.control.commit.interval-ms"   = 60000
    "iceberg.control.commit.timeout-ms"    = 60000
    "iceberg.catalog.catalog-impl"         = "org.apache.iceberg.nessie.NessieCatalog",
    "iceberg.catalog.uri"                  = "####",
    "iceberg.catalog.ref"                  = "main",
    "iceberg.catalog.io-impl"              = "org.apache.iceberg.aws.s3.S3FileIO"
    "iceberg.catalog.warehouse"            = "gs://random-bucket/"
    "iceberg.catalog.s3.endpoint"          = "https://storage.googleapis.com"
    "iceberg.catalog.s3.access-key-id"     = "###"
    "iceberg.catalog.s3.secret-access-key" = "###"
  }
}

Have you tried using GCSFileIO instead of S3FileIO? This is what we use in our systems to write to GCS.

Hey @bryanck,
org.apache.iceberg.gcp.gcs.GCSFileIO worked well, thanks a lot !
Interestingly, write to GCS fail because of permission errors. It is using my GKE service account rather than the service account I configured 🤔
{\n    \"code\": 403,\n    \"message\"<EMAIL_ADDRESS>does not have storage.objects.create access to the Google Cloud Storage object. Permission 'storage.objects.create' denied on resource (or it may not exist).\",

You may need to set the environment variable GOOGLE_APPLICATION_CREDENTIALS to point to the location of your credentials file.

https://github.com/tabular-io/iceberg-kafka-connect/pull/169


Data results appear as 'undefined'

Data results below visualisation appear as 'undefined' when field name contains a dot.
Expected results
When there is no dot in field name, data results below visualisation contain values from dataset, as is expected.

Actual results
However, when field name contains a dot (field.name for example), values from this field appear as undefined in data results.
Note that it seems to be the case only in data results shown below visualisation, the request in SQL Lab or the actual visualisation are not affected and return the expected values.

How to reproduce the bug

Create a dataset with a . in one field name, on TimeScale DB
Create any chart using that field
Look at Data Results below chart

Environment
(please complete the following information):

superset version: 1.0.1

Does this happen on other DB engines, or just TimeScale?

https://github.com/apache/superset/pull/15817
resolved by ^ thanks @zhaoyongjie closing issue


Dice Rolling Simulator

Describe the project you want to add with tech stack
Python
Expected behavior
A simple project which will ask the user if he or she wants to roll the dice or not. If yes, then the computer will roll a random dice and project its output.
Screenshots (optional)
Additional context (optional )
A program which can be used in a fun way to play dice game with your friends (especially if you doubt the physical dice used )

@pranjay-poddar please assign me this issue


Deploy Grafana's operator group first

The operator group should get deployed before the subscription, otherwise we are getting:
failed to populate resolver cache from source
operatorgroup-unavailable/appstudio-grafana:
found 0 operatorgroups in namespace appstudio-grafana: expected 1

The deployment is working. I'll merge it now for unblocking other prs.


Delete backup sed file in proto compile script

This file isn't necessary (the backup version is invalid) and results in
an untracked file being created that should not be checked into changes.
It should be removed instead of ignored because of its invalidity.

Alternatively, maybe we can use the sed command without creating the backup file. I think last time I tried that I ran into compatibility issues though, so removing the file seems like a reasonable approach.


Remove aria-controls

What:
Remove aria-controls from the getTogglerProps method.
Why:
aria-controls only work in JAWS, and aren't particularly useful anyway (see "aria-controls is poop". It's better to let users of the library choose to apply this attribute manually if they have a need for it. Relates #9
How:
I removed the attribute from the props object returned by getTogglerProps, then updated the snapshots.
Checklist:

[ ] Documentation N/A
[x] Tests
[x] Ready to be merged
[x] Added myself to contributors table

Thanks so much for your help! I've added you as a collaborator on the project. Please make sure that you review the other/MAINTAINING.md and CONTRIBUTING.md files (specifically the bit about the commit messages and the git hooks) and familiarize yourself with the code of conduct (we're using the contributor covenant). You might also want to watch the repo to be notified when someone files an issue/PR. Please continue to make PRs as you feel the need (you can make your branches directly on the repo rather than your fork if you want). Thanks! And welcome to the team :)

@kentcdodds Amazing, thank you! And thanks for being so welcoming/making it so easy for newcomers to get involved on your projects ❤


update travis

Tidy the .travis.yml to cover Python 2.7, 3.6 and 3.7, and also use the minimal Travis CI image with the xenial distribution.

@pp-mo Fancy taking a peek at this PR? :wink:

Pull Request Test Coverage Report for Build 98

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+7.1%) to 96.765%

Totals

Change from base Build 90:
7.1%

Covered Lines:
317

Relevant Lines:
328

💛  - Coveralls

@pp-mo Awesome, thanks :+1:


Align function signatures

Currently we have a couple of different ways of invoking the functions the library provides. For instance the DNS related functions all take the related zone as a string in the input, the WAF related functions take a zone ID as input and the cache purge and ZoneDetails() methods take a Zone struct as input.
We should probably come to some conclusion of how we want users to interact with the library, and make sure the functions follow that. It will also make it more clear how the function signatures of future functions will look as we get them implemented.
I am suggesting we take a Zone struct as input where possible, it will put the load of looking up the zone on the user, but also means the user is able to cache it however they want, keeping the library leaner and "less magical". Another approach would be to always work on the zone ID, since that is the bare minimum we would need in order to interact with the API. Thoughts?

Initially I wanted as little friction as possible for users of the library/API so thought it made more sense, in most cases, to pass in the zone name and have the function do the zone ID lookup for you. There were one or two cases where it seemed to make more sense to use the object instead.
I do agree that this needs cleaning up and made more consistent.

Q: What benefit does passing Zone as the function argument give (today, and in the future) if we require the user to do the name => ID lookup prior?
I 100% agree that rationalizing the function signatures is useful, and would be OK with a functions accepting a zoneID string instead of a zoneName string.
We can provide a helper function around the API—ZoneByName(zoneName string) (string, error) via GET /zone?name=$name—that returns the zoneID for the package user to cache locally and then pass to functions as needed.

Accepting Zone instead of a zone ID would mean we could check if the plan of a zone allow an action to be made, without firing a request to the API. That's the only thing I could think of from the top of my head, and may not be enough reason to require users to use Zone everywhere.
I think accepting the zone ID as a string would be the best option then.

This was done in #22.


Create a submission branch for v3.1

[x] to have updated Samsung backend, https://github.com/mlcommons/mobile_app_open/pull/762
[x] random number seeds (get them from the main inference group), https://github.com/mlcommons/inference/commit/f7df3acb6880b6b3a92cd5a444d173137aa5d8ca
[x] update loadgen version to 3.1? it seems there is nothing new, https://github.com/mlcommons/inference/commit/2da0c52666e21e4b296b09e1dbd287bf3a814e96

I think these issues should be resolved (PRs merged) before creating the v3.1 branch:

https://github.com/mlcommons/mobile_app_open/issues/748
https://github.com/mlcommons/mobile_app_open/pull/761
https://github.com/mlcommons/mobile_app_open/pull/758

please test https://github.com/mlcommons/mobile_app_open/pull/761 and  #764, mostly they are supposed to just work. Let's test them anyway.

After report for the #764 (by @AhmedTElthakeb) and #761 (by all the vendors), we should be able to merge #765 and create the 3.1 submission branch.

As discussed, we all should test the APK from the master branch.
The APK can be downloaded by clicking on the green check mark > App Build Details > Summary:

The 2023-08-08_mlperfbench-39d5152-qsmgt.apk

[ ] mtk: reported by @freedomtan "yes, it works as expected on some mediatek inside devices I test"
[ ] qti:
[ ] samsung:

Starting commit https://github.com/mlcommons/mobile_app_open/commit/b086d99d1786ca2599ea19f69fa4456d3500c5ed upnormal behavior is observed on Samsung devices. With starting the app, a white screen shows up, after a while the screen shows an error message that "some resources failed to load ...", if I clear the cache, I could run okay.
Please note that I tested https://github.com/mlcommons/mobile_app_open/pull/764 independently, it works fine.

@AhmedTElthakeb Is the error message shown every time the app starts? Can you reproduce the issue? Sometimes, when downloading resources (images, models) from the internet, a file may be corrupted, it will show that message. With clearing the cache, the files will be redownloaded.

@AhmedTElthakeb Regarding the white or black screen is shown at app start, this PR https://github.com/mlcommons/mobile_app_open/pull/770 will fix it. Thanks for the bug hint.

@mohitmundhragithub We're trying to have the 3.1 branch created this week. Please check if we can do it after #770.

https://github.com/mlcommons/mobile_app_open/commits/submission-v3.1

@mohitmundhragithub We're trying to have the 3.1 branch created this week. Please check if we can do it after #770.
If we didn't get the response before the group meeting on Wed, we'll just go ahead creating the branch.

this seems to be working fine.

The branch seems to be ok, but i found few issues with the qti settings file, which is good to merge as well. not mandatory though, as these changes will come as part of our submission as well.
https://github.com/mlcommons/mobile_app_open/pull/773

it's done


Migrate layout-full to CSS grid

Additions

Added u-layout-grid_breakout class for blocks that bleed out of the CSS grid to the browser window edge.

Changes

Add block around /consumer-tools/retirement/before-you-claim/about/ content area to fix problem where content bottom was erroneously flush.

How to test this PR

These pages use the layout full template.
Run ALLOW_ADMIN_URL=1 cfgov/manage.py runserver --insecure
To test the 404 template: visit http://localhost:8000/something-that-doesnt-exist/
To test the 500 template: visit http://localhost:8000/admin/failwhale/

Before you claim - Added block to content are to fix issue where there was no padding at the bottom of the content area.
http://localhost:8000/consumer-tools/retirement/before-you-claim/about/

Also it looks like the iregs search loses some padding:

before
after

@contolini updates are in
rate explorer/kbyo
https://github.com/cfpb/consumerfinance.gov/pull/8164/commits/b59c1691524a7578c5f62b0a53a3c5ab4e74bdcb
iregs search
https://github.com/cfpb/consumerfinance.gov/pull/8164/commits/9f8ddf2795c41b16e8d4245ac04a714dd574bee9
TDP
https://github.com/cfpb/consumerfinance.gov/pull/8164/commits/b714e22bde0dd29822fad24bafef08e432a0de25
ty ty ty!!

FYI I rewrote the rate explorer brand footer in flexbox to reduce the styles. One consequence of this is the items in the footer wrap a little different across screen sizes. I think it's fine.


data wranging - rjava install issue

User was unable to install rjava. Something about couldn't find java home? They were using a PC.

There's not really anything we can do about this directly. It seems to stem from users have an incongruent version of Java (i.e., 32-bit). Both Java and R should be 64-bit for this to work. We already had a notice about this, but I made the error and solution more explicit and included links to more resources on the issue.


Product List Block doesn't show original price for discount rules

Hi,
After enabling a % discount rule, the product list block shows only the discounted price only. Unlike when applying sale price to the product where it shows original and discounted price.
I believe when enabling % discount rule, the original price should be visible next to the discounted price.

I'm in two minds about this. A discount doesn't necessarily have to be due to a promotion or sale, it could be due to something like a membership discount. In those cases, you may or may not want to actually bring attention to the original price at all, or you might have different sets of users with different discount amounts. The product list block showing the discounted rate was intentional.
But I also understand there are going to be times where you want to do '20% of storewide this weekend', and directly show the specific discounts involved, and in those cases it's not practical to review every product and set a sale price.
Will give it some thought

It's always nice to show before and after price... kinda of making end user motivated to buy..just saying

I disagree, there are some use cases where the original price should not be shown.  I have a few clients where this was specifically requested.  In these cases the discount is different for each member, and they don't have public pricing. Showing the base price in this case would be a bad idea since they don't sell to guests, you have to be a member. They negotiate the price based on a % of their base price, but their members have no idea what that base price is and they don't want them to know.  All their members know is that they are getting the contracted price.
I would say that it might be nice to have a toggle in the discount to pick one way or the other, but I'm not sure if there is enough use case to warrant the time to add this function.  I have never looked at the code on how this is done, but you might want to look into customizing the block code or something to make it do what you want.

Haven’t heard of your particular used case. If we look at majority of global online stores you will find my used case all over the place. Your client has his own strategy so do everybody else.
That being said , Customizing the block code or adding the toggle option is the way to go I would say.

I was able to show discounts with the original price on any discount.
www.mytinytown.com My test site. (Sorry the site is a little slow)
Check featured items on the main page at the bottom.
Add anything to the cart
Use code 50Off
Then check things out, see the discount now show everyplace (check the featured section again). If you want to complete an order you can, it uses invoice as a payment option, and again it is my test site. That way you can see that is shows the discount through the full process.


Fix moduleAliases to work with builds

This feature works for skyux serve but not for skyux build.

Codecov Report

Merging #519 into master will not change coverage.
The diff coverage is 100%.

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


[Bug] VSCode Integration Not Working

🐞 Describe the Bug
VSCode is not showing Prettier errors in gjs files, but does in js files

However, the prettier plugin is working, as it can be successfully invoked from the commandline:
nfurniss: bs-proj (master) $ yarn prettier app/components/test.gjs
yarn run v1.22.10
$ code/bs-proj/node_modules/.bin/prettier app/components/test.gjs
app/components/test.gjs
const q
= 123;
= 123;
const q = 123;

<template>
  <Foo />"lol"
</template>
✨  Done in 0.77s.

🔬 Minimal Reproduction
Repro repo: https://github.com/nlfurniss/bs-proj/commit/61a82ea408820c3ddf4d058a282c2287c914c317
😕 Actual Behavior
No red squiggles in VSCode
🤔 Expected Behavior
Red squiggles in VSCode
🌍 Environment

prettier-plugin-ember-template-tag version: - ^0.2.1
ember-template-imports version: - ^3.4.0

➕ Additional Context
Installed VSCode plugins:

ESLint
Prettier - Code formatter
vscode-glimmer

Sounds like you might be running Prettier as a linter rule via ESLint and eslint-plugin-ember. If so, this sounds like  https://github.com/ember-cli/eslint-plugin-ember/issues/1659

Oh so is the issue that the error w/using eslint-plugin-prettier w/this plugin throws an error thats silently causing the red squiggles to not show?
I can do Format Document in VSCode just fine (with and without the eslint prettier plugin)

Oh so is the issue that the error w/using eslint-plugin-prettier w/this plugin throws an error thats silently causing the red squiggles to not show?

Most likely this, yes. What happens when you try to run eslint? I would expect one of the issues mentioned in https://github.com/ember-cli/eslint-plugin-ember/issues/1659
I think Format Document uses straight prettier.format(), which works fine.

Oh so is the issue that the error w/using eslint-plugin-prettier w/this plugin throws an error thats silently causing the red squiggles to not show?

Most likely this, yes. What happens when you try to run eslint? I would expect one of the issues mentioned in ember-cli/eslint-plugin-ember#1659
I think Format Document uses straight prettier.format(), which works fine.

Oddly no...
nfurniss: bs-proj (master) $ node_modules/eslint/bin/eslint.js app/components/test.gjs

/Users/nfurniss/code/bs-proj/app/components/test.gjs
  1:7   error  'q' is assigned a value but never used                                                                                no-unused-vars
  1:1   error  Replace `⏎` with `·`                                                                                prettier/prettier
  0:0   error  Replace `__GLIMMER_TEMPLATE(`<Foo·/>"lol"`,·{·strictMode:·true,·scope:·()·=>·({Foo})·})]` with `⏎··__GLIMMER_TEMPLATE(`<Foo·/>"lol"`,·{⏎····strictMode:·true,⏎····scope:·()·=>·({·Foo·}),⏎··}),⏎]⏎`  prettier/prettier
  4:12  error  'Foo' is not defined                                                                                no-undef


Error when build platform is Linux.

My environment and setup
VisualStudio: 2017
Platform: Windows 10
UnrealEngine: Custom compiled from github 4.21.2
Issue
Hi, you was make a great job guys. Your plugin compiling for me with Windows platform selected, but when i trying to change and compile  Linux platform(dedicated server), compiler throw next errors
<gamedir>/Plugins/InfraworldRuntime/GrpcIncludes/third_party/protobuf/src\google\protobuf/stubs/port.h(98,10): error : non-portable path to file '<ByteSwap.h>'; specified path differs in case from file name on disk [-Werror, -Wnonportable-include-path]
#include <byteswap.h> // IWYU pragma: export
         ^~~~~~~~~~~~
         <ByteSwap.h>

<gamedir>/Plugins/InfraworldRuntime/GrpcIncludes/third_party/protobuf/src\google\protobuf/stubs/port.h(481,47): error : use of undeclared identifier 'bswap_16'
... //other similar errors about undeclared identifier bswap16/bswap32/bswap64

My attempts to fix
I was try to rename byteswap to ByteSwap but nothing did changes. I think clang(v12_clang-6.0.1-centos7) compiler can't understand how include this file.
Also i was try add warning flag in BuildTool for non-portable path to file error, but undeclared identifier errors not gone.
Additional
I just took precompiled binaries from your latest releases. Binaries for Windows and Linux too. I put them to GrpcLibraries and GrpcPrograms folders for both platforms.

Hello there @LucasNova thanks for choosing our library! We don't do linux builds on windows machines, so the first thing I personally can recommend is to try to build your dedicated server on linux dedicated node (or virtual machine) it seems to work fine.
Both grpc and protobuf were hard to be built for UE4. There are many macros in the port.h source file, and I don't know what UE4 exactly exports. Maybe there's no available byteswap.h at all in the cross-compilation mode. But if you think you've found a solution - feel free to comment.
Hope this helped. Sincerely, Roman.

Thanks @RChehowski , i'll check building on Linux machine soon as possible. I'll post here about my progression. Who knows, maybe i'll find windows solution later.

Hey!
First of all thank you for the great work you've done on this plugin, it has really helped me get to grips with integrating gRPC into UE4.
I encountered the same issue with byteswap.h when cross compiling for Linux on Windows and it seems to be because the UE4 Core module includes a ByteSwap.h. This is then picked up instead of the version in the Linux cross compile tool chain and because the ByteSwap.h in the Core module doesn't define bswap_16, bswap_32 or bswap_64 you get those errors.
I'm open to suggestions on how best to fix this, however, one way that works is to perform the following modification to the port.h header.
// google/protobuf/stubs/port.h
//
// ByteSwap.h is defined in the UE4 core module and conflicts with cross compile version.
//
// Original code
//
// #include <byteswap.h>  // IWYU pragma: export
//
// New code
//
#include <bits/byteswap.h>
#define bswap_16(x) __bswap_16 (x)
#define bswap_32(x) __bswap_32 (x)
#define bswap_64(x) __bswap_64 (x)

Hope that helps somebody!

I'm tring to run InfraruntimeExaple on Linux (Ubuntu 18.04) UE4.27.2
Running /home/brtx/Desktop/UnrealEngine-4.27.2-release/Engine/Binaries/DotNET/UnrealBuildTool.exe Development Linux -Project="/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/InfraworldDemo.uproject" -TargetType=Editor -Progress

Running Mono...

Fixing inconsistent case in filenames.
Setting up Mono
~/Desktop/UnrealEngine-4.27.2-release/Engine ~/Desktop/UnrealEngine-4.27.2-release/Engine/Binaries/Linux
Using 'git status' to determine working set for adaptive non-unity build (/home/brtx/Desktop/UnrealEngine-4.27.2-release).
Using 'git status' to determine working set for adaptive non-unity build (/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27).
Creating makefile for InfraworldDemoEditor (no existing makefile)
Headers:
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/GrpcIncludes/include
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/GrpcIncludes/third_party/protobuf/src
Libs:
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/GrpcLibraries/Linux/libaddress_sorting.a
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/GrpcLibraries/Linux/libares.a
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/GrpcLibraries/Linux/libgpr.a
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/GrpcLibraries/Linux/libgrpc++.a
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/GrpcLibraries/Linux/libgrpc++_core_stats.a
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/GrpcLibraries/Linux/libgrpc++_error_details.a
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/GrpcLibraries/Linux/libgrpc++_reflection.a
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/GrpcLibraries/Linux/libgrpc++_unsecure.a
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/GrpcLibraries/Linux/libgrpc.a
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/GrpcLibraries/Linux/libgrpc_cronet.a
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/GrpcLibraries/Linux/libgrpc_plugin_support.a
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/GrpcLibraries/Linux/libgrpc_unsecure.a
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/GrpcLibraries/Linux/libgrpcpp_channelz.a
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/GrpcLibraries/Linux/libprotobuf.a
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/GrpcLibraries/Linux/libprotoc.a
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/GrpcLibraries/Linux/libz.a
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/Source/InfraworldRuntime/InfraWorldRuntime.Build.cs: warning: Modules must specify an explicit precompiled header (eg. PrivatePCHHeaderFile = "Public/ChannelCredentials.h") from UE 4.21 onwards.
@progress push 5%
Creating makefile for UnrealHeaderTool (no existing makefile)
@progress push 5%
@progress pop
------- Build details --------
Using toolchain located at '/home/brtx/Desktop/UnrealEngine-4.27.2-release/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v19_clang-11.0.1-centos7/x86_64-unknown-linux-gnu'.
Using clang (/home/brtx/Desktop/UnrealEngine-4.27.2-release/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v19_clang-11.0.1-centos7/x86_64-unknown-linux-gnu/bin/clang++) version '11.0.1' (string), 11 (major), 0 (minor), 1 (patch)
Using bundled libc++ standard C++ library.
Using lld linker
Using llvm-ar : /home/brtx/Desktop/UnrealEngine-4.27.2-release/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v19_clang-11.0.1-centos7/x86_64-unknown-linux-gnu/bin/llvm-ar
Using fast way to relink  circularly dependent libraries (no FixDeps).
------------------------------
Parsing headers for InfraworldDemoEditor
  Running UnrealHeaderTool "/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/InfraworldDemo.uproject" "/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Intermediate/Build/Linux/B4D820EA/InfraworldDemoEditor/Development/InfraworldDemoEditor.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -abslog="/home/brtx/Desktop/UnrealEngine-4.27.2-release/Engine/Programs/UnrealBuildTool/Log_UHT.txt"
LogInit: Display: Loading text-based GConfig....
Reflection code generated for InfraworldDemoEditor in 2.5961344 seconds
@progress pop
------- Build details --------
Using toolchain located at '/home/brtx/Desktop/UnrealEngine-4.27.2-release/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v19_clang-11.0.1-centos7/x86_64-unknown-linux-gnu'.
Using clang (/home/brtx/Desktop/UnrealEngine-4.27.2-release/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v19_clang-11.0.1-centos7/x86_64-unknown-linux-gnu/bin/clang++) version '11.0.1' (string), 11 (major), 0 (minor), 1 (patch)
Using bundled libc++ standard C++ library.
Using lld linker
Using llvm-ar : /home/brtx/Desktop/UnrealEngine-4.27.2-release/Engine/Extras/ThirdPartyNotUE/SDKs/HostLinux/Linux_x64/v19_clang-11.0.1-centos7/x86_64-unknown-linux-gnu/bin/llvm-ar
Using fast way to relink  circularly dependent libraries (no FixDeps).
------------------------------
Building InfraworldDemoEditor...
[Upgrade]
[Upgrade] Using backward-compatible build settings. The latest version of UE4 sets the following values by default, which may require code changes:
[Upgrade]     bLegacyPublicIncludePaths = false                 => Omits subfolders from public include paths to reduce compiler command line length. (Previously: true).
[Upgrade]     ShadowVariableWarningLevel = WarningLevel.Error   => Treats shadowed variable warnings as errors. (Previously: WarningLevel.Warning).
[Upgrade]     PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs   => Set in build.cs files to enables IWYU-style PCH model. See https://docs.unrealengine.com/en-US/Programming/BuildTools/UnrealBuildTool/IWYU/index.html. (Previously: PCHUsageMode.UseSharedPCHs).
[Upgrade] Suppress this message by setting 'DefaultBuildSettings = BuildSettingsVersion.V2;' in InfraworldDemoEditor.Target.cs, and explicitly overriding settings that differ from the new defaults.
[Upgrade]
Performing 13 actions (12 in parallel)
[8/13] Compile InfraworldDemoCharacter.gen.cpp
[3/13] Compile InfraworldDemo.cpp
[7/13] Compile InfraworldDemo.init.gen.cpp
[5/13] Compile InfraworldDemoGameMode.cpp
[6/13] Compile VizorDemonstration.cpp
[1/13] Compile Module.InfraworldRuntime.cpp
[10/13] Compile VizorDemonstration.gen.cpp
[2/13] Compile Module.InfraworldRuntime.gen.cpp
[4/13] Compile InfraworldDemoCharacter.cpp
[9/13] Compile InfraworldDemoGameMode.gen.cpp
In file included from /home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Intermediate/Build/Linux/B4D820EA/UE4Editor/Inc/InfraworldDemo/VizorDemonstration.gen.cpp:8:
In file included from /home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Source/InfraworldDemo/VizorDemonstration.h:13:
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/Source/InfraworldRuntime/Public/RpcClient.h:139:40: error: copying member subobject of type 'TAtomic<FRunnableThread *>' invokes deleted constructor
    TAtomic<FRunnableThread*> Thread = nullptr;
                                       ^~~~~~~
/home/brtx/Desktop/UnrealEngine-4.27.2-release/Engine/Source/Runtime/Core/Public/Templates/Atomic.h:590:2: note: 'TAtomic' has been explicitly marked deleted here
        TAtomic(TAtomic&&) = delete;
        ^
1 error generated.
In file included from /home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/InfraworldRuntime/Module.InfraworldRuntime.cpp:5:
In file included from /home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/Source/InfraworldRuntime/Private/RpcClient.cpp:16:
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/Source/InfraworldRuntime/Public/RpcClient.h:139:40: error: copying member subobject of type 'TAtomic<FRunnableThread *>' invokes deleted constructor
    TAtomic<FRunnableThread*> Thread = nullptr;
                                       ^~~~~~~
/home/brtx/Desktop/UnrealEngine-4.27.2-release/Engine/Source/Runtime/Core/Public/Templates/Atomic.h:590:2: note: 'TAtomic' has been explicitly marked deleted here
        TAtomic(TAtomic&&) = delete;
        ^
In file included from /home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Source/InfraworldDemo/VizorDemonstration.cpp:8:
In file included from /home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Source/InfraworldDemo/VizorDemonstration.h:13:
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/Source/InfraworldRuntime/Public/RpcClient.h:139:40: error: copying member subobject of type 'TAtomic<FRunnableThread *>' invokes deleted constructor
    TAtomic<FRunnableThread*> Thread = nullptr;
                                       ^~~~~~~
/home/brtx/Desktop/UnrealEngine-4.27.2-release/Engine/Source/Runtime/Core/Public/Templates/Atomic.h:590:2: note: 'TAtomic' has been explicitly marked deleted here
        TAtomic(TAtomic&&) = delete;
        ^
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Source/InfraworldDemo/VizorDemonstration.cpp:14:10: fatal error: 'Wrappers/proto\vizor_demonstration/vizor_demonstration.pb.hpp' file not found
#include "Wrappers/proto\vizor_demonstration/vizor_demonstration.pb.hpp"
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2 errors generated.
In file included from /home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/InfraworldRuntime/Module.InfraworldRuntime.gen.cpp:5:
In file included from /home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/Intermediate/Build/Linux/B4D820EA/UE4Editor/Inc/InfraworldRuntime/RpcClient.gen.cpp:8:
/home/brtx/Desktop/infraworld/InfraworldRuntimeExample 4.27/Plugins/InfraworldRuntime/Source/InfraworldRuntime/Public/RpcClient.h:139:40: error: copying member subobject of type 'TAtomic<FRunnableThread *>' invokes deleted constructor
    TAtomic<FRunnableThread*> Thread = nullptr;
                                       ^~~~~~~
/home/brtx/Desktop/UnrealEngine-4.27.2-release/Engine/Source/Runtime/Core/Public/Templates/Atomic.h:590:2: note: 'TAtomic' has been explicitly marked deleted here
        TAtomic(TAtomic&&) = delete;
        ^
1 error generated.
1 error generated.

Current you can compile  Infraruntime on Linux ??
because I found issue like you when I compile cross platform on window
ActionGraph.IsActionOutdated: VirtualWorld.target: Produced item "VirtualWorld.target" doesn't exist.
ActionGraph.IsActionOutdated: Module.InfraworldRuntime.cpp: Produced item "Module.InfraworldRuntime.cpp.o" doesn't exist.
ActionGraph.IsActionOutdated: UE4API.pb.cc: Produced item "UE4API.pb.cc.o" doesn't exist.
ActionGraph.IsActionOutdated: UE4API.pb.cc: Produced item "UE4API.pb.cc.d" doesn't exist.
ActionGraph.IsActionOutdated: Module.InfraworldRuntime.cpp: Produced item "Module.InfraworldRuntime.cpp.d" doesn't exist.
ActionGraph.IsActionOutdated: Module.InfraworldRuntime.gen.cpp: Produced item "Module.InfraworldRuntime.gen.cpp.d" doesn't exist.
ActionGraph.IsActionOutdated: Module.VirtualWorld.cpp: Produced item "Module.VirtualWorld.cpp.d" doesn't exist.
ActionGraph.IsActionOutdated: Module.VirtualWorld.gen.cpp: Produced item "Module.VirtualWorld.gen.cpp.d" doesn't exist.
BuildMode.Build: Building VirtualWorld...
ParallelExecutor.ExecuteActions: Building 9 actions with 16 processes...
ParallelExecutor.ExecuteActions:   [1/9] SharedPCH.Engine.ShadowErrors.h
ParallelExecutor.ExecuteActions:   [2/9] Module.InfraworldRuntime.gen.cpp
ParallelExecutor.ExecuteActions:   In file included from D:/WorkingOutput/VW/VirtualWorld/Plugins/InfraworldRuntime/Intermediate/Build/Linux/B4D820EA/UE4/Development/InfraworldRuntime/Module.InfraworldRuntime.gen.cpp:5:
ParallelExecutor.ExecuteActions:   In file included from D:/WorkingOutput/VW/VirtualWorld/Plugins/InfraworldRuntime/Intermediate/Build/Linux/B4D820EA/UE4/Inc/InfraworldRuntime/RpcClient.gen.cpp:8:
ParallelExecutor.ExecuteActions:   D:\WorkingOutput\VW\VirtualWorld\Plugins\InfraworldRuntime\Source\InfraworldRuntime\Public\RpcClient.h(139,40): error: copying member subobject of type 'TAtomic<FRunnableThread >' invokes deleted constructor
ParallelExecutor.ExecuteActions:       TAtomic<FRunnableThread> Thread = nullptr;
ParallelExecutor.ExecuteActions:                                          ^~~~~~~
ParallelExecutor.ExecuteActions:   D:\WorkingOutput\VW\UE_4.27\Engine\Source\Runtime\Core\Public\Templates\Atomic.h(590,2): note: 'TAtomic' has been explicitly marked deleted here
ParallelExecutor.ExecuteActions:           TAtomic(TAtomic&&) = delete;
ParallelExecutor.ExecuteActions:           ^
ParallelExecutor.ExecuteActions:   1 error generated.
ParallelExecutor.ExecuteActions:   [3/9] Module.InfraworldRuntime.cpp
ParallelExecutor.ExecuteActions:   In file included from D:/WorkingOutput/VW/VirtualWorld/Plugins/InfraworldRuntime/Intermediate/Build/Linux/B4D820EA/UE4/Development/InfraworldRuntime/Module.InfraworldRuntime.cpp:5:
ParallelExecutor.ExecuteActions:   In file included from D:/WorkingOutput/VW/VirtualWorld/Plugins/InfraworldRuntime/Source/InfraworldRuntime/Private/RpcClient.cpp:16:
ParallelExecutor.ExecuteActions:   D:\WorkingOutput\VW\VirtualWorld\Plugins\InfraworldRuntime\Source\InfraworldRuntime\Public\RpcClient.h(139,40): error: copying member subobject of type 'TAtomic<FRunnableThread >' invokes deleted constructor
ParallelExecutor.ExecuteActions:       TAtomic<FRunnableThread> Thread = nullptr;
ParallelExecutor.ExecuteActions:                                          ^~~~~~~
ParallelExecutor.ExecuteActions:   D:\WorkingOutput\VW\UE_4.27\Engine\Source\Runtime\Core\Public\Templates\Atomic.h(590,2): note: 'TAtomic' has been explicitly marked deleted here
ParallelExecutor.ExecuteActions:           TAtomic(TAtomic&&) = delete;
ParallelExecutor.ExecuteActions:           ^
ParallelExecutor.ExecuteActions:   1 error generated.
ParallelExecutor.ExecuteActions:   [4/9] UE4API.pb.cc
...

Current you can compile Infraruntime on Linux ??
because I found issue like you when I compile cross platform on window
ActionGraph.IsActionOutdated: VirtualWorld.target: Produced item "VirtualWorld.target" doesn't exist.
ActionGraph.IsActionOutdated: Module.InfraworldRuntime.cpp: Produced item "Module.InfraworldRuntime.cpp.o" doesn't exist.
ActionGraph.IsActionOutdated: UE4API.pb.cc: Produced item "UE4API.pb.cc.o" doesn't exist.
ActionGraph.IsActionOutdated: UE4API.pb.cc: Produced item "UE4API.pb.cc.d" doesn't exist.
ActionGraph.IsActionOutdated: Module.InfraworldRuntime.cpp: Produced item "Module.InfraworldRuntime.cpp.d" doesn't exist.
ActionGraph.IsActionOutdated: Module.InfraworldRuntime.gen.cpp: Produced item "Module.InfraworldRuntime.gen.cpp.d" doesn't exist.
ActionGraph.IsActionOutdated: Module.VirtualWorld.cpp: Produced item "Module.VirtualWorld.cpp.d" doesn't exist.
ActionGraph.IsActionOutdated: Module.VirtualWorld.gen.cpp: Produced item "Module.VirtualWorld.gen.cpp.d" doesn't exist.
BuildMode.Build: Building VirtualWorld...
ParallelExecutor.ExecuteActions: Building 9 actions with 16 processes...
ParallelExecutor.ExecuteActions: [1/9] SharedPCH.Engine.ShadowErrors.h
ParallelExecutor.ExecuteActions: [2/9] Module.InfraworldRuntime.gen.cpp
ParallelExecutor.ExecuteActions: In file included from D:/WorkingOutput/VW/VirtualWorld/Plugins/InfraworldRuntime/Intermediate/Build/Linux/B4D820EA/UE4/Development/InfraworldRuntime/Module.InfraworldRuntime.gen.cpp:5:
ParallelExecutor.ExecuteActions: In file included from D:/WorkingOutput/VW/VirtualWorld/Plugins/InfraworldRuntime/Intermediate/Build/Linux/B4D820EA/UE4/Inc/InfraworldRuntime/RpcClient.gen.cpp:8:
ParallelExecutor.ExecuteActions: D:\WorkingOutput\VW\VirtualWorld\Plugins\InfraworldRuntime\Source\InfraworldRuntime\Public\RpcClient.h(139,40): error: copying member subobject of type 'TAtomic' invokes deleted constructor
ParallelExecutor.ExecuteActions: TAtomic Thread = nullptr;
ParallelExecutor.ExecuteActions: ^~~~~~~
ParallelExecutor.ExecuteActions: D:\WorkingOutput\VW\UE_4.27\Engine\Source\Runtime\Core\Public\Templates\Atomic.h(590,2): note: 'TAtomic' has been explicitly marked deleted here
ParallelExecutor.ExecuteActions: TAtomic(TAtomic&&) = delete;
ParallelExecutor.ExecuteActions: ^
ParallelExecutor.ExecuteActions: 1 error generated.
ParallelExecutor.ExecuteActions: [3/9] Module.InfraworldRuntime.cpp
ParallelExecutor.ExecuteActions: In file included from D:/WorkingOutput/VW/VirtualWorld/Plugins/InfraworldRuntime/Intermediate/Build/Linux/B4D820EA/UE4/Development/InfraworldRuntime/Module.InfraworldRuntime.cpp:5:
ParallelExecutor.ExecuteActions: In file included from D:/WorkingOutput/VW/VirtualWorld/Plugins/InfraworldRuntime/Source/InfraworldRuntime/Private/RpcClient.cpp:16:
ParallelExecutor.ExecuteActions: D:\WorkingOutput\VW\VirtualWorld\Plugins\InfraworldRuntime\Source\InfraworldRuntime\Public\RpcClient.h(139,40): error: copying member subobject of type 'TAtomic' invokes deleted constructor
ParallelExecutor.ExecuteActions: TAtomic Thread = nullptr;
ParallelExecutor.ExecuteActions: ^~~~~~~
ParallelExecutor.ExecuteActions: D:\WorkingOutput\VW\UE_4.27\Engine\Source\Runtime\Core\Public\Templates\Atomic.h(590,2): note: 'TAtomic' has been explicitly marked deleted here
ParallelExecutor.ExecuteActions: TAtomic(TAtomic&&) = delete;
ParallelExecutor.ExecuteActions: ^
ParallelExecutor.ExecuteActions: 1 error generated.
ParallelExecutor.ExecuteActions: [4/9] UE4API.pb.cc
...

@yajokboy the problem still continues


Added Html Undo button

Added an Html Undo button and working on CSS and JavaScript for the same.

Button alone is added but functionality is missing, all together might be taken as a merge @Frs2304

Please resolve merge conflicts @Frs2304


Lazy tensor shouldnt copy by default

The input provided to the lazy tensor should not be copied by default.
The purpose of lazy tensor is to perform the operations lazily.
The caller wants a copy to be performed, then the caller should intentionally add a copy operation than expecting the lazy tensor to do it.

:octocat: cibot: Thank you for posting issue #422. The person in charge will reply soon.

This can be done by passing already allocated memory slot

This can be done by passing already allocated memory slot

We must think about if the lazy tensor is needed. If yes, then let's maintain it.
Yes, it can be done but changes the way it is being used everywhere, if any.

We must think about if the lazy tensor is needed. If yes, then let's maintain it.
Yes, it can be done but changes the way it is being used everywhere, if any.

Closing, let's reopen when we happened to need this

Closing, let's reopen when we happened to need this


Implement Base.show to make charts viewable in Pluto.jl

Is your feature request related to a problem? Please describe.

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

It would be nice if these charts could be viewable inside Pluto.jl notebooks.
Describe the solution you'd like

A clear and concise description of what you want to happen.

This solution was suggested by one of the Pluto.jl maintainers.
function Base.show(io::IO, mime::MIME"text/html", plt::LightWeightChart)
    write(io, string(plt))
end

Link:  #pluto.jl zulipchat
Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

I've used LiveServer.jl to start up an HTTP server to serve the files created by lwc_save.  I then used an iframe to display the file inside a Pluto notebook.  It works, but it'd be nice to not have to spin up yet another server.
Additional context

Add any other context or screenshots about the feature request here.

n/a

@g-gundam, thank you for the suggestion!
I implemented this in PR #8, you can see the result in these examples:

Jupyter example

Pluto example

it's really more convenient than using HTML(string(chart)) :)

Nice.  Thanks for implementing that.


entered wrong api key, how to change it

ive searched on disk but did not find it...
How to update the deep api key?
thanks

I have the same problem, what is the solution?

Hi @uildriks,
You can use the command "DeepL: Configure extension" to set your api key.


Error during conversion

Hi Matteo,
I ran the script just fine on one phone, but on the second, I'm getting this error:
C:\Python27>python convert.py
Total count of messages: 16479
[=================== ] processing 16468Traceback (most recent call last):
File "convert.py", line 50, in
address = list(m.find('Recepients'))[0].text
IndexError: list index out of range
Any ideas?

Looks my original paste of error missed a part.  Here's the actual:
C:\Python27>python convert.py
Total count of messages: 16479
[=================== ] processing 16468Traceback (most recent call last):
File "convert.py", line 50, in
address = list(m.find('Recepients'))[0].text
IndexError: list index out of range

For some reason it's leaving out the "" after line 50, in

"module"

Hi,
it means that there's probably a message without a recipient, which is strange. Are you able to find taht message in the file?
Or if you can, send me the file and I'll try to fix this.
Let me know

Hi,
I am getting the errors shown in the attached file.
Can you help?

Thanks.

Can you perhaps what's in the file at line 146, column 1523? You can do that in an editor like Notepad++ or Sublime Text or similar.

I had the sam issue as @Peter11111 . Problem was that source msg file had some strange character (�) encoded in given position (given by xml.etree.ElementTree.ParseError description). Replaced all occurrences of that character and it solved this issue.

You're right, I've had other reports of the same issue with that entity!


Document project as a whole

The current README.md should actually explain what BIRD is and include pictures of the finished product. The final report should also be included for coherency and completeness.

Working on this on the branch project-documentation.

Completed in the above-referenced merge.


how can i use the feature "sqlite" and "mysql" at the same time?

#[cfg(feature = "mysql")]
compile_error!("mysql is currently not supported");
#[cfg(feature = "postgres")]
pub type DB = postgres::PostgresBackend;
#[cfg(feature = "sqlite")]
pub type DB = sqlite::SqliteBackend;

Yeah, this is an unfortunate limitation that needs to be fixed.
Part of the question is, how to resolve which databases to codegen for if you have multiple features enabled.
Some options might be:

If multiple features are enabled, just use any  database.
If mutiple features are enabled, codegen for every database type.
If multiple features are enabled, require an annotation like #[ormlite(database = "postgres")] for any #[derive(Model)] struct.

Thoughts?

Wouldn't option 3 make it less flexible? My use-case for having support or multiple databases is so the administrator could choose. It wouldn't be able to do this flexibly at runtime anymore if we use annotations, since we then need to have duplicate models for every database supported.

My use-case for having support or multiple databases is so the administrator could choose. It wouldn't be able to do this flexibly at runtime anymore if we use annotations

Maybe I misunderstood your words, or I've read them too literally, but "switching db at runtime from an admin action" is something out of scope for an ORM library.
If, instead, you were referring to the ability to switch the database through some kind of configuration (and then restarting the app) maybe option 2 is more appropriate for the goal. But this solution might be a problem if/when your use-case is to have different models on different dbs (which I know it might be a very narrow/rare use case).
I really don't have idea about how much it is possible/reasonable, but perhaps a combination of 1, 2 and 3 would work well: you either choose a specific db or any annotation on model, then codegen accordingly.
Just my 2 cents

It's not done, but the commit above starts to build support for this.
Since the database gets parameterized in a generic, there will be support for backing the same model with multiple databases.
That would enable the use case of switching backends at runtime, but I agree that making that seamless is beyond the scope of an ORM.
Finishing this is mostly about fixing compile issues at this point, so I'd welcome PRs if anyone wants to get it over the finish line.


Change CSRF protection to on by default

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

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

Details

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.6%) to 94.54%

Totals

Change from base Build<PHONE_NUMBER>9:
1.6%

Covered Lines:
1870

Relevant Lines:
1928

💛  - Coveralls


Case-insensitive ordering

Is there functionality for case-insensitve ordering?  In the documentation it says there is for SearchFilter, but it doesn't say anything for ordering?
I have been testing django-filter and the default for ordering is case-sensitive.
Can case-insensitive be easily added somehow?
Thank you

Ok, first off Django Filter isn't the same as Django Rest Framework – SearchFilter is part of DRF.
As for Django filter, ordering just maps to what you can do with the Django ORM, so the basic answer is "Not Really" — it ultimately comes down to you DBs collation on the named field.
Sorry

Ok, thank you @carltongibson.  Yea, all my googling' so far has led to give me the same answer as you just said.  Thanks for your help!

@carltongibson I was able to do case-insensitive ordering queries in Django's ORM.  Here's where I posted the code if you are interested.
http://stackoverflow.com/a/31866445/1913888
Thanks

@aronysidoro Thanks for the follow-up. Nice to see it can be done with the ORM.

@carltongibson Considering there are solutions now, would you mind me to add this as a MR? I am going to implement it anyways, but adding it to django-filter is probably more useful. Let me know!

@carltongibson I briefly checked the code and I am not sure if I get this right, but if you think this is a better approach I am all in!

Yes, you can achieve case-insensitive ordering by creating a custom ordering class. Instead of using filters.Ordering, you can create a custom class that inherits from filters.Ordering and overrides the get_ordering_value method. Here is an example:
`
from django.db.models.functions import Lower
from django_filters import filters
class CustomOrderingFilter(filters.OrderingFilter):
def get_ordering_value(self, param):
    descending = param.startswith("-")
    param = param[1:] if descending else param
    field_name = self.param_map.get(param, param)

    return Lower(field_name).desc() if descending else Lower(field_name)

`
You can then use this custom class in place of filters.Ordering to enable case-insensitive ordering.


[1.16.4] apotheosis table doesn't get the stats from bookshelfs after adding quark.

Hello. this happened after I added quark oddities. I've disabled both Matrix Enchanting and the variations of bookshelfs from quark, but they just don't work anymore. I've tried to reinstall both mods and to break and rebuild the enchantment setup.

Stats are not read until an item is placed into the enchanting slot of the table, have you tested with that?


Add marathon watcher

I wrote this before I noticed #87, so in case you'd like a version that doesn't add a runtime dependency on marathon_client then this is your PR. Otherwise these are pretty much identical PRs and I'll close this out if you merge the other one.

@tdooner Awesome, I think with a little bit of cleanup this is good for merge.
Since I'm not too worried about changes in the marathon API (like I am with etcd, docker, etc ...) that might make this direct request approach problematic long term, I think I prefer this to one that adds a dependency on marathon_client. What are your thoughts having run marathon in production for a while? Does it seem like they are good about keeping backwards compatibility?

All done!
My thoughts on having run this in production: it is a lot of requests to the Marathon API, since it scales up by the product of the number of machines and the number of services you have. For small deployments and relatively-few backend tasks, Marathon will be able to take the heat. At Yelp or Airbnb scale? This won't work.
At the time of writing this initially, only the Marathon eventSubscriptions existed -- this was a pretty clunky way to request Marathon POST event updates as they happen. This isn't a good fit for Synapse. But since then, Marathon has introduced the /events endpoint, which streams these events via HTTP. Supporting this endpoint seems like a great next step for this service watcher.


Integrate amo13/Heimdall fork

I'm really confused about the many forks of Heimdall.
@amo13 one seems the most recently updated so I'm integrating it into @Gabriel2392 version.

I am very confused too... To me, it looked like @grimler91 had the most up-to-date or best maintained fork on his repo (outside github, with some weird UI that confuses me even more), but I don't really know.
I guess what we'd need is some communication about what fork should be maintained for the community and where to move all further community communication about heimdall, like bugs, PRs, issues etc...

Hi! Thanks for the answer.
I'm really new to the world of custom ROMs.
I'm trying to install LineageOS or maybe PostmarketOS in a Samsung Galaxy S4 mini (samsung-serranoltexx).
Originally I've thought Heimdall was unmaintained and tried an old .deb which used Qt4 libraries.
Now I'm trying to guess the differences between your fork and the one from  Gabriel2392.
Grimler91 doesn't seem to have a fork, maybe he changed user name?

@amo13 Ok I've found the other repository outside GitHub. I will compare it


DK2 video upside down.

Hi, I tried this with DK2 and video was upside down.
I am looking for where to fix this, can you reference a pointer where to fix this?
Thanks!!!

found the solution~
void testApp::drawVideoOnSphere(Eye eye)
{
.....
ofScale(-1, -1,1); // this was ofScale(-1,1,1);
.....
}


Grammar error

Challenge http://www.freecodecamp.com/challenges/waypoint-generate-random-whole-numbers-with-javascript has an issue. Please describe how to reproduce it, and include links to screenshots if possible.
It's great that we can create random decimal numbers, but it's even more useful if we lot more useful to generate a random whole number.
Should read:
It's great that we can create random decimal numbers, but it's even more useful if we use it to generate a random whole number.

working in this issue

Thanks for reporting this. It's been fixed in https://github.com/FreeCodeCamp/FreeCodeCamp/commit/87c01aae522404a8c9879cd08357a5afc148be0c. :+1:

Duplicate of #2086.


Round-robin TLD when adding docs to the kafka input queue

Round robin is not efficient in our current design.
Another problem is that when the daemon thread finds out desired num is greater than actual num, it will put all data to queue at one time. A better solution would be: add at most N docs every time.


[FEA] Add Gpu metrics in Profiling tool

Is your feature request related to a problem? Please describe.
Currently we read CPU metrics from eventlogs. There are some GPU specific metris generated in the GPU run. It would be good to capture and show it in the output files. It could help in debugging the GPU jobs if they are slower due to spilling etc.
    "gpuSemaphoreWait" -> semWaitTimeNs,
    "gpuRetryCount" -> retryCount,
    "gpuSplitAndRetryCount" -> splitAndRetryCount,
    "gpuRetryBlockTime" -> retryBlockTime,
    "gpuRetryComputationTime" -> retryComputationTime,
    "gpuSpillToHostTime" -> spillToHostTimeNs,
    "gpuSpillToDiskTime" -> spillToDiskTimeNs,
    "gpuReadSpillFromHostTime" -> readSpillFromHostTimeNs,
    "gpuReadSpillFromDiskTime" -> readSpillFromDiskTimeNs

### Tasks
- [ ] https://github.com/NVIDIA/spark-rapids-tools/issues/755

We capture gpuMetrics in taskStageAccumMap in Profiling tool.  Verified this by comparing the metrics time with SHS on Gpu eventlog.
accum: accumName->gpuSemaphoreWait, value-> 11682099
accum: accumName->gpuSpillToDiskTime, value-> 1682176
accum: accumName->gpuReadSpillFromDiskTime, value-> 2034750
accum: accumName->gpuSpillToHostTime, value-> 1783898

@amahussein - Can we close this issue since we are capturing the Gpu metrics already. Since the current code of ProfileOutput is being refactored, we can add these metrics to the output file later if required. Please let me know your thoughts on this. Thanks!

Thanks @nartal1

The profiling tool should be dumping out the gpu metrics in a table so that dev's can see them for debugging purposes.
We can do this simply by creating a table in a format similar to the "SQL Plan Metrics for Application" table, except make it a stage table instead of a SQL based table.  Here we jump dump all the stage metrics/accumulables out into this table which should include the semaphore wait time and others.
We should also modify the "SQL Plan Metrics for Application" table to include all the SQL metrics.  I think right now its only looking for certain ones.


Increment version for anomalydetector releases

Increment package version after release of com.azure azure-ai-anomalydetector

API change check
API changes are not detected in this pull request.


fix(shared): fix isLinkExternal

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

3 of 3 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.1%) to 41.64%

Totals

Change from base Build<PHONE_NUMBER>:
-0.1%

Covered Lines:
682

Relevant Lines:
1680

💛  - Coveralls


Use Analog Audio from e.g. Hifi as input

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
An option to use analog audio input into the Raspberry PI via USB soundcard or similar in addition to Bluetooth, Airplay etc.
Describe alternatives you've considered
Can't think of an alternative practical solution, but open to ideas.
Additional context

This is possible using the variable SOUND_ENABLE_SOUNDCARD_INPUT = 1

Thank you. I am very new to all this. So your response is greatly appreciated. I have the USB soundcard working now for output, but cannot get the audio in on the soundcard to work. The logs show that it appears to be active, but .....
Any ideas?
Many thanks

I tested on my system (running BalenaSound 3.8.5) and I'm actually no longer able to get my input working, so I wonder if it was broken in a recent update. (I did also switch hardware to a Pi Zero 2 W, so that could also be causing the issue.)
The BalenaSound team always called soundcard input an experimental feature, so it's not officially supported, but has worked perfectly in previous versions, so hopefully it'll be possible to get working again.

I have the same version 93.8.50 as you. I've tried with both a PI 3b and a PI4 - same result. I don't think it is experimental anymore. looking at the docs: "USB Soundcards
USB soundcards are also supported without any special configuration needed. Just make sure you power cycle your device after plugging in the soundcard and you should be good to go."
Is there a forum where we can ask about this, or is this it?

Using USB sound cards as outputs is supported, but using it as input is experimental. There is a forum that you can try posting to here, but I don't think the devs have the bandwidth to respond at the moment, and there's not a lot of activity from advanced users who actually know what they're doing!

I had a look on the forum, and found something that was very useful. It looks like the usb soundcard was not being selected. I have the input working now. If you run alsamixer from a terminal in the audio block, and then select the usb soundcard, unmute the mic, set levels etc., all works fine. The only problem is that this is not permanent. So you need to set this every time, which isn't ideal; but, at least it is working. Thanks for all your help. really appreciate it.

I'm using a HiFiBerry DAC+ ADC with a RasPi 4B. I added the hifiberry-dacplusadc dtoverlay and disabled onboard audio. ALSA is detecting the device but the name of the source it creates is alsa_input.dac.stereo-fallback instead of alsa_input.dac.analog-stereo. I set SOUND_ENABLE_SOUNDCARD_INPUT = 1 as a device variable. After editing start.sh L45 to read:
local INPUT_DEVICE_FULLNAME="alsa_input.$INPUT_DEVICE.stereo-fallback"
I am still not able to get the sound connected to the line input jack to work

I'd like to do this with a RASPIAUDIO ULTRA+. anyone have experience or advice with this?


HIP-171 Add Message Sender AccountId to MessageQueryResponse

Problem
HIP-171 added the sender account id to mirror nodes. This value is not exposed via the js-sdk api but is integral to develop applications using HCS but is included in the response of the nodes (at least on the testnet)
Additionally I found it very helpful to include the TransactionId of the MessageSubmitTransaction to the response.
My fork is supporting the new fields 13a185fc42b21925edb8966a63a76f067c51ad41 but I won't open a pull request as my coding style and default values do not align with your code convention.
Solution
Parse the necessary information from protobuf
const payerAccountId =
            response.chunkInfo?.initialTransactionID?.accountID;
payerAccountId: payerAccountId
                ? AccountId._fromProtobuf(payerAccountId)
                : null,

transactionId: response.chunkInfo?.initialTransactionID
                ? TransactionId._fromProtobuf(
                      response.chunkInfo?.initialTransactionID
                  )
                : null,

Alternatives
No response

Not sure how this flew under the radar, but this seems pretty significant. Will prioritize in next sprint.


Replace all include guards with pragma once

Include guards are error-prone (e.g. if you use the same guard twice) and furthermore are more to type and its said they are even less performant sometimes.
However #pragma once are supported for almost 5 years by the big compilers.
https://en.wikipedia.org/wiki/Pragma_once
Task: Replace in every header file include guards with pragma once

Actually that's a nice good first bug.

I would like to get involved in the open source community.  May I take on this issue?

Sure go ahead :)


Generator phpdoc missing mehods

I've question why in Generator class in the phpdocs not exists all methods e.g.:  @method string name($gender = null), is any reason for this? I can make PR to fix this.

The generator only contains phpdoc for formatters available in all locales. Locale-specific generators are not there - because that could be misleading.
If you found a missing formatter that is generally available, please open a PR.


refactor(notification): ensure new snapshot is only notified after new fragment_mapping

I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
This PR addresses https://github.com/risingwavelabs/risingwave/issues/5446, by ensuring frontend is always notified of new snapshot after corresponding fragment_mapping.
Also a minor refactor that extracts collect_synced_ssts from complete_barrier, to make the latter cleaner.
This PR doesn't (and no need to) affect relative order between snapshot and catalog notification:

snapshot is notified firstly
catalog is notified later

Checklist

[x] I have written necessary rustdoc comments
- [ ] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Documentation
If your pull request contains user-facing changes, please specify the types of the changes, and create a release note. Otherwise, please feel free to remove this section.
Types of user-facing changes
Please keep the types that apply to your changes, and remove those that do not apply.

Installation and deployment
Connector (sources & sinks)
SQL commands, functions, and operators
RisingWave cluster configuration changes
Other (please specify in the release note below)

Release note
Please create a release note for your changes. In the release note, focus on the impact on users, and mention the environment or conditions where the impact may occur.
Refer to a related PR or issue link (optional)
https://github.com/risingwavelabs/risingwave/issues/5446

Scale test fails, investigating :thinking:

Scale test fails after merging main, investigating 🤔
I think it's not likely related to this PR.

Look similar to #7103. 🤔


Default Value Mismatch for Driver Command Vs Problem Descriptor

Arguments conv_stride_d and dilation_d have a default value of 1 for the driver invocation.
The same arguments have a default value of 0 for the problem descriptor.
When tuning we are storing the driver input as a configuration. When exporting that configuration into a performance db, it is generating config entries with conv_strid_d=dilation_d=1 for 2 dimensional problems. As a result the entries are not recognized on pdb lookup because they do not have the default value of 0.

AFAIU conv_strid_d and dilation_d should be ignored for 2D. For example, the driver does not initialize these explicitly for 2D:
https://github.com/ROCmSoftwarePlatform/MIOpen/blob/ceb94dca9940a1534383fc0b846c44375f7dfc3a/driver/conv_driver.hpp#L947-L952
I think that if you would like to initialize unused dimensions to some special values (like 0) and then use these special values then there should be a serious reason.

When tuning we are storing the driver input as a configuration. When exporting that configuration into a performance db, it is generating config entries with conv_strid_d=dilation_d=1 for 2 dimensional problems.

For exporting the config into perf-db, I highly recommend using the logic that observes the number of dimensions, as implemented in
https://github.com/ROCmSoftwarePlatform/MIOpen/blob/ceb94dca9940a1534383fc0b846c44375f7dfc3a/src/problem_description.cpp#L55

@atamazov That was my understanding as well. However, having these values set to 1 in the perf db appears to cause MIOpen to miss the entries with "Perf Db: record not found". I ran into this whilst executing the cmake test: test_conv_embed_db during CI.
http://micimaster.amd.com/blue/organizations/jenkins/MLLibs%2FMIOpen/detail/cderb%2Fmlir5_5_tuning/8/pipeline
eg
[2023-01-28T08:15:00.166Z] /var/jenkins/workspace/Libs_MIOpen_cderb_mlir5_5_tuning/build/bin/test_conv2d --float --cmode conv --pmode default --group-count 1 --input 128 64 56 56 --weights 64 64 1 1 --batch_size 128 --input_channels 64 --output_channels 64 --spatial_dim_elements 56 56 --filter_dims 1 1 --pads_strides_dilations 0 0 1 1 1 1 --trans_output_pads 0 0 --in_layout NCHW --fil_layout NCHW --out_layout NCHW --deterministic 0 --tensor_vect 0 --vector_length 1 --output_type int32 --int8_vectorize 0

[2023-01-28T08:15:00.166Z] MIOpen(HIP): Info [ForwardGetWorkSpaceSize]

[2023-01-28T08:15:00.166Z] MIOpen(HIP): Info [GetForwardSolutions]

[2023-01-28T08:15:00.166Z] MIOpen(HIP): Info [FindConvFwdAlgorithm] requestAlgoCount = 1, workspace = 0

[2023-01-28T08:15:00.166Z] MIOpen(HIP): Info [GetForwardSolutions]

[2023-01-28T08:15:00.166Z] MIOpen(HIP): Info [CompileForwardSolution] solver_id = ConvHipImplicitGemmV4R4Fwd

[2023-01-28T08:15:00.166Z] MIOpen(HIP): Info [GetPerfDbPathEmbed] Found exact embedded perf database file

[2023-01-28T08:15:00.166Z] MIOpen(HIP): Info [SQLiteBase] SQLite does not support WAL

[2023-01-28T08:15:00.166Z] MIOpen(HIP): Info [FindSolutionImpl] ConvHipImplicitGemmV4R4Fwd

[2023-01-28T08:15:00.166Z] MIOpen(HIP): Info [FindSolutionImpl] Perf Db: record not found for: ConvHipImplicitGemmV4R4Fwd

This issue cleared up after I set the defaults for these two fields in the pdb to 0.
So despite the values having no influence on the problem, they appear to be important for MIOpen discovering the entry.

@cderb It seems like this is about how MIOpen builds SQL queries when accessing perf-db.
@JehandadKhan ⚠ Is it so that there is an implicit convention that unused dimensions should be 0s when accessing perf-db?
Can we observe the value of spatial_dim and force 0s for unused dims regardless of what the problem descriptor (or tensor descriptor) contains?

I think its more about what the default is assumed on the MIOpenDriver command line and what those defaults are set in the ProblemDescription. Since the SQL query picks up the values which are set in the Problem.

The driver uses miopenInitConvolutionNdDescriptor API call to set up the convolution descriptor. According to the description of the issue, it sets all dimensions of padding/strides/dilation, even unused ones, to some values. But this is what any user's application can do as well. Therefore this issue may potentially happen with any user's application.
AFAICS the defect may affect both host-side and GPU-side performance due to:

Misses during  perf-db accesses
Misses during binary cache accesses

Therefore I think that it must be resolved with normal or high urgency (unless this is a fin-specific problem).
[Attribution] @junliume @johnny-keker https://github.com/ROCmSoftwarePlatform/MIOpen/labels/urgency_high https://github.com/ROCmSoftwarePlatform/MIOpen/labels/performance

@cderb As said above, the driver uses miopenInitConvolutionNdDescriptor API call to set up the convolution descriptor:
https://github.com/ROCmSoftwarePlatform/MIOpen/blob/4e91038e94a2652ae15b66d4503676d82eaaf0d0/src/convolution_api.cpp#L66-L88
⚠ As you can see, it does not initialize unused dimensions of padding/strides/dilation.
I need more info to be able to help. Ideally, an instructions for reproducing the defect you've met.

MIOpen will properly default problem configurations that it adds to the performance database itself.
Tuna encountered issues when it attempted to use the defaults provided by the driver command to initialize config entries that it then exports to a performance db (pdb created by Tuna).
Example using this driver command:
./bin/MIOpenDriver conv --batchsize 64 --spatial_dim 2 --pad_h 0 --pad_w 0 --pad_d 0 --conv_stride_h 1 --conv_stride_w 1 --conv_stride_d 1 --dilation_h 1 --dilation_w 1 --dilation_d 1 --group_count 1 --mode conv --pad_mode default --trans_output_pad_h 0 --trans_output_pad_w 0 --trans_output_pad_d 0 --out_layout NCHW --in_d 1 --in_h 28 --in_w 28 --fil_d 1 --fil_h 1 --fil_w 1 --in_channels 2048 --out_channels 512 --forw 1

MIOpen would create an entry like this one, and it would be found on pdb lookup:
p.solver            , p.params               , c.layout , c.data_type , c.direction , c.spatial_dim , c.in_channels , c.in_h , c.in_w , c.in_d , c.fil_h , c.fil_w , c.fil_d , c.out_channels , c.batchsize , c.pad_h , c.pad_w , c.pad_d , c.conv_stride_h , c.conv_stride_w , c.conv_stride_d , c.dilation_h , c.dilation_w , c.dilation_d , c.bias , c.group_count from perf_db as p inner join config as c
ConvOclDirectFwd1x1 | 1,64,1,1,1,1,64,2048,0 | NCHW     | FP32        | F           | 2             | 2048          | 28     | 28     | 1      | 1       | 1       | 1       | 512            | 64          | 0       | 0       | 0       | 1               | 1               | 0               | 1            | 1            | 0            | 0      | 1

The MIOpen driver has default values for conv_stride_d and dilation_d set as 1. So and entry generated with this default would look like the following. But this would not be found on pdb lookup.
p.solver            , p.params               , c.layout , c.data_type , c.direction , c.spatial_dim , c.in_channels , c.in_h , c.in_w , c.in_d , c.fil_h , c.fil_w , c.fil_d , c.out_channels , c.batchsize , c.pad_h , c.pad_w , c.pad_d , c.conv_stride_h , c.conv_stride_w , c.conv_stride_d , c.dilation_h , c.dilation_w , c.dilation_d , c.bias , c.group_count from perf_db as p inner join config as c
ConvOclDirectFwd1x1 | 1,64,1,1,1,1,64,2048,0 | NCHW     | FP32        | F           | 2             | 2048          | 28     | 28     | 1      | 1       | 1       | 1       | 512            | 64          | 0       | 0       | 0       | 1               | 1               | 1               | 1            | 1            | 1            | 0      | 1

note the difference is conv_stride_d=dilation_d=1
If you wanted to replicate this pdb entry, I would suggest running the driver command with MIOPEN_FIND_ENFORCE=4 and create a user pdb file. Then use sqlite to sent conv_stride_d and dilation_d to 1 in the user pdb. The resulting entry would not be discoverable by pdb lookup.

@atamazov to clarify.
Tuna has been using the command defaults presented by MIOpenDriver to set the unused values for its configurations.
The convolution descriptor appears to ignore these when they are not relevant (properly so). As well as use a different set of defaults. <- key issue
The record search for pdb lookup is based off of the values set by the convolution descriptor (also proper). But is also limited by fields irrelevant to 2d configs. Which, fair enough, we don't want config duplication either.
The issue is then any entry pdb entry generated for 2d configs that assumes the defaults provided by MIOpenDriver will not be found in the pdb.

@cderb @JehandadKhan @junliume Hopefully now I see the root of the problem.

(A) When library creates a SQL query, for unused dimensions it uses the default values provided by miopen::conv::ProblemDescription.

[Informative] These are 0s for padding/stride/dilation (provided by functions GetD3/H3/W3) and 1s for tensors (provided by GetN5/C5/D5/H5/W5). Why the defaults are different and why the implementation is so entangled is a different issue ;)

(B) When Tuna creates a SQL query, for unused dimensions is uses some other defaults.

[Informative] From what Chris is saying, it looks like these values are somehow "inherited" from the MIOpenDriver internal defaults. BTW these values, albeit passed to the library, are ignored.

As a result, we have an implicit dependence between (A) and (B) which has a huge impact on the behavior and performance of the library. AFAICS it affects both perf-db and kernel-db.
Proposal
It seems to me that the best solution for the whole issue would be getting rid of these dependence by removing unused values from the SQL queries while ensuring that spatial_dim is included there.

b) Reduce scope of pdb select query to include only 2d fields when the target is 2d.
(b) could have the side effect of discovering multiple entries, which in itself would be a bug. So I would settle for just (a).

AFAICS in the .db files, the tables include the spatial_dim field. Adding spatial_dim to the SQL queries (if not added already) would eliminate the side effect.
@JehandadKhan @cderb What is your opinion?

@atamazov If we change the query on pdb so that it filters unused fields by spatial_dim (padding/stride/dilation), then there is some potential that the query could return multiple entries. I would prefer there to be some hard assigned default values to prevent the possibility of duplication or staggered results.

@cderb Let me repeat:

Adding spatial_dim to SQL queries (if not added already) would eliminate the side effect.

Ping [Attribution] @junliume @johnny-keker https://github.com/ROCmSoftwarePlatform/MIOpen/labels/urgency_high https://github.com/ROCmSoftwarePlatform/MIOpen/labels/performance

@cderb The implicit dependence between MIOpenDriver and library, that has critical side effects, must be eliminated.

@cderb Now I see the problem. Adding spatial_dim to SQL queries makes database reads unambiguous (reads do not depend on values of unused dimensions), but writing to database with different values still results in multiple records and reads would return them.

I've corrected my previous comments to match the reality.

Proposal 2

(1) Make MIOpenDriver defaults (mentioned in (B) at https://github.com/ROCmSoftwarePlatform/MIOpen/issues/1952#issuecomment-1420383371) the same as the library defaults (described in (A)).
(2) If necessary, the same fixes must be done in in fin and in Tuna.

The implicit dependency will remain.

@cderb Hope this works for you. I will implement (1) very soon. May I count on you if (2) also needs some work?

@cderb

Tuna encountered issues when it attempted to use the defaults provided by the driver command to initialize config entries that it then exports to a performance db (pdb created by Tuna).

How exactly Tuna takes the defaults "provided by the driver command"? I need to know to provide the proper fix.

@atamazov For Tuna it's more of a documentation issue. Defaults were set for an SQL database based off of values presented by the driver.
I've since adjusted the default values in Tuna for the extra dimensions to reflect those used by miopen::conv::ProblemDescription.
So for now this is functionally fixed. But in case a similar issue might arise, some consistency in how the values are presented may help.

I've since adjusted the default values in Tuna for the extra dimensions to reflect those used by miopen::conv::ProblemDescription.

So in fact (2) from Proposal 2 is already done, while (1) is not actually necessary except for documentation purposes.

But in case a similar issue might arise, some consistency in how the values are presented may help.

Here the following can help, I think:
Proposal 3
Create a test that checks that default values provided by miopen::conv::ProblemDescription match the description listed in (A) at https://github.com/ROCmSoftwarePlatform/MIOpen/issues/1952#issuecomment-1420383371. That would prevent accidental changes that <seem innocent and do not lead to immediate failures, but> lead to performance drops.


EKF2 not fusing the Rangefinder

Describe the bug
The estimated altitude and the local_position.z seem to ignore the rangefinder data.
Using the Lidar Lite through PWM,
Pixhawk 4 fmu_v5,
stable release 1.9.0,
quadrotor_x in position control or altitude hold mode.
The distance sensor data show that the sensor outputs correct readings but the altitude estimates seem uninfluenced.
Log Files and Screenshots
https://review.px4.io/plot_app?log=d19babaf-06b4-4074-b14e-af8828fb51c2
Add screenshots to help explain your problem.

@JMshare Did you find any solution for this? I am also having the same problem with fmu_v3 and LidarLite.

No, I don't really know how to fix this, hoped someone from the developers would react.
But if it helps to track the issue, the reported signal_quality 0 in the log must be the reason why the ekf ignores the data. Also I remember somehow coming to a conclusion that this is related to LidarLite specifically, not just any rangefinder. The newest model had some changes in the firmware that haven't been accounted for in the PX4 yet or something like that...

I have tested the same LiDaR with v1.8.1, and it was working fine. So after digging in the firmware, I found the heck.https://github.com/AerialRobotics-IITK/Firmware/commit/25e0d01e3a869651d2cb21ba1477ae0c30fee030

Thanks @gajena, I was thinking about doing the same thing until the driver is fixed.

@gajena sorry if the question is silly but i'm quite new to px4 and all, so how do I make use of the hack?

Modify the 'ekf2_main.cpp' file as per the hack from the link you gave
build the firmware, and load as custom firmware.
Am I right ?
Thanks for your help.

Yes or just pull from my repo(please pull latest commit).

Yes or just pull from my repo(please pull latest commit).

Thank you @gajena


Voyager version 1.0 bootstrapValidator is not a function on admin

Version information

Laravel: v5.5.33
Voyager: v1.0.14
PHP: 7.1.14
Database:  MySQL 8.0

Description:
I am using Voyager admin for my Laravel Website http://mllmconcepts.webindiasolutions.co.in/.
I am facing an issue on feild validation. Voyager says "The  field is required" always even if the feild is not empty.
When I check the console, it shows "Uncaught TypeError: $(...).bootstrapValidator is not a function".
I dont know where is come from.
Additional context
Here I include a screenshot : https://prnt.sc/qj6dd9

Please fill the actual versions you are using for Laravel, Voyager and PHP with all three numbers.

Please fill the actual versions you are using for Laravel, Voyager and PHP with all three numbers.

Laravel: v5.5.33
Voyager: v1.0.14
PHP: 7.1.14
Database:  MySQL 8.0

Updated -- Sorry for the missing

Voyager: v1.0.14
Updated -- Sorry for the missing

No problem, unfortunately that's a quite old version, two years old, and I'm unable to test it.
The best thing you could do is trying to update your platform gradually in a locale enviroment following all upgrade guides.
If for some reason you can't upgrade I would start checking if you changed something when this problem started.
I don't think bootstrap-validator was ever used in this package but I might be wrong, maybe you have a custom view?

Voyager: v1.0.14
Updated -- Sorry for the missing

No problem, unfortunately that's a quite old version, two years old, and I'm unable to test it.
The best thing you could do is trying to update your platform gradually in a locale enviroment following all upgrade guides.
If for some reason you can't upgrade I would start checking if you changed something when this problem started.
I don't think bootstrap-validator was ever used in this package but I might be wrong, maybe you have a custom view?

Thank you for your replay. I am updated my version and now it is working fine.


Unable to use another env variable (zsh: unknown file attribute: B)

I'm trying to run kysely-codegen with another env variable since DATABASE_URL is already set in my .bashrc for another project.
So I set a DB_URL env variable in a .env file at the root of my project.
# .env

DB_URL=postgres://...

However, running the following command:
npx kysely-codegen --dialect=postgres --env-file=.env --url=env(DB_URL) --out-file=types/db.ts

I get the following error:
zsh: unknown file attribute: B

Seems like a problem with env(DB_URL)

Upvote & Fund

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

Hi @Mathieu-R, this does not work for me either and have been using a workaround. See #143.

Neither for me, it did not work: