Some GRPC API Endpoints does not work as expected

While implementing https://github.com/spacemeshos/smapp/issues/766 I faced some issues within GRPC API.
Some of the endpoints are not working as expected or don't work at all.

GlobalStateService: AccountDataStream does not send any data. Meanwhile AccountDataQuery with the same filter request parameters works as expected. So I can retrieve account balance, rewards only by calling Query endpoint.
In addition, I can't retrieve any receipts from both of them 🤔
MeshService.AccountMeshDataStream works the same: does not send any data to the client. However, the Query endpoint works fine.
TransactionService

TransactionsState — always returns only IDs
TransactionsStateStream — the same, only IDs

Environment

Node Version: 0.2.5-beta.0
Devnet 209

To reproduce the issue you can use grpcurl on the synced local node (to avoid issue with nginx proxy)

@lrettig @moshababo please take a look at the issue 🙏
If you need any additional information feel free to ask me.

Based on a quick review of open issues and the code:

GlobalStateService: AccountDataStream does not send any data. Meanwhile AccountDataQuery with the same filter request parameters works as expected. So I can retrieve account balance, rewards only by calling Query endpoint.

Events are reported via ReportAccountUpdate which appears to only be called in test code. This appears to never have been fully implemented. See also #2563

In addition, I can't retrieve any receipts from both of them

Receipts haven't been implemented: #2072

MeshService.AccountMeshDataStream works the same: does not send any data to the client. However, the Query endpoint works fine.

This relies on ReportNewActivation and ReportTxWithValidity, which do appear to be implemented. Will require some deeper digging.

TransactionService: TransactionsState — always returns only IDs, TransactionsStateStream — the same, only IDs

These endpoints should be returning a (tx, tx_state) tuple:
https://github.com/spacemeshos/api/blob/043cbffe3098eca3a2f75d7101969e0ffcccf537/proto/spacemesh/v1/tx_types.proto?_pjax=%23js-repo-pjax-container%2C div[itemtype%3D"http%3A%2F%2Fschema.org%2FSoftwareSourceCode"] main%2C [data-pjax-container]#L25-L38
Can you confirm that include_transactions is set to true on these requests? This is a likely culprit:
https://github.com/spacemeshos/api/blob/043cbffe3098eca3a2f75d7101969e0ffcccf537/proto/spacemesh/v1/tx_types.proto?_pjax=%23js-repo-pjax-container%2C div[itemtype%3D"http%3A%2F%2Fschema.org%2FSoftwareSourceCode"] main%2C [data-pjax-container]#L20-L23

GlobalStateService: AccountDataStream does not send any data

AccountDataStream is successfully sending reward data:
> grpcurl -d '{"filter" : {"accountId":{"address":"D1m8qJmEvlukgOfsWByjbojQSgs="}, "account_data_flags":2}}' -plaintext localhost:9092 spacemesh.v1.GlobalStateService.AccountDataStream
{
  "datum": {
    "reward": {
      "layer": {
        "number": 1439
      },
      "total": {
        "value": "3333333333333"
      },
      "layerReward": {
        "value": "3333333333333"
      },
      "coinbase": {
        "address": "D1m8qJmEvlukgOfsWByjbojQSgs="
      },
      "smesher": {
        "id": "K09Mw3jol42yEonPxswhalunBYSIw312l4uAVMYrNhk="
      }
    }
  }
}
{
  "datum": {
    "reward": {
      "layer": {
        "number": 1467
      },
      "total": {
        "value": "2631578947368"
      },
      "layerReward": {
        "value": "2631578947368"
      },
      "coinbase": {
        "address": "D1m8qJmEvlukgOfsWByjbojQSgs="
      },
      "smesher": {
        "id": "K09Mw3jol42yEonPxswhalunBYSIw312l4uAVMYrNhk="
      }
    }
  }
}
...

As mentioned above, the other data type(s) may not be implemented yet.

AccountMeshDataStream appears to be working too:
> grpcurl -d '{"filter": {"accountId":{"address":"D1m8qJmEvlukgOfsWByjbojQSgs="}, "account_mesh_data_flags": 1}}' -plaintext localhost:9092 spacemesh.v1.MeshService/AccountMeshDataStream
{
  "datum": {
    "meshTransaction": {
      "transaction": {
        "id": {
          "id": "fzEj5mlt6PJHxONwPcrTzCuE+LX3tVvByrePVHftb7o="
        },
        "coinTransfer": {
          "receiver": {
            "address": "Z9pNFbKDie6NpQo6Tpp6mEAgGE8="
          }
        },
        "sender": {
          "address": "D1m8qJmEvlukgOfsWByjbojQSgs="
        },
        "gasOffered": {
          "gasProvided": "100"
        },
        "amount": {
          "value": "1911926115433"
        },
        "counter": "436",
        "signature": {
          "scheme": "SCHEME_ED25519_PLUS_PLUS",
          "signature": "7h0EEEudcPRQdgEudHQNwSfHGjZw3s/GaHcUrh5Ck5R3rD8HvIYXoMVtDTwYgDUjcneeVTKeJrGuFIyeL1mJAw==",
          "publicKey": "D1m8qJmEvlukgOfsWByjbojQSgs="
        }
      }
    }
  }
}
{
  "datum": {
    "meshTransaction": {
      "transaction": {
        "id": {
          "id": "fzEj5mlt6PJHxONwPcrTzCuE+LX3tVvByrePVHftb7o="
        },
        "coinTransfer": {
          "receiver": {
            "address": "Z9pNFbKDie6NpQo6Tpp6mEAgGE8="
          }
        },
        "sender": {
          "address": "D1m8qJmEvlukgOfsWByjbojQSgs="
        },
        "gasOffered": {
          "gasProvided": "100"
        },
        "amount": {
          "value": "1911926115433"
        },
        "counter": "436",
        "signature": {
          "scheme": "SCHEME_ED25519_PLUS_PLUS",
          "signature": "7h0EEEudcPRQdgEudHQNwSfHGjZw3s/GaHcUrh5Ck5R3rD8HvIYXoMVtDTwYgDUjcneeVTKeJrGuFIyeL1mJAw==",
          "publicKey": "D1m8qJmEvlukgOfsWByjbojQSgs="
        }
      }
    }
  }
}
...

Note that event subsystem is not exactly suitable for streaming, honestly it must be implemented completely in a different way if it was going to be used in API. it is non-blocking without buffer, and will drop events if channel that is not reed in AP is not ready to consume them. It may explain the flakiness issue.

It's even worse than that: events are streamed serially but meant to be consumed by multiple subscribers (see #2384). Should probably use something like pubsub instead.

it is non-blocking without buffer, and will drop events if channel that is read in AP is not ready to consume them

For the record, this is sort of by design, since we have both *Query and *Stream endpoints. The *Stream endpoints can be lossy as long as a client can use the corresponding *Query endpoint to fill in anything that's missing.

It's even worse than that: events are streamed serially but meant to be consumed by multiple subscribers (see #2384). Should probably use something like pubsub instead.

this is definitely critical as well. yes usually this use case is handled with registering subscribers, that are sufficiently buffered. and because events cannot be dropped silently there are two choices when buffer overflows:

block producer (unacceptable in our case)
close stream with error, in this case subscriber knows exactly when it stopped missing events and it re-query missing stuff and re-sub later

For the record, this is sort of by design, since we have both *Query and *Stream endpoints. The *Stream endpoints can be lossy as long as a client can use the corresponding *Query endpoint to fill in anything that's missing.

the problem with this design is that the subscriber doesn't know if anything was lost, so it needs to poll query endpoints all the time. effectively streaming is useless in this case.

Can you confirm that include_transactions is set to true on these requests? This is a likely culprit:

Yes. TransactionService.TransactionsState called with data:
{
  transactionId: [{ id: Uint8Array }, { id: Uint8Array }],
  includeTransactions: true
}

returns:
{
  transactionsState: [
    {
      id: {
        id: Buffer(51) [Uint8Array] [
          209, 173, 180, 241, 167, 119, 235, 159,  27,
          223, 206, 119, 127,  87, 156, 243, 173, 122,
          231, 215,  31, 241, 206, 252, 119, 205,  61,
          211, 215, 120, 233, 215,  55, 107, 151, 123,
          231, 103,  94, 117, 190, 247, 123, 119, 120,
          127, 166, 219, 233, 254, 253
        ]
      }
    },
    {
      id: {
        id: Buffer(51) [Uint8Array] [
          209, 173, 180, 247,  78, 158, 215, 206, 120,
          239,  78, 223, 213, 199,  57, 221, 237, 180,
          127, 157, 253, 123, 151, 222, 123, 191,  91,
          105, 174, 157, 231, 125, 123, 115, 215,  91,
          117, 206, 125, 227,  94,  57, 119, 190, 184,
          125, 182, 244, 105, 167, 117
        ]
      }
    }
  ],
  transactions: [ {}, {} ]
}

The same is for Stream, but without nesting in lists.
Btw, it seems a bit strange for me that the response of this endpoint contains two lists that hopefully have the same length and the same order. I'm consider that it will be much better to have one list of tuples ;)

I think we can split this issue into a few ones and close this one.

GlobalStateService: AccountDataStream does not send any data. Meanwhile AccountDataQuery with the same filter request parameters works as expected. So I can retrieve account balance, rewards only by calling Query endpoint.

AccountDataStream may send either of 3 data types :

Reward
TransactionReceipt
Account

Rewards are working. Receipts are to be implemented in https://github.com/spacemeshos/go-spacemesh/issues/2072. Account data is to be implemented in https://github.com/spacemeshos/go-spacemesh/issues/2940.

In addition, I can't retrieve any receipts from both of them 🤔

https://github.com/spacemeshos/go-spacemesh/issues/2072

MeshService.AccountMeshDataStream works the same: does not send any data to the client. However, the Query endpoint works fine.

AccountMeshDataStream works for me.

TransactionService
TransactionsState — always returns only IDs
TransactionsStateStream — the same, only IDs

TransactionsState and TransactionsStateStream send transactions if include_transactions is set

Note that event subsystem is not exactly suitable for streaming, honestly it must be implemented completely in a different way if it was going to be used in API. it is non-blocking without buffer, and will drop events if channel that is read in AP is not ready to consume them. It may explain the flakiness issue.

https://github.com/spacemeshos/go-spacemesh/issues/2384


bug: z-index is different on desktop vs mobile browser

Type: bug
Platform: mobile webview
Elements render in a different z-index order based on the browser.
on desktop, or plain android chrome, z-index behaves as expected.
in ios simulator, and android webview (kitkat @4.4.2) the z-index is different.
events still get to the layers, but they don't display / get covered by other layers.

its a bit hard to describe so
on ios sim and android wrapper, i get this:

on chrome desktop I get this:

the bug can be seen here, by clicking on the word "company"
http://comicenglish.com/lessons/leak/start/start
I think this is somehow related to ionic using scroll: hidden but there being some bugs in how the browsers implement that, and layering issues. perhaps z-index fighting?
If someone has suggestions for workarounds or other things to look into that would be great.

we fixed this by moving content out of the menu-content part of the DOM
eg Broken:

fixed - @ top layer

Greetings @dcsan!
I've closed this issue because my sensors indicated it was old and inactive, and may have already been fixed in recent versions of Ionic. However, if you are still experiencing this issue, please feel free to reopen this issue by creating a new one, and include any examples and other necessary information, so that we can look into it further.
Thank you for allowing me to assist you.


Rename all inline providers with an inline:: prefix

What does this PR do?
Just like all remote providers are prefixed with remote::, we prefix Inline providers with inline::
Like a couple other changes pushed recently (post 0.0.50 and a few even before), this is a backward incompatible change. This means existing "images" (dockers, conda builds) won't work and you need to rebuild from source.
Test Plan
Run llama stack build --template meta-reference, followed by llama stack run meta-reference --port 5003

cc @subramen @heyjustinai @init27 @jeffxtang  (we are rushing through a bunch of back-incompat changes this week now)


CI: update to actions/checkout@v2

https://github.com/actions/checkout/releases/tag/v2.0.0

Also I need a review for #29765


#304 - Changed link in rultor badge

@rultor merge

@rultor merge

@driver733 Done! FYI, the full log is here (took me 3min)


Missing Authentication type for non-interactive server based applications

The Authentication Sample are listening every szenario but unattended server applications (like some automation jobs).
Can you please add the appropiate Authentication Method (I guess OAuth2?) too?

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

ID: a0ab71a0-a2df-fa37-83fa-080dece952f6
Version Independent ID: f74b7d51-aede-ed93-437e-601654d8fa7e
Content: Get started with the REST APIs for Azure DevOps Services and Team Foundation Server - Azure DevOps Services REST API
Content Source: index.md
Product: devops
Technology: devops-ecosystem
GitHub Login: @elbatk
Microsoft Alias: elbatk

ditto


Fix deprecated Issues

Code changes

[x] Replaced deprecated String functions
[x] Replaced deprecated Dict functions

Thank you so much for this pull request!
Helped us figure out a very complex problem!


Update the links to zephyr genrest.py

Rather unfortunately, it appears the original author of Kconfiglib disappeared.  The Zephyr project has been granted ownership of the PyPI package via PEP-541 request, and I'm going to do a release based on a new repository in the zephyrproject-rtos organization here: https://github.com/zephyrproject-rtos/Kconfiglib
:arrow_right: Action required: @yamt  Are you able to re-open your pull request on the new repository?


Fix javadoc for PerfStressProgram

Closing as @g2vinay fixed it in another PR - https://github.com/Azure/azure-sdk-for-java/pull/21656


Cant get method getInstructions in graphopper-ios using swift

i open a question in the foro section, this is the link. question

Thanks! The forum is the preferred way of handling questions - I'll close here.


My cmp-dictionary takes 700+ms on startup as BufEnter

Question
Is there any tips for speed up (such as lazy load)?
or
Is this startuptime in the specifications?
Startup time
Before uninstall cmp-dictionary
1299.237  836.919: BufEnter autocommands

After uninstall cmp-dictionary
372.051  005.900: BufEnter autocommands

Version
NVIM v0.8.0-v0.8.0
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3

My Setting
Packer
use {
"uga-rosa/cmp-dictionary"
	["config"] = function() {
		local path = vim.fn.expand "en.dict"
    	local cmp_dict = require("cmp_dictionary")
	    cmp_dict.setup({
			["dict"] = {
				["*"] = {"/user/share/dict/words"}
				["spelling"] = {["en"] = path}
			}
	})
}

cmp.config.sources {
	["name"] = "dictionary"
    ["group_incex"] = 5
    ["keyword_length"] 2
}

Have you tried the async option?
Also, have you read the chapter in the help section on lazy loading?

I didn't that chapter. Thank you for teaching.


Enable jballerina unit tests

Purpose
$subject.
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[ ] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #23899 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #23899   +/-   ##
=======================================
  Coverage   14.59%   14.59%
=======================================
  Files          51       51
  Lines        1411     1411
  Branches      219      219
=======================================
  Hits          206      206
  Misses       1189     1189
  Partials       16       16

Continue to review full report at Codecov.

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


create-react-app does not install everything

I have a problem : After entering the create-react-app my-app (in my case, in the attached picture create-react-app my-app --typescript) create-react-app only installs package.json`` yarn.lock and node_modules as you can see in the picture, and everything stops. What is the problem? I have already tried npm install -g npm  npm uninstall -g create-react-app  npx create-react-app my-app  but nothing helped. Thanks for answers in advance!

@BartoszTermena  This doesn't seems to be the output of npx create-react-app my-app --typescript as the package.json is not as expected. It must have scripts, eslintConfig and browserlist keys in the package.json.
Did you try running these commands directly from terminal ?
npx create-react-app my-app --typescript && cd my-app

@sudkumar Yes, after running npx create-react-app my-app --typescript && cd my-app I get the same as in the attached picture. Look at the terminal - after Done in (seconds)  nothing is happening, I don't recieve this "Happy hacking" e.t.c.
like here: https://camo.githubusercontent.com/29765c4a32f03bd01d44edef1cd674225e3c906b/68747470733a2f2f63646e2e7261776769742e636f6d2f66616365626f6f6b2f6372656174652d72656163742d6170702f323762343261632f73637265656e636173742e737667

Are you running it from vscode-terminal ? Or from the terminal app for your OS. And BTW, can you please provide the npm and your OS details ?

@sudkumar Yes i am running it from vscode, and i also tried to run it from git bash. Everytime the same.  npm version : 6.9.0 Windows 10 Pro

Try running npm cache clean --force and then create an application again.


chore: rename shared roles

Description
As a developer, I want to cleanup and organize the code structure.
One of incorrect things are the shared roles here
We should rename these roles from shared_role-name to just role-name
Acceptance Criteria

Changing of role-name and their documentation references
Using the newly updated role names in the rest of the code, tested.

#2201


Bump OTLP specification version to v1.0.0

This PR proposes to:

Bump the OTLP specification version to v1.0.0.
Fix building by replacing instrumentationLibrarySpans with scopeSpans diff.
It was deprecated in version v0.15.0 and removed in version v0.19.0.
Use qualified import for Common_Fields and Trace_Fields in the OpenTelemetry.Exporter.OTLP.Span module.
Bump the hs-opentelemetry-otlp package version.

@marinelli are you familiar with the spec changes that have occurred? In particular, it looks like we should maybe be renaming our InstrumentationLibrary to InstrumentationScope? Do you know if there are any other things like this we might be missing?

Thanks, this looks good to me, modulo the versioning change. Have you tested that a third-party OTLP consumer still accepts the data we produce with this change?

I tested the library by sending tracing messages to Grafana tempo (with and without an opentelemetry-collector in the middle).

Great, thanks!

@marinelli are you familiar with the spec changes that have occurred? In particular, it looks like we should maybe be renaming our InstrumentationLibrary to InstrumentationScope? Do you know if there are any other things like this we might be missing?

I had a look at the opentelemetry-proto changelog, at the diff between versions, and I didn't find any other mandatory changes relevant for the new OTLP version.
I think we could rename InstrumentationLibrary to InstrumentationScope, but I'm still not sure why we have librarySchemaUrl there :) (I'm still learning OpenTelemetry)


Remove & organize permissions

I don't think we need any of these.
If you disagree, speak now or forever have slightly more privacy.
Fixes https://openedx.atlassian.net/browse/MA-1989

If we get rid of the rid of the wifi one will that break blocking users from downloading videos on cell connections if they have that setting on?

If we get rid of the rid of the wifi one will that break blocking users from downloading videos on cell connections if they have that setting on?

No, detecting network types is handled by ACCESS_NETWORK_STATE permission.

@1zaman ?

@@            master    #563   diff @@
======================================
  Files          469     469
  Stmts        21894   21876    -18
  Branches      3181    3178     -3
  Methods          0       0
======================================
- Hit           2941    2936     -5
  Partial        378     378
+ Missed       18575   18562    -13

Review entire Coverage Diff as of 213735a

Powered by Codecov. Updated on successful CI builds.

LGTM :+1:

@1zaman or @miankhalid please review?

:+1:


[add-resource] New Plugin/Theme

I would like to add my new theme to the Grav Repository.
Here are the project details: https://github.com/giansi/gravstrap-theme. I also prepared a skeleton for it, https://github.com/giansi/gravstrap-theme-skeleton, but I was not able to test it. I published the demo on my website http://gravstrap.diblas.net/

There is a bug in your theme: double click on "Layouts" and move the mouse away. Then the Layouts-item will disappear. And i think another bug is that the background of "Layouts" isn't transparent if the menu is shown

@Endogen thank you, but the problem is in the gravstrap plugin. I will fix it ASAP

Your skeleton package still is not an all-in-one installer like the other skeletons.  We did make our builder available under the getgrav/grav-devtools repo, so please check it out.  It will make your building process much simler.

BTW i'll get your theme added today, just been uber busy!

Sorry, I forgot to tell you the dependencies. These plugins are required:  gravstrap,  blog,  markdownsections,  simple_form,  googlemaps. These are optionally but it would be better if if you could add them: simplesearch, feed, relatedpages, pagination, taxonomylist, archives.

About the skeleton. I've noticed you released grav-devtools, but I work on linux and I don't have a mac. I compared an existing skeleton with mine and everything seem equal, but probably I missed something. Maybe someone of your team could fix it and pull request it.

I don't think your understanding.. your release is just a zip of your repo.. you need to upload a package that contains the skeleton with grav and plugins, theme etc.
Compare yours: https://github.com/giansi/gravstrap-theme-skeleton/releases/tag/v0.9.0
With one of ours: https://github.com/getgrav/grav-skeleton-multilang-site/releases/tag/1.2.0

@Endogen this fixes your report: https://github.com/giansi/gravstrap/commit/ee1386a1dcef39bf633b9383b812c23d58f917a2. You can check it here: http://gravstrap.diblas.net/
Thank you again.

@rhukster no, probably I don't understand. :-) I will check it tomorrow and try your script on linux.

Your missing a screenshot, and maybe other bits, but it aborted there:
gravstrap-theme (giansi/gravstrap-theme)...failed [getScreenshot]

Ok, I've added it. Congrats for Grav major release!

@rhukster I've added the full grav package skeleton to https://github.com/giansi/gravstrap-theme-skeleton/releases/tag/v0.9.0: is that what you mean?

@rhukster another thing. I used gpm to grab the required plugins and when I tried to get markdown sections, I noticed is had been added as markdown-sections instead of markdownsections and that causes an error: could you rename it as markdownsections?

@rhukster I missed the blueprints dependencies flag and now I've added the required dependencies on my own. About the MarkdownSections plugin, I've added a workaround to work with both names.

gravstrap skeleton failed being added to GPM due to a missing screenshot. When you fix that and rerelease it should show up on getgrav.org/GPM within an hour.

all showing up now.. closing.


fix: sync with latest template repo updates

PR summary
Updating SDK repo according to changes in https://github.ibm.com/CloudEngineering/go-sdk-template/pull/70
PR Checklist
Please make sure that your PR fulfills the following requirements:

[x] The commit message follows the Angular Commit Message Guidelines.
[ ] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] New tests
[x] Build/CI related changes
[x] Documentation content changes
[ ] Other (please describe)

What is the current behavior?

What is the new behavior?

Does this PR introduce a breaking change?

[ ] Yes
[ ] No

Other information

:tada: This PR is included in version 1.0.5 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


6 comment scores

Enable a scoring system for comments where a user can only vote up or down on a comment. Vote information should be stored with the comment most likely.

Pretty happy with this now


Loader -> loaders with Environment.extend support

Can Environment.loader be Environment.loaders alway like a list of loaders?
So Environment.extend(loaders = SomeNewLoader) check if loader not in the list will added it.
This will be very helpful for writing extensions.

I'm not really clear on the use case here, but it sounds like you could solve this by writing a combining loader similar to ChoiceLoader.


starlark-rust: 0.9.0 -> 0.10.0

Diff: https://diff.rs/starlark_bin/0.9.0/0.10.0
Changelog: https://github.com/facebookexperimental/starlark-rust/blob/v0.10.0/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[x] x86_64-darwin
[x] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 261849 run on x86_64-linux 1

1 package built:

starlark-rust


Add support for instance reuse policy and fix bug for tag for v4

what

Fix bug for https://github.com/cloudposse/terraform-aws-ec2-autoscale-group/issues/100
Add support for instance reuse policy for warm pool

why

My module needs this new feature for warm pool

references

/test all

@nitrocode


AMBARI-25013. New kerberos-env property to allow populating auth_to_local rules for non installed service components

What changes were proposed in this pull request?
Ambari should optionally generate auth-to-local rules for the Kerberos identities of all components of installed services.
Currently Ambari will generate auth-to-local rules for the installed components of installed services. This is generally the accepted behavior. However, there may be cases where identities from remote clusters (using the same Kerberos realm) need to be translated to local names.
A use case may be that some slave component for a service is installed on a remote cluster, but that component is not installed on the local cluster. However a master component of that service is installed on the local cluster and the slave component from the remote cluster needs to communicate with it.
The solution is to add a new property to kerberos-env, maybe named include_all_components_in_auth_to_local_rules, where the default value is false. If set to true, when building the auth-to-local rules, Ambari should add the rules for all components of installed services, not just the installed components (which is what it does today).
How was this patch tested?
Added new unit test to cover this case:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 27:55 min
[INFO] Finished at: 2018-12-13T11:14:26+01:00
[INFO] Final Memory: 170M/1724M
[INFO] ------------------------------------------------------------------------

Additionally the following E2E test has been executed:

installed a cluster with HDFS (and Kafka, but it's irrelevant now since Kafka does not support our auth to local feature) without NFSGateway

applied my changes (replaced the server JAR with the new one and edited the kerberos-env.xml to have the new property)

Kerberized the cluster

checked hadoop.security.auth_to_local within HDFS / Configs / Advanced / Advanced core-site. As expected the auth to local rules contained the rule for not installed components (NFSGatwway, JournalNode) too

Successfully installed and started an instance of NFSGateway on c7402

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/4741/
Test PASSed.


Diplicate id name change

Fixes #3076
Describe the changes you have made in this PR -
I have changed id name in which same id was used on more than one Element and also have add their new name with respective functions.
Note: Please check Allow edits from maintainers. if you would like us to assist in the PR.

Coverage remained the same at 81.785% when pulling 4c68b0b68e4e92cc4abd87f90797808419e9f8cf on techMonowar:Duplicate-id#3076 into 673f5edf97f64d3593475e1b00db011b165e75d7 on CircuitVerse:master.


Spelling Corrections in README

What does this PR do?
This pull request addresses spelling errors in the README file of our project.
Fixes # (issue)

Corrected misspelling of embdder to embedder

Before submitting

[x] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[x] No code changes were made in this PR

Who can review?
Anyone in the community is free to review the PR once the tests have passed. Feel free to tag  members/contributors who
may be interested in your PR.

Good catch!


Reproduce failed.

Hi, I was interested in your method, so I downloaded the source code and ran it, but I didn't get the results in README.
I used the ResNet18 pre-trained model (this link)provided by PyTorch.
I've attached my training log and I'm not sure what the problem is.
output.log

Did you find the answer to this question?


Implementing Tree Data Structure in C++,Python3 using Linked List.

🚀 Feature
(A clear and concise description of what the feature is.)
A tree data structure which can have functions like search,insertchild  etc..
Have you read the Contributing Guidelines on Pull Requests?
(Write your answer here.)
yes
Motivation
It is very important to know about Tree data stucture before going for BSTs,AVL Trees,Red Black Tree etc.
(Please outline the motivation for the proposal.)
Pitch
It is a good start before learning about other types of trees and also it is a important part of  Data Structures.
(Please explain why this feature should be implemented and how it would be used.)

I would like to work on it.

please assign it to me

Can I do it.

I am interested in implementing Trees in C++.Can I do it?


Simple Example

A working example using this OpenAPI Annotation Processor - https://github.com/paulkagiri/JavalinOpenApiExample

Thanks, I've added link to the readme :)


Fixed "rolling out" state for AIP Disabled by Default

Needs changing to "Current Channel: Rolling out to 2302+" (so we keep the channel name listed first for consistency)

sign-off, merging


Enable dragging items on Firefox

We may not be able to get the mouse position data during drag events because of some Firefox bugs. (ref: https://bugzilla.mozilla.org/show_bug.cgi?id=505521)
In this page, using setCapture function was proposed and it seems to work normally (but it doesn't work on Chrome).


fix bugs in digit codes

Hello, your work is excellent. I'm very interested in your work, so I ran your code and reproduced most of the experiment results.
In the process of reproduction, I found three problems in the digital code.

Before calling the 'obtain_label()' function, ”netB.eval()" is mistakenly written as "netF.eval()", resulting in the BN layer of bottleneck module mistakenly stays in the .train() state.
In the "train_source()" function, you forgot to add "netF.train()", "netB.train()" and "netC.train()" in the end of the model validation process, so the mean and variance of the BN layers can not be updated  after the first finished the first model validation.
The "train_target()" function has the same problem as above. So Line of "netF.train()" and "netB.train()" should be added.

After fixing these bugs in the digit experiment code, the experiment results will be changed to some extent, especially the results of SHOT-IM method. The training process of SHOT-IM method will become stable and the score improvement is very obvious. The scores of SHOT-IM in my reproduction results are as follows.
SHOT-IM   S->M: 99.0±0.0; U->M: 98.3±0.5; M->U: 98.1±0.1; Avg.: 98.5.

Hello, your work is excellent. I'm very interested in your work, so I ran your code and reproduced most of the experiment results.
In the process of reproduction, I found three problems in the digital code.

Before calling the 'obtain_label()' function, ”netB.eval()" is mistakenly written as "netF.eval()", resulting in the BN layer of bottleneck module mistakenly stays in the .train() state.
In the "train_source()" function, you forgot to add "netF.train()", "netB.train()" and "netC.train()" in the end of the model validation process, so the mean and variance of the BN layers can not be updated  after the first finished the first model validation.
The "train_target()" function has the same problem as above. So Line of "netF.train()" and "netB.train()" should be added.

After fixing these bugs in the digit experiment code, the experiment results will be changed to some extent, especially the results of SHOT-IM method. The training process of SHOT-IM method will become stable and the score improvement is very obvious. The scores of SHOT-IM in my reproduction results are as follows.
SHOT-IM S->M: 99.0±0.0; U->M: 98.3±0.5; M->U: 98.1±0.1; Avg.: 98.5.

Thanks very much, Weng zejia! I will update the new results several days later.

Hello, your work is excellent. I'm very interested in your work, so I ran your code and reproduced most of the experiment results.
In the process of reproduction, I found three problems in the digital code.

Before calling the 'obtain_label()' function, ”netB.eval()" is mistakenly written as "netF.eval()", resulting in the BN layer of bottleneck module mistakenly stays in the .train() state.
In the "train_source()" function, you forgot to add "netF.train()", "netB.train()" and "netC.train()" in the end of the model validation process, so the mean and variance of the BN layers can not be updated  after the first finished the first model validation.
The "train_target()" function has the same problem as above. So Line of "netF.train()" and "netB.train()" should be added.

After fixing these bugs in the digit experiment code, the experiment results will be changed to some extent, especially the results of SHOT-IM method. The training process of SHOT-IM method will become stable and the score improvement is very obvious. The scores of SHOT-IM in my reproduction results are as follows.
SHOT-IM S->M: 99.0±0.0; U->M: 98.3±0.5; M->U: 98.1±0.1; Avg.: 98.5.

Thanks very much, Weng zejia! I will update the new results several days later.


deep-link not working.....navigation is reset on refresh

════════ Exception caught by Flutter framework ═════════════════════════════════
The following message was thrown:
Could not navigate to initial route.
The requested route name was: "/categories/fruits"
There was no corresponding route in the app, and therefore the initial route specified will be ignored and "/" will be used instead.
════════════════════════════════════════════════════════════════════════════════
When the app is launched and I try to either refresh the page or open the same link in another tab, the app reloads and navigates back to the initial route '/'

#99124

@Parables
Is it related to go_router package ?
Can you elaborate properly with flutter doctor -v, a minimal code sample along with steps to replicate ?


Changes to make the use of trailing commas consistent throughout the project

This modifies the changed files such that the use of trailing commas is consistent through out the project.
Which in turn allows all C812 exceptions to be removed from the flake8 configuration file which are a result of a linter being vetted called flake8-commas which is part of the wemake style guide.
Although this does not enforce the use of trailing commas, it will allow users of tox -e lint-vetting to use it to both add trailing commas where they are missing and see errors that indicate a missing trailing comma which would be inconsistent with the repository.
The changes were made by the precommit formatter called add-trailing-comma followed by black.  Only one file needed to be manually editted to break a long string.
tests/integration/_tmux_session.py:277:101: E501 line too long (101 > 100 characters)
                    f"******** ERROR: TMUX '{err_message}' TIMEOUT @ {elapsed}s @ {tstamp} ********",

(the string was simply broken in half)

With black active we don't need another formatter (add-trailing-comma) that does what black already does anyway.

It does not do exactly the same. add-trailing-comma is a bit stricter but does not create conflicts with black. I think we need it integrated because it solves the trailing commas problem in a nicer way (per my experience).

recheck : why py37+ all failed, very weird as I did not see any real bytecode change with that... or maybe there is one.


Add support for SwiftPM based dependency managers

This adds support for SwiftPM manifest based dependency managers. Specifically this adds support for installing via Accio but will probably also work with SwiftPM once it's integrated into Xcode.
Please note that this project is part of Accio's official integration tests within the Demo project.
Also, as there is no documentation file in the repo, here's the description on how to install Accio for copy & paste purposes into the official documentation on realm.io:

Installation via Accio
Add the following to your Package.swift:
.package(url: "https://github.com/realm/realm-cocoa.git", .upToNextMajor(from: "3.15.0")),

Next, if your project uses Swift code, add RealmSwift to your App targets dependencies like so:
.target(
    name: "App",
    dependencies: [
        "RealmSwift",
    ]
),

Specifying RealmSwift will automatically integrate Realm for Objective-C usage, too. If you only need the Objective-C variant of Realm, specify Realm in your targets dependencies instead.
Then run accio update.

Any updates on this?

@tgoyne Is there anything holding this off from being merged? This PR is waiting 6 weeks now without any feedback whatsoever ... would be great if support for installation via Accio was added!

I started trying to set up the CI stuff to test that this continues to work, but then got sidetracked. I guess there's no real need to wait on that with how simple the project manifest is, and since we're testing Carthage installation that should cover ensuring that it continues to build properly.
I think we now need a MongoDB contributor agreement to merge things.

@tgoyne Ah, no sorry. I won't do some extra licensing work just for you guys to merge this. Please continue to demand such a weird and unnecessary thing to make contirbuting a hassle. This will really improve the code base!

Hi @Dschee - sorry you feel that way. It's not our intention to make contributing a hassle - on the contrary, and we highly appreciate your effort. It may be considered unnecessary (for us non-lawyers) but it's at least not weird as it is standard practice if you are contributing to any OSS maintained by companies. It basically just ensures both parties are legally agreeing. In any case, thanks for the effort and we will work on this feature later.

I can see that, but isn't this open source software and things are clarified through the License the code is under? Also, if the agreement process was just a few clicks, I'd have done that and not complained. But it isn't. The link you posted doesn't even contain a process or explain anything – I'd have to figure out on my own how I could agree ... it's just not an easy process. Maybe you should consider streamlining that process before making that a requirement. Or live with how it is now.

@Dschee It sure is open source. But still, you have to actively "hand over the rights to the code you make" to the project. This explains it very short.
I haven't actually gone through the new MongoDB SLA process (the acquisition is rather new). If it makes a difference or is simpler you can also use the Realm CLA which is based on Apache CLA. It is just filling in your contact details and click submit). We surely want it to be easy, so I do appreciate your feedback if you think we can make it easier in any way.
Appreciate your understanding.

Yes, that one was straightforward and I have just filled the form. So, reopening then.

Can't believe this is taking so much time. SPM support is need of the hour!

@Browserside We have full SPM support


Introduce flag for parallel builds

Here's an attempt to introduce an option in the Makefile for passing the number of parallel build threads to the CMake script. Usage:
CMAKE_BUILD_JOBS=8 make

Passing 8 threads on my i7-8550U CPU brought the build time down from ~9 minutes to ~3.5 minutes.
Remarks:

I understand that allowing parallel builds is not a trivial decision, e.g. I've seen traces of parallel builds being disabled for builds including SQLancer tests --
https://github.com/cwida/duckdb/blob/46cf07a393d3f6dc59462695dec9d8beb742b77a/.travis.yml#L385
So maybe for certain build such as ubsandebug parallel builds should not be offered. Please advise on this.
I looked into the README/documentation but didn't find any info on whether developers should/shouldn't do a parallel build, and if they should, what is the recommended way to achieve it.
I have contemplated using the JOBS variable (which some people set by default in their ~/.bashrc file) but that might result in unintended parallel builds.

We recommend to use ninja to build DuckDB. if you run GEN=ninja make it will use it instead of make internally.

This indeed works, thanks. Is there a developer guide where I can document this?

We have the CONTRIBUTING.md where you could add it. This should probably be rewritten and added to the website in some form, though.

Thanks, let's continue in #484.


🪙 Dealing with API tokens

There is currently no defined way to deal with API tokens that may be needed to interact with the underlying API of a device.
Our (planqc's) device needs an API token for job submission. For now, we have hard-coded the API token in our shared library, but this means that our shared library breaks when the token expires.
If a device needs a token only for job submission, it can, in principle, be set with QDMI_control_set_parameter. However, devices may also want to use a token for the query interface.

@denialhaag Thanks for bringing this up.
I wonder what the best solution is here. At the moment, I see three different options that I want to summarize in the following:

Using QDMI_control_set_parameter as suggested by @denialhaag already: For this option, one would need to add another QDMI_Job_Parameter, e.g., QDMI_JOB_PARAMETER_TOKEN. Then, the token can be passed to the job as a parameter.
Using QDMI_session_set_parameter: For this option, one would need to add another QDMI_Session_Parameter, e.g., QDMI_SESSION_PARAMTER_[VENDOR]_TOKEN where [VENDOR] is a placeholder for the vendor of the device as I think that most likely every vendor will have a different token. Even several devices of the same vendor may be accessed with different tokens.
Renaming QDMI_control_set_parameter to QDMI_control_set_job_parameter (which we should perhaps do anyways) and creating a new function QDMI_control_set_device_parameter in a similar style as the other setter for parameters. This way, one could set one token for one device. However, for me, it feels slightly awkward to set a parameter of the device, as in my view, the device has properties that I can query but no parameters I can set, but that might also just be a me-problem.

Any opinion is very welcome.

I may be missing something, but I think @denialhaag's last remark was not addressed with the proposed solutions:

If a device needs a token only for job submission, it can, in principle, be set with QDMI_control_set_parameter. However, devices may also want to use a token for the query interface.

I find this particularly interesting because a QDMI device could behave like a QDMI client to interface with a real backend. Take, for example, Eviden's QDMI device. It should be capable of querying the noise model of a real backend, but we should not allow such an appliance to use all of the backend's QDMI device query routines (let alone control routines).

I may be missing something, but I think @denialhaag's last remark was not addressed with the proposed solutions:

If a device needs a token only for job submission, it can, in principle, be set with QDMI_control_set_parameter. However, devices may also want to use a token for the query interface.

Technically, my proposal above was intended to address the full use case including the comment you quoted. However, as part of the discussion with @ystade on implementing that, it turned out that there's a bit of a bigger issue that we need to address.
This is probably also the thing you might be missing here: https://github.com/Munich-Quantum-Software-Stack/QDMI/issues/117, which is linked right above your comment.
There is some discussion to be had over there, but I think once resolved, it should also resolve this issue here.

I find this particularly interesting because a QDMI device could behave like a QDMI client to interface with a real backend. Take, for example, Eviden's QDMI device. It should be capable of querying the noise model of a real backend, but we should not allow such an appliance to use all of the backend's QDMI device query routines (let alone control routines).

Note that exposing access to the query methods isn't critical as they are read-only anyway, hence the name "query".

I'm not sure I totally agree with this statement:

Note that exposing access to the query methods isn't critical as they are read-only anyway, hence the name "query".

Even if we cannot think of specific scenarios now, some vendors might prefer exposing certain features/capabilities only to particular users.

Even if we cannot think of specific scenarios now, some vendors might prefer exposing certain features/capabilities only to particular users.

Right 👍🏼.
The solution proposed above facilitates that without adding anything extra though.
The Eviden appliance will need its own tokens for the devices it wants access to.
These tokens might only offer limited access to the QDMI interface of the respective devices.
So I think once implemented, we are well covered even for this future scenario.

These tokens might only offer limited access to the QDMI interface of the respective devices.

Do you mean that the QDMI specification should assume that a QDMI device has to control which routines are exposed to a QDMI client based on the tokens it used for authentication?

These tokens might only offer limited access to the QDMI interface of the respective devices.

Do you mean that the QDMI specification should assume that a QDMI device has to control which routines are exposed to a QDMI client based on the tokens it used for authentication?

A device implementation does not have to, but it might choose to do that.
At least this is one way that we can rather easily make this possible.

Just wanted to mention that there is already a READONLY and READWRITE mode to load a device provided from the driver side.
However, this is just a comment, and I totally agree with the already discussed approach to implement #117 properly and then this issue should also be resolved.


Fix the Instagram API

Describe the bug
Fix the Instagram API as it always shows penname is no longer available even if it is available. Update the backend API code accordingly.
To Reproduce
Enter any username and hit enter. The Instagram API always fails.
Expected behavior
All the APIs displayed should be working properly.
Screenshots

can I contribute on this issue?

@retry19 Sure Go ahead


feat: keycloak auth and loading landing page

Keycloak Authentication and Loading Landing Page
This MR implements Keycloak authentication and adds a loading landing page to our React application.
Changes

Added Keycloak authentication:

Integrated Keycloak-js library for authentication
Created auth service for Keycloak initialization and token management
Updated API calls to include authentication tokens

Implemented loading landing page:

Added a new LoadingPage component
Updated App component to handle authentication state and routing

Restructured application layout:

Moved main content to a new Photos component
Updated routing to protect authenticated routes

Environment configuration:

Added .env.example with Keycloak configuration variables
Updated .gitignore to exclude .env file

Dependencies:

Added keycloak-js and react-router-dom to the project

Updated README.md with setup instructions

Impact

Users will now be required to authenticate through Keycloak before accessing the application
Improved user experience with a loading page during authentication
Better separation of concerns with new component structure

Testing

Tested Keycloak authentication flow
Verified proper routing between authenticated and non-authenticated states
Ensured loading page displays correctly during authentication

I'll rename branch and re-pr again later


[ERROR] Database "twitch" does not exist

Hi, I'm getting this error after using fig up for the first time:
bot_1 | Traceback (most recent call last):
bot_1 |   File "main.py", line 24, in
bot_1 |     main()
bot_1 |   File "main.py", line 16, in main
bot_1 |     manager = TwitchManager(channels_amount=args.channels_amount, channels=args.channels, log_filename=args.log_filename)
bot_1 |   File "/code/manager.py", line 28, in init
bot_1 |     settings.DATABASE['PASSWORD'])
bot_1 |   File "/code/db_logger.py", line 11, in init
bot_1 |     self.conn = psycopg2.connect(host=host, dbname=name, user=user, password=password)
bot_1 |   File "/usr/local/lib/python2.7/site-packages/psycopg2/init.py", line 164, in connect
bot_1 |     conn = _connect(dsn, connection_factory=connection_factory, async=async)
bot_1 | psycopg2.OperationalError: could not translate host name "db" to address: Name or service not known
bot_1 |
twitchchatlogger_bot_1 exited with code 1
when I entered fig up for the second time, I got this error:
db_1  | LOG:  database system was interrupted; last known up at 2016-05-10 19:47:08 UTC
db_1  | LOG:  database system was not properly shut down; automatic recovery in progress
db_1  | LOG:  redo starts at 0/1707678
db_1  | LOG:  invalid record length at 0/1707808
db_1  | LOG:  redo done at 0/17077E0
db_1  | LOG:  last completed transaction was at log time 2016-05-10 19:47:09.662833+00
db_1  | LOG:  MultiXact member wraparound protections are now enabled
db_1  | LOG:  database system is ready to accept connections
db_1  | LOG:  autovacuum launcher started
db_1  | FATAL:  database "twitch" does not exist
bot_1 | Traceback (most recent call last):
bot_1 |   File "main.py", line 24, in
bot_1 |     main()
bot_1 |   File "main.py", line 16, in main
bot_1 |     manager = TwitchManager(channels_amount=args.channels_amount, channels=args.channels, log_filename=args.log_filename)
bot_1 |   File "/code/manager.py", line 28, in init
bot_1 |     settings.DATABASE['PASSWORD'])
bot_1 |   File "/code/db_logger.py", line 11, in init
bot_1 |     self.conn = psycopg2.connect(host=host, dbname=name, user=user, password=password)
bot_1 |   File "/usr/local/lib/python2.7/site-packages/psycopg2/init.py", line 164, in connect
bot_1 |     conn = _connect(dsn, connection_factory=connection_factory, async=async)
bot_1 | psycopg2.OperationalError: FATAL:  database "twitch" does not exist
bot_1 |
twitchchatlogger_bot_1 exited with code 1
Any idea how this can be solved?

Did you install Postgress and setup a DB?


Nested input types are not deserialized into class instances

Describe the bug
When having nested input types only the top-most class gets transformed into it's instance. Any nested objects remains plain javascript objects.
To Reproduce
@InputType()
class NestedTestInputType {
  @Field()
  foo: number
}

@InputType()
class TestInputType {
  @Field()
  nested: NestedTestInputType
}

@Service()
@Resolver(of => /* ... */)
export class TestResolver {
   @Query(returns => [String])
  async test(@Arg('filter') filter: TestInputType) {
    assert(filter instanceof TestInputType, 'Filter must be instance of TestInputType') // <-- OK
    assert(
      filter.nested instanceof NestedTestInputType,
      'Filter#nested must be instance of NestedInputType',
    ) // <-- FAILS
    return []
  }
}

Expected behavior
Nested input types should be deserialized into instances of their classes recursively.
Enviorment (please complete the following information):

<EMAIL_ADDRESS>

Unfortunately, I can confirm that. I've added proper test cases for that on the branch.
This bug applies also to arrays and nested inputs inside args type classes. It might also show up in nested @Root objects but it's irrelevant due to the way how graphql is designed and how resolvers are called. And due to this, nested validation also won't work.
At the beginning I've used class-transformer to handle that plain to class transformations but I had some issues with object which fields values were promises. So I had to switch to the simple return Object.assign(new Target(), data); solution that works only on first level.
But looks like even plainToClass is not a solution as we still have to decorate the fields with @Type decorator, otherwise they are stil objects, not instances of the class.
@ArgsType()
class SampleNestedArgs {
  @Field()
  factor: number;

  @Field()
  @Type(() => SampleInput) // without this, `input.constructor` is `Object`
  input: SampleInput;
}

As it applies to input type classes, the solution might be to load the input type class metadata during transformation and check for nested fields and then call it recursive. But using MetadataStorage inside this helpers is not a good idea, I need to find a way how to get this field types info there.

Thank you for such a quick reaction. I am beginning to use your library so I am not yet familiar with all it's internals. What exactly do you see as a problem when using MetadataStorage inside of said helper? From my point of view it seem like an only solution.

Basically, after a dozen of new features current architecture is getting very messy. I've designed it with no problems like this in mind, so it's now the bottleneck.
Generally, now decorators just collect simple metadata and put them in MetadataStorage, then it's "builded" attached fields metadata to classes, etc., and then it's used to generate the schema. There's a lot of null assertion and other code smells. So I have to redesign it to introduce the builded metadata as a separate step with own class that have better designed shape of data.
So after this refactor, I would have access to the info about the input type field in handler's params metadata, that are passed from the schema generator down to the convert type helper. No global access or finding in arrays for data 😉
https://github.com/19majkel94/type-graphql/blob/7c534eac95d24b53cd40929b1101e2a35b893e37/src/resolvers/create.ts#L15-L17
https://github.com/19majkel94/type-graphql/blob/7c534eac95d24b53cd40929b1101e2a35b893e37/src/resolvers/create.ts#L32-L33
So this may be related to #123 as it also rely on the change of the metadata info format.

I fall into this issue too.
For me, it is not a problem on the schema generation, and it seems to work but i got this log on each request :
No metadata found. There is more than once class-validator version installed probably. You need to flatten your dependencies

Is it related, and will it be fixed by your current work on this issue ?

@19majkel94 What is the status here? Do you need any help?

It's generally blocked by #183 - I need to rewrite the args parsing phase to have more metadata info needed to deeply transform the nested object.

Hey @19majkel94, what are the problems you ran into with class-transformer? I understand that the appropriate type could be inferred by storing some metadata when all decorators are built, but like you said by decorating all fields with @Type the problem can at least be solved. Is there any chance you could revert to using class-transformer?

class-transformer crashes when the property is a promise, which is a case of transforming e.g. an object type with TypeORM lazy loading fields:
https://github.com/19majkel94/type-graphql/blob/d15d1317065da5256f2eb8b2fd9f2e51bb933497/examples/typeorm-lazy-relations/entities/user.ts#L25-L28
If you can't wait for a proper fix, feel free to fork and replace this line of convertToType function with class-transformer and use @Type decorators to provide type info for it:
https://github.com/19majkel94/type-graphql/blob/d15d1317065da5256f2eb8b2fd9f2e51bb933497/src/helpers/types.ts#L97-L99

@19majkel94 this is precisely what I am doing, I guess this is my best option until a proper fix then 😄

The workaround does not work if using an abstract class ResourceResolver as in the example https://github.com/19majkel94/type-graphql/blob/d15d1317065da5256f2eb8b2fd9f2e51bb933497/examples/resolvers-inheritance/resource/resource.resolver.ts#L36
The Abstract Resolver class knowns by parameter the Class Type due the given parameter ResourceCls: ClassType so I can use these in getOne and getAll. But for embedded resources I don't know the Classtype of the embedded objects to make it recursive.
Note: In getOne and getAll I call a service that queries the database based on GraphQLResolveInfo which returns the native Objects. I have no chance there to get the correct class for embedded objects.
Did I miss something?

Would it be possible to make the Class type available in the GraphQLResolveInfo?
Then we could get all required information there to build the objects.
I.e. in the selectionSet.fieldNodes or returnType property?

@spali Related to #123 - I would rather not extending or modifying GraphQLResolveInfo object.

I got your point.
I already had to "hack" the GraphQLResolveInfo object due the lack of adding custom metadata in a supported way. I use custom decorators that put's DB related information to it, which I use in the service injected into the Context that I use in the resolver that is inherited by all my Resolvers to get the related objects from the db. To avoid additional db queries I build the queries by "custom joinmonster" which recursively uses the  GraphQLResolveInfo.
To be honest, I'm struggling here a bit, since I need to return the objects in the specific class I don't know anymore how I should solve this problem without build more and more hacks to get it work again.
Do you have any suggestion which way I should go?

@19majkel94

But looks like even plainToClass is not a solution as we still have to decorate the fields with @Type decorator, otherwise they are stil objects, not instances of the class.

Why not combine decorators, for example:
import { Type } from "class-transformer";
import { ValidateNested } from "class-validator";
import { ClassType, Field } from "type-graphql";
import {
  AdvancedOptions,
  MethodAndPropDecorator
} from "type-graphql/dist/decorators/types";

export type ReturnTypeFunc = (returns?: undefined) => Function | ClassType;

export function NestedField(
  returnTypeFunction?: ReturnTypeFunc,
  options?: AdvancedOptions
): MethodAndPropDecorator;
export function NestedField(
  returnTypeFunction: ReturnTypeFunc,
  options?: AdvancedOptions
): MethodDecorator | PropertyDecorator {
  const fieldFn = Field(returnTypeFunction, options);
  const typeFn = Type(returnTypeFunction);
  const validateNestedFn = ValidateNested();

  return (target, propertyKey, descriptor) => {
    fieldFn(target, propertyKey, descriptor);
    typeFn(target, propertyKey as string);
    validateNestedFn(target, propertyKey as string);
  };
}

@InputType()
export class NestedTestInputType {
  @Field()
  foo: number
}

@InputType()
export class TestInputType {
  @NestedField((type) => NestedTestInputType)
  nested: NestedTestInputType
}

Hi!
As @19majkel94 said I would like to use workaround with using Type decorator. But what if I have array with nested objects?
@InputType()
export class SomeInput {
  @Field(() => [CourseInput])
  @Type(() => CourseInput)
  public courses?: CourseInput[];
}

I've added Type decorator, but without expecting results (constructor = Object).
PS. I tried to remove explicit type from Field, but without success - I got an error 'You need to provide explicit type for SomeInput#courses !'

Has there been any progress on this issue? One of my classes relies on a nested array of an object. I have tried the majority of the fixes here although I'm not sure what there is to do. Is there anything that we as the community can do to assist in the completion of this ticket?

@bpofficial
For now you can create a fork, modify the convertToType to use class-transformer and the workaround. But be aware, it fails with Promise, so no TypeORM lazy-loading possible.

I didn't want to fork and maintain my own version. So I cooked a TypedArgs decorator that leverages createParamDecorator in order to replace the method parameter with the deep typed one (using class-transformer). It can be used instead of Args decorator.
Here it is the code, hope it helps, hope @19majkel94 's eyes will not bleed. 😄
import { plainToClass } from "class-transformer";
import { Args, createParamDecorator, SymbolKeysNotSupportedError } from "type-graphql";
import { findType } from "type-graphql/dist/helpers/findType";
import { ValidateOptions, ReturnTypeFunc } from "type-graphql/dist/decorators/types";
import { getTypeDecoratorParams } from "type-graphql/dist/helpers/decorators";
import { validateArg } from "type-graphql/dist/resolvers/validate-arg";

export function TypedArgs(): ParameterDecorator;
export function TypedArgs(options: ValidateOptions): ParameterDecorator;
export function TypedArgs(
  paramTypeFunction: ReturnTypeFunc,
  options?: ValidateOptions,
): ParameterDecorator;
export function TypedArgs(
  paramTypeFnOrOptions?: ReturnTypeFunc | ValidateOptions,
  maybeOptions?: ValidateOptions,
): ParameterDecorator {
  const { options, returnTypeFunc } = getTypeDecoratorParams(paramTypeFnOrOptions, maybeOptions);

  return (prototype, propertyKey, parameterIndex) => {
    if (typeof propertyKey === "symbol") {
      throw new SymbolKeysNotSupportedError();
    }

    const { getType } = findType({
      metadataKey: 'design:paramtypes',
      prototype,
      propertyKey,
      parameterIndex,
      returnTypeFunc,
    })

    const paramDecoratorFunc = createParamDecorator(async ({ args }) => {
      const typedArgs = plainToClass(getType() as any, args)
      return await validateArg(typedArgs, true, options.validate)
    })

    const argsOptions = { ...options, validate: false }
    const argsFunc = returnTypeFunc ? Args(returnTypeFunc, argsOptions) : Args(argsOptions)

    paramDecoratorFunc(prototype, propertyKey, parameterIndex)
    argsFunc(prototype, propertyKey, parameterIndex)
  };
}

maybe this will help someone, i . just created decorator
`
import { plainToClass, ValidateNested } from 'class-validator';
import { Field } from 'type-graphql';
export function Nested() {
return (target: any, propertyName: string) => {
    const Ctx = Reflect.getMetadata('design:type', target.constructor.prototype, propertyName);

    Field(() => Ctx)(target, propertyName);
    ValidateNested()(target, propertyName);

    Object.defineProperty(target.constructor.prototype, propertyName, {
        get() {
            return this[`__${propertyName}`];
        },
        set(value: any) {
            this[`__${propertyName}`] = plainToClass(Ctx, value);
        }
    });
};

}`

@MichalLytek this is kind of disappointing... so many people are probably using class validations with nested inputs expecting them to work.  After a year of use in production, I just found out that a lot of internal apps don't ever validate nested inputs.... My typings are completely broken as well because nested inputs aren't actually what I would expect them to be.

@j i know you might not intend it but your comment comes off as a little chippy. Keep in mind this is a free open source project @michaellytek has given us and i for one am very thankful for all he’s done. If we’re nice to him maybe he’ll keep it up. Try to be positive and contribute a fix if possible.

@chrisdostert Not meaning to come off chippy.  In regards to contributing a fix, I've submitted a few PR's to this library as we use it to to employee a handful of people and do quite a bit of revenue using this library.  In fact, before your comment, I submitted a fix for this.  (https://github.com/MichalLytek/type-graphql/pull/452) We'd be the first to sponsor this project when profits start growing.  I could have phrased things differently, but in the end of the day, it sucks giving trust to a project and realizing it doesn't work as you think it would.
We use nested inputs for "patch" updates, and just realized that validations don't run.  Users on our app can do any edit mutation with invalid data.  We unit test validations separately have expected them to run correctly in type-graphql b/c that's what's documented (although nested input examples don't exist). 😛
Anyway, I'm willing to contribute to this feature. https://github.com/MichalLytek/type-graphql/pull/452
Sorry @MichalLytek if I came off chippy to you.  You come off chippy to me 99% of your comments to me ;) haha.  But I appreciate this library 1000%. <3

@j I might be chippy because I'm irritated that I have so little time and so much things to do, so I am painfully honest and direct 😕
And I also appreciate your help with PRs and nice feature requests 😉

We'd be the first to sponsor this project when profits start growing.

I hope so ❤  I dream about being able to work half-time on TypeGraphQL without financial losses 😄

Fixed by #462 - you can check by installing 0.18.0-beta.5 - npm i type-graphql@beta 🎉


Fix update user

Fix update user info.

any user can update their own password using PATCH through the update password endpoint ('http://localhost:3000/me/:id'). The body must be in json and have a "password" and a "newPassword" attributes.
any admin user can update their info (except password, email and rut) using PATCH method through the update endpoint ('http://localhost:3000/:id').
any regular user can update only their name, surname and country using PATCH method through the update endpoint ('http://localhost:3000/:id').

Hi girls! Could you upload please the entire Postman collection? In JSON format. If you want add it to documentation or as a new file.  Thanks!

Nevermind it's already in the documentation, and are few endpoints. I will check it.

any user can update their own password using PATCH through the update password endpoint ('http://localhost:3000/me/:id'). The body must be in json and have a "password" and a "newPassword" attributes => OK
any admin user can update their info (except password, email and rut) using PATCH method through the update endpoint ('http://localhost:3000/:id') => OK
any regular user can update only their name, surname and country using PATCH method through the update endpoint ('http://localhost:3000/:id') => Regular user forbidden. See screen below:

That's weird. I proved it just now and it's working for me.
Did you make sure the id param is for the same user as the token?

Yeah it's ok. I was positioned at "main" lol. In this branch works perfectly!


Get the voice of a single person

Hi Guys,
I wanted to ask if this crate allows to process the voice of the persons in a channel.
So if the bot is in a channel with 3 persons, than he should get the voice of each person separately without mixing them.
Is that possible?
T

Yes, you get the voice unmixed for every person. If you want it mixed, you would need to do that explicitly, for example with the AudioHandler.
The example code here receives audio for every client and hands them off to another thread (that will then mix it together).
https://github.com/ReSpeak/tsclientlib/blob/f8a05048c5d4f6b89aeb5f01130c2adacb395bf2/tsclientlib/examples/audio.rs#L89-L102


Apply the HLG OOTF when encoding to VarDCT and unapply it when decoding to HLG

This effectively makes VarDCT always display-referred, instead of being
display-referred if and only if the original colorspace did not happen
to be HLG. It means that the linear output of the decoder is now always
suitable for display at a peak luminance of intensity_target.
JxlCmsInterface now has the responsibility of converting between scene
and display light if HLG is involved on one side and not the other. The
default implementation, JxlCms, does it and can be used for inspiration.
Images previously encoded from HLG to VarDCT with the default HLG
intensity_target of 1000, having not had the OOTF applied, will now be
decoded to a HLG signal brighter than the original since the OOTF will
nevertheless still be unapplied. But arguably, it was a bug of previous
encoders, since the linear signal was also too bright for display at a
peak luminance of 1000 cd/m².

Ah, of course clang-format doesn’t like Markdown’s trailing double-spaces for line breaks.


It cannot be installed properly

My system is macOS 13.2.1, Python version 3.9.6, I didn't install with venv when installing (I don't think I need virtual space), it prompts two errors
ERROR: Failed building wheel for aardwolf
ERROR: Could not build wheels for aardwolf, which is required to install pyproject.toml-based projects

pip has been updated to the latest version, please how can I fix it

@Ch1ngg what poetry version are you using? I installed it perfectly on my mac with poetry.

Poetry v1.6.1
Python 3.9.6
macOS 14.0

@sebrink  I didn't use poetry,I use pip, Are you suggesting that I switch to poetry to install？

Ah misunderstood, I'd recommend using poetry if you haven't, it's worked great for me so far.

@sebrink got!

Also, pipx will not install properly, the error is as follows
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Get ready to try using poetry

Cannot reproduce @Ch1ngg probably your pipx version is broken

With pip try this @Ch1ngg
curl https://sh.rustup.rs -sSf | bash -s -- -y
PATH="/root/.cargo/bin:${PATH}"
cargo --help # check if cargo installed
pip install .

Also working for me on a fresh kali installation

@mpgn @NeffIsBack they said they're on MacOS, so this is probably related to the OS version.
@Ch1ngg Can you upgrade to OSX v14 like @sebrink is running? Unfortunately right now I don't think any of our devs run Macs, and they make it impossible or nigh-impossible to run a VM well, so we haven't done much testing on it.

@Marshall-Hallenbeck maybe you can build a macos version?

@Ch1ngg the error is very explicite, simply install rust
https://github.com/Pennyw0rth/NetExec/issues/75#issuecomment-1766561139

Closing due to inactivity


New cheatsheets

Hi Garrett,
I'm Juan Luis from Máxima Formación and a Rosana Ferrero's coworker. Here are her cheatsheets.

Estadística Descriptiva con R - Guía Rápida (Descriptive Statistics with R).
Introducción a R - Guía Rápida (An Introduction to R)
Entorno de Desarrollo RStudio - Guía Rápida (RStudio IDE)

Thanks, and please let me know if you have any suggestion or correction.
Cheers.

Thank you @jlugarrancho. Can you do two things and then resubmit the pull request:

Change the copyright to be CC BY Rosana Ferrero (i.e. the author(s)) instead of CC BY RStudio
Move the pdfs to the /translations/spanish folder

Thanks!

Hi @garrettgman ,
Rosana added some changes to the license in her cheatsheets.

Estadística Descriptiva con R - Guía Rápida (Descriptive Statistics with R).
Introducción a R - Guía Rápida (An Introduction to R)
Entorno de Desarrollo RStudio - Guía Rápida (RStudio IDE cheatsheet - Translation)

Thanks and please let me know if you have any suggestion or correction.

Thank you @jlugarrancho. I've added the cheatsheets to https://www.rstudio.com/resources/cheatsheets/.
I'd like to thank Rosana Ferrero on twitter to help publicize her cheatsheets. Does she have a twitter account that I could mention in the thanks? Thanks.

You're welcome. Many thanks for your work @garrettgman .
Yes, her twitter is @RosanaFerrero and the twitter of Maxima Formación is @maximaDataSci_R

Thanks @jlugarrancho! Tweet/thank you sent!


[zh] Update create-cluster-kubeadm.md and fix invalid links

en PR https://github.com/kubernetes/website/pull/30230

/assign @tengqm
Could you please take a look? Thanks!

Thanks, done.

Thanks.
/lgtm
/approve


[New game]: Mastermind Mania

🎮 Game Request
Game logic and basic description:
Mastermind Mania is a Mathematical calculation game for kids, that begins with a sum that must be solved before a rocket attack. If the answer is correct, a bullet destroys the rocket, and the game continues; otherwise, you lose.
The game is designed using Html, CSS, and javascript.
The calculations will be based on Addition, Subtraction, Multiplication, and Division.
Point down the features
Game points
Select program in which you are contributing
GSSoC23
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

/assign

Hey @Sheetal-05 👋!
@kunjgit here,
We have this annoucement to make 📢!!
💥 Special Announcement:
It's the Call to all the designers 🔥 🎨
As you all know that GameZone has crossed 100 games 💗 , it's time that we all come up together and make the UI even better!!
We are redesigning the thumbnails, make sure you come up with the aesthetic and cool ideas 🚀 !
You are supposed to share the 4 different templates that can be used. Make sure that the size is: 1280 px X 720 px.
The frame should be such that there is only a single image of the game that's taking up the major portion of the frame. Any kind of text should not be there.
The design should be catchy and aesthetic! 🔥
Note: You are not supposed to create any issue right now for the same.
You have to share different designs right now in Discord  and Project Admin would be selecting one design and would be assigning the issue. After that only, you have to start working on it.

Hey @Sheetal-05 ! Thank you so much for your raising the issue💗
It’s all yours, you can come anytime again and make some contributions! 🚀
Alone, we can do little, but together we can do so much! 😇


[Discussion] Reenable customer survey

As part of this, re-enable AzureRMAssets.test.ts/AzureRMAssets/getSurveyMetadata - this failing test is why the survey is not currently working (surveyLink is undefined).

Instant.ly - which hosts the survey, has revamped their service - not sure if the survey has moved or has been removed.

@fiveisprime Closing this since we now have a survey that applies to all our extensions.


chore: removed packngo and used metal-go apis

fixes: #439

There should be a go.mod change here to  pull in the new SDK instead of the old one.
Now that [equinix-sdk-go[(https://github.com/equinix/equinix-sdk-go) exists, we should adopt that instead of metal-go.

@aayushrangwala The PR test workflow is failing with the error failed to enable BGP on project cd5ad69d-5460-46f8-8268-963262f2b8c2: undefined response type.  Are you able to reproduce that failure locally?

@aayushrangwala The PR test workflow is failing with the error failed to enable BGP on project cd5ad69d-5460-46f8-8268-963262f2b8c2: undefined response type. Are you able to reproduce that failure locally?

@ctreatma Yes I am fixing the tests for the same. Previously there was packngo packetServer which was structured for tests/interfaces and accordingly the tests were written. Changing the structure to implement bare minimum test server and fixing tests

@ctreatma @displague Fixed all the tests. Please review and approve if looks good


chainID null

Description

chainID: 970 its always null
Reproduction steps
Setup safe-transaction-service, add chainID 970 to the app, get null
Expected behavior
return correct chainID
Additional information
No response

@hectorgomezv

hey @hectorgomezv thanks for the suggestion, the thin is I am not manually query, this is already setup within the safe-infrastructure

thus when browsing the app locally I add the chainId into the app as one would expect but then because of this returns a "No Safe Deployment"
https://github.com/safe-global/safe-wallet-web/issues/4415#issuecomment-2439741980

the metadata from the client gateway its not getting ready even tho the chain is added

I don't see any problem with the Client Gateway logs you shared in the first post. The query to the Client Gateway is sent by the web client to get all the Safes associated with the address in all the chains. This query response populates the web app sidebar that shows the Safe accounts. The message "No Safe Deployment" you are getting is not related to the Client Gateway in any way, it's related to the web client (https://github.com/search?q=org%3Asafe-global+"No+Safe+Deployment"&type=code), so I'm closing this to avoid duplications, the issue you opened in the web repository (https://github.com/safe-global/safe-wallet-web/issues/4415#issuecomment-2439741980) should be enough. Thanks again for reaching us!


Allow creating requirements.txt files without dev-packages

To install a set of pinned packages in remote systems, there is:
pipenv install --system  # won't install dev dependencies

However, this requires both Pipfile and Pipfile.lock to be present, and also pipenv to be installed in the target system. It's way more inconvenient than just being able to (maybe first copy package wheel into remote system and) say pip install <mypackage> (and letting pip to pull in the pinned dependencies specified in setup.py's install_requires).
(Or is there some benefit in using pipenv install --system instead?)
To be able to generate pinned requiremets.txt that excludes development packages, add --no-dev option to pipenv lock, that seems to by default include also dev packages. Or maybe even change to default to match that of pipenv install, and exclude dev-packages by default?
As per https://github.com/kennethreitz/pipenv/issues/209#issuecomment-278185133 this is already supported in code:
from pipenv.project import Project
from pipenv.utils import convert_deps_to_pip

pfile = Project(chdir=False).parsed_pipfile
requirements = convert_deps_to_pip(pfile['packages'], r=False)

Although there is workaround for this need already, supporting it right in the cli would/could be nice.

I think we could add a method that doesn't add dev packages tot he requirements file.  It's tough because normally you'd just have everything in your requirements.txt or maybe had two for production and dev dependencies.  The reason pipenv install --system instead of just pip is that with the PIpfile.lock, you get a deterministic build every time you install.

The reason pipenv install --system instead of just pip is that with the PIpfile.lock, you get a deterministic build every time you install.

Yeah, but you get the same result if you depend on requirements.txt that was created by pip-compile from requirements.in (from pip-tools package). Right? I don't see any difference.

maybe had two for production and dev dependencies.

Yeah, it's pretty common practice to have separate requirements.txt and dev-requirements.txt (or rather requirements.in and dev-requirements.in if using pip-tools).

@tuukkamustonen I think if you prefer using piptools with pip-compile directly you are certainly able to do that, pipenv uses pip-tools to build lockfiles so technically you can do that yourself, if you like. If you don't see the difference between pipenv and using pip-compile from pip-tools then you likely wont get anything out of using pipenv.

@tuukkamustonen
Btw, you should not read requirements.txt into install_requires – https://caremad.io/posts/2013/07/setup-vs-requirement/

@techalchemy Wasn't aware of the internal use of pip-tools. Neat.
I'm not sure what you mean though - pip-tools doesn't support reading Pipfile, so I cannot mix-and-match pipenv and pip-tools usage directly from cli.
@piotr-dobrogost I'm not doing that for libraries (that I use as dependency in other projects) - merely for the final deliverables (web apps, in my case) that I deploy to remote servers.

Related – #916 (feature request: pipenv lock -r without the dev packages)

There is indeed a --deploy option now for not installing dev packages.

@erinxocon Ok so my initial assumption:

pipenv install --system  # won't install dev dependencies

Was not correct. The above line does install dev packages. So it actually requires --deploy flag also. But the documentation for it states:

Abort if the Pipfile.lock is out–of–date, or Python version is wrong.

Should it be updated?
Also, this ticket was about supporting dev-package exclusion in pipenv lock -r reqs.txt (through something like pipenv lock --no-dev -r reqs.txt. Would it be possible to add such option as well?

The documentation is out of date. I actually knew we had a —deploy flag but didn’t have a chance to figure out what it does. If you had a PR with updates to the documentation I’m sure it would be accepted
As for lock -r it only locks things which are installed. I realize that is not entirely helpful but the last piece of functionality doesn’t exist yet.

As for lock -r it only locks things which are installed.

So things that show up in pip list? Doesn't match the behavior
mkdir foo
cd foo
pipenv install jinja2  # installs also markupsafe as dependency
pipenv uninstall jinja2
pipenv lock -r

Yields:
markupsafe==1.0 --hash=sha256:a6be69091dac236ea9c6bc7d012beab42010fa914c459791d627dad4910eb665
jinja2==2.9.6 --hash=sha256:2231bace0dfd8d2bf1e5d7e41239c06c9e0ded46e70cc1094a0aa64b0afeb054  --hash=sha256:ddaa01a212cd6d641401cb01b605f4a4d9f37bfc93043d7f760ec70fb99ff9ff

Do you mean that it should exclude jinja2 from the output?
I will look into PR once I understand how things are supposed to work :|

the last piece of functionality doesn’t exist yet.

Can we re-open this ticket then?

So here's the syntax for the new functionality
pipenv lock -r will give you just the default and vcs deps
pipenv lock -r -d will give you just the development deps and development vcs deps
Will update the documentation.

@erinxocon  I'm confused. Should it work in 9.0.0?
Calling pipenv lock -r gives me all requirements, including the development ones.

@wooyek this was a regression in 9.0.0 and will be fixed in the next release.

-r -d

-r -d

That creates a requirements file with just the development dependencies.


Bullet/Unordered list unable to have a newline

Markwon version: 4.5.1

Actual:

Expected:
Should have a newline for unordered/bullet list

Using:
Writing the character *, -, • unable to have a new line for each item

Hello @mochadwi ,
<br> is not a proper newline character, use \n to add a newline

closing this issue. Our backend decided to replace HTML entities by using common markdown instead


Disabled buttons in dark mode

Is your feature request related to a problem? Please describe
Disabled buttons in dark mode are barely noticeable. In a dialog, they are the (almost?) same colour as the dialog background.
Describe the solution you'd like
Better colours?
Dark on Form (Delete button disabled)

Dark in Dialog (Delete button disabled)

Light on Dialog (Delete button disabled)

Fluent uses semantic colors for various component states:

That means we could either use some palette color (e.g. neutralPrimary) or compute high enough contrast color for disabled components and overwrite the defaults. @lo5 @shanaka-rajitha wdyt?

Another possibility is to use text or primary color for disabled states and adjust the opacity (@geomodular suggested adjusting saturation, but this didn't end up well). We can assume both text and primary colors will have high enough contrast since these are 2 colors user will directly choose and see with comparison to card background. If the contrast will not be high enough, the whole theme will look weird, not just disabled states.
A bit of experimentation with primary color:

A bit of experimentation with text color:

The screenshots present a general idea of approaching this problem, we can adjust the colors as necessary ofc.


Placefiles dont show on map

Describe the bug
None of the placefiles will show on the map
To Reproduce
just started to happen randomly not sure how to replicate
Expected behavior
placefiles will show on map
Screenshots

Desktop (please complete the following information):

OS: Windows 10 22h2
Graphics hardware: APU AMD Radeon(TM) Graphics Primary/Integrated
Graphics driver: 24.3.1
Memory usage: 12GB 40% used
Network speed and latency: 96 Down, 20 Up, 33 latency
Version: 0.4.5

Debug Log (if applicable):
[Paste debug log here]

Additional context
the Placefiles would sometimes load before after a couple restarts of the app but not anymore

Can you attach your log files from %LocalAppData%\Supercell Wx\ (C:\Users\AppData\Local\Supercell Wx)?
If you click on a placefile in the Placefile Manager, and manually refresh, does it display?  If so, the latest development snapshot may fix it for you:
https://github.com/dpaulat/supercell-wx/actions/runs/11201256912

supercell-wx.4572.log
supercell-wx.7448.log
supercell-wx.8340.log
supercell-wx.9740.log
supercell-wx.12680.log
the last one is the latest one from today

If you click on a placefile in the Placefile Manager, and manually refresh, does it display? If so, the latest development snapshot may fix it for you:

it doesn't do anything on the map and the development snapshot is also not showing anything

All the placefiles appear to be from Placefile Nation, which appears to be down. Are you able to load placefiles from other sources?

i havent tried yet to load any others since i like those placefilles

the placefiles from other providers seem to work sometimes also, so im not sure if its my laptop having issues pulling the data

Unlike the release, the latest development snapshot should retry loading placefiles if they fail to load. If you have additional log files where other sources fail to load, feel free to post those and I can take a look.

it seems like the placefile nation website is actually down so its not a problem on my side

Great! Let me know if you have any more issues. I'll consider this issue closed.


Push plugin is crashing on Galaxy s3

Expected Behaviour
To be able to initialize push plugin in app without crashing
Actual Behaviour
Crashes app during push plugin initialization
Reproduce Scenario (including but not limited to)
Launch app
Steps to Reproduce
Launch app
Platform and Version (eg. Android 5.0 or iOS 9.2.1)
OS - Android 4.4.2
(Android) What device vendor (e.g. Samsung, HTC, Sony...)
Device - Samsumg Galaxy S3
Cordova CLI version and cordova platform version
cordova --version                                     6.2.0
cordova platform version android                     5.1.1

Plugin version
cordova plugin version | grep phonegap-plugin- 1.7.1

Sample Push Data Payload
none
Sample Code that illustrates the problem
push = PushNotification.init({
      android: {
        senderID    : 'xxxxxxxx'
      },
      ios: {
        senderID    : 'xxxxxxxxx',
        gcmSandbox  : config.pushNotification[config.selectedEnv],
        alert       : true,
        badge       : true,
        sound       : true
      }
    });

Logs taken while reproducing problem
Fatal Exception: java.lang.IncompatibleClassChangeError: android.support.v4.content.ContextCompat
       at com.google.android.gms.iid.zzd.zzeC(Unknown Source)
       at com.google.android.gms.iid.zzd.<init>(Unknown Source)
       at com.google.android.gms.iid.zzd.<init>(Unknown Source)
       at com.google.android.gms.iid.InstanceID.zza(Unknown Source)
       at com.google.android.gms.iid.InstanceID.getInstance(Unknown Source)
       at com.adobe.phonegap.push.PushPlugin$1.run(PushPlugin.java:75)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
       at java.lang.Thread.run(Thread.java:841)

Crashed: pool-1-thread-4: 0 0 0x0000000000000000
       at com.google.android.gms.iid.zzd.zzeC(Unknown Source)
       at com.google.android.gms.iid.zzd.<init>(Unknown Source)
       at com.google.android.gms.iid.zzd.<init>(Unknown Source)
       at com.google.android.gms.iid.InstanceID.zza(Unknown Source)
       at com.google.android.gms.iid.InstanceID.getInstance(Unknown Source)
       at com.adobe.phonegap.push.PushPlugin$1.run(PushPlugin.java:75)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
       at java.lang.Thread.run(Thread.java:841)

Update Google play services on your device and retest. Let me know if that
fixes it.

Thanks for the suggestion.  It's happening on two phones that have older versions of Google Play.  I'll let you know if doing that fixes the issue.

Having the same issue on Moto G2 Android 6.0. App crashes at launch

@sanctus671 Is it the same stack trace as above?

@macdonst Same issuse Moto G1 Android 6.0 on version 1.7.1 and 1.7.2 of the plugin.
@atgillette @sanctus671 it works with version 1.7.0 of the plugin.

One of the users has Google Play version 6.7.13.E.  He says that's the latest available to his phone.

Everyone this is because of a problem with Google Play Services, seriously Google screwed up and released an incompatible library. You should make sure you are using the latest version of Google Play Services to compile the app and request your users update to the latest possible version as well.

how is possible to update google play service to latest version in Phonegap Build?

@marcomow I asked the PGB team to update the servers.

@atgillette same root cause of #909. You'll need to update your build environment with the latest Google Play Services and make sure your phones are up to date as well.

@macdonst thank you! How can check if pgb has been updated?

any news on this? how can I check if they updated?

https://twitter.com/phonegapbuild/status/758412620038713345


[SQL] Add missing dataframe functions

Test build #26791 has started for   PR 4375 at commit 1527b8d.

This patch merges cleanly.

Test build #26791 has finished for   PR 4375 at commit 1527b8d.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class UserDefinedFunction(object):

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/26791/
Test FAILed.

Test build #26792 has started for   PR 4375 at commit 1e7f020.

This patch merges cleanly.

Test build #26792 has finished for   PR 4375 at commit 1e7f020.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/26792/
Test FAILed.

Test build #26796 has started for   PR 4375 at commit 30d2145.

This patch merges cleanly.

lgtm.

Test build #26796 has finished for   PR 4375 at commit 30d2145.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
 class DirectKafkaInputDStreamCheckpointData extends DStreamCheckpointData(this)
class KafkaCluster(val kafkaParams: Map[String, String]) extends Serializable
  case class LeaderOffset(host: String, port: Int, offset: Long)
class KafkaRDDPartition(
trait HasOffsetRanges
class UserDefinedFunction(object):
abstract class NumericType extends NativeType with PrimitiveType

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/26796/
Test FAILed.

Test build #26807 has started for   PR 4375 at commit 9c89707.

This patch merges cleanly.

Test build #26807 has finished for   PR 4375 at commit 9c89707.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
 class DirectKafkaInputDStreamCheckpointData extends DStreamCheckpointData(this)
class KafkaCluster(val kafkaParams: Map[String, String]) extends Serializable
  case class LeaderOffset(host: String, port: Int, offset: Long)
class KafkaRDDPartition(
trait HasOffsetRanges
class UserDefinedFunction(object):
abstract class NumericType extends NativeType with PrimitiveType

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/26807/
Test FAILed.

This is subsumed by https://github.com/apache/spark/pull/4437 right?

Correct.


Getting response 200 but still file not uploaded

Three steps
conn = tinys3.Connection("xxxx", "yyyy", default_bucket="zzzz", endpoint="pqr")
f = open('x.txt','w')
conn.upload("x.txt", f)

Same problem here.
I uploaded more than a thousand images, and then it starts to throw HTTPError: 403 Client Error: Forbidden for url: http://s3.amazonaws.com/...
So, articles said to add an endpoint, and with s3con = tinys3.Connection(S3_ACCESS_KEY,S3_SECRET_KEY,default_bucket=S3_BUCKET,endpoint='s3-us-west-1.amazonaws.com') it shows 207 '[I 151112 16:20:46 connectionpool:207] Starting new HTTP connection (1): s3-us-west-1.amazonaws.com'
But I can't find the file in the bucket.
Regards

Sorry, I found that it shows the connection was made but the credentials that I passed was wrong.
I put the right credentials and the file are now uploading without problems.


README contains wrong link to schema

After you created and run a migration, you have a README.md file that has wrong information:
You can check out the [state of the datamodel](./datamodel.prisma) after the migration.

Actual file is called schema.prisma.

Fixed in latest alpha.
You can try it out with npm i -g prisma2@alpha.


Games - Enhance adding notes experience

Overview
Enhance note taking ability for the played games by capturing a photo and annotating it.
ACs

[ ] Add ability to take a picture or use a already taken picture and add to a game play
[Q] How would this be shown in the game history?
[ ] Add ability to annotate the picture
https://pub.dev/packages/image_editor
[ ] Add ability to take a note when logging a game already played

it would be nice to add notes just when you enter the game stats (of games in the past) before logging it. So far you you have to take a wee detour.


Package ID and package title displays are inconsisntent on nuget.org and Visual Studio

@diverdan92 commented on Fri Jul 14 2017
Problem
In Visual Studio, package ID is displayed everywhere you see package details - both in search and in the package details pane.

In nuget.org, the package title is displayed everywhere. The only way to get the package ID is to look at the package details page where the CLI installation instructions are shown:

This inconsistency can result in confusion as to which package is which.
Proposal
To promote consistency in identifying package properties, I propose you display package ID everywhere (as this is the property used to install a package from the package manager console), and show package title as supplementary information on nuget.org
For example, the Netownsoft.Json package would take the form:
Newtonsoft.Json
Title: Json.NET
in the package search, and package details page.

@rohit21agrawal commented on Tue Jul 18 2017
@diverdan92  can you file this bug on nuget gallery instead since the  client is already doing the right thing?

Proposals below:
nuget.org search results

nuget.org package details page

@onovotny does this sound good?

Fixed and deployed to https://preview.nuget.org/.


Releases should be more automated

We could create an action that bumps versions, runs cargo publish, creates tags, etc.
Have some reading from my Google search: https://pratikpc.medium.com/publishing-crates-using-github-actions-165ee67780e1

I looked into doing this before the most recent release, and it was a lot more work than I was willing to do at the time. That said, it's definitely something we should do because it's a lot of busy work.


Feature/lifecycle task hooks

Coverage decreased (-19.9%) to 49.609% when pulling 8ce6aa79fa783b343d79ff7e33f44f3e0c77abd6 on feature/lifecycle-task-hooks into 6176bc5a8e2cf74fec225666c17153a98094553b on master.


How use clearsign

The command to sign my file asks me a secret code.
gpg --clearsign file.txt

How to proceed with node-gpg to input my secret code.
Thanks

This is similar to #20 I believe, where you need to input a passpharse.


Merge module branch

Description
Changes proposed in this pull request:

Merge mod-dev
Disable upgrade test workflows

Related issue(s)

/test all

/test pull-api-gateway-module-build