sync/atomic: sequence of execution

For the official implementation of Go 1.15, the order between the variables of Load/Store using atomic can be guaranteed.

Package atomic provides low-level atomic memory primitives useful for implementing synchronization algorithms.

The load and store operations, implemented by the LoadT and StoreT functions, are the atomic equivalents of "return *addr" and "*addr = val".

func main() {
	var a, b int32 = 0, 0

	go func() {
		atomic.StoreInt32(&a, 1)
		atomic.StoreInt32(&b, 1)
	}()

	for atomic.LoadInt32(&b) == 0 {
		runtime.Gosched()
	}
	fmt.Println(atomic.LoadInt32(&a))

}

The printed result of a is always 1, but it is not reflected in the document.

see https://github.com/golang/go/issues/5045

Closing this issue as a duplicate of #5045.


Switch accounts with loginPopup without select_account prompt

Core Library
MSAL.js v2 (@azure/msal-browser)
Core Library Version
2.34.0
Wrapper Library
Not Applicable
Wrapper Library Version
None
Public or Confidential Client?
Public
Description
We are trying to implement account switching behavior, so that when we click on a different account in a list of accounts, the active account is changed:

It seems like if we pass loginHint and domainHint to loginPopup, it always disregards it if there's already an account signed in and it will return the existing account as the AuthenticationResult.
As an example:

Currently logged in user<EMAIL_ADDRESS>User clicks another remembered account to swap to<EMAIL_ADDRESS>
We trigger loginPopup({loginHint<EMAIL_ADDRESS>domainHint: '9188040d-6c67-4c5b-b112-36a304b66dad'})

AuthenticationResult still comes back as<EMAIL_ADDRESS>
The only workaround seems to be to pass prompt: select_account in the PopupRequest options, but this forces the user to click on the account they want for a second time. Is there a way to tell loginPopup to swap accounts without forcing the user to click again?
MSAL Configuration
{
    "auth": {
        "clientId": "<clientId>",
        "authority": "https://login.microsoftonline.com/common/",
        "redirectUri": "http://localhost:8080",
        "navigateToLoginRequestUrl": true,
        "postLogoutRedirectUri": "http://localhost:8080"
    },
    "cache": {
        "cacheLocation": "localStorage"
    }
}

Relevant Code Snippets
public signInTo = async (args: any) => {
        const popupRequest = {
            loginHint: args.nextAccount.memberName,
            domainHint: args.nextAccount.tenantId,
            // prompt: "select_account", // This works but forces user to click the account they want again
            scopes: ["openid", "profile", "User.Read"]
        };

        const msalAuthResponse = await this.msalInstance.loginPopup(popupRequest);
        if (msalAuthResponse.account) { // This is coming back with original account
            this.setCurrentAccount(msalAuthResponse.account);
        }
    };

Identity Provider
Azure AD / MSA
Source
Internal (Microsoft)

@xinyi-joffre To clarify, is the second account the user trying to switch to already logged in? Or are they logged into one account and trying to log into another?

Hi @jo-arroyo , thanks for the response! For screenshot above, the second account is already logged in, but the remembered accounts feature for standard Microsoft MeControl will also show remembered accounts that are not logged in. So, it could be either case (logged in or just remembered)

@xinyi-joffre Please take a look at our FAQ regarding logged in accounts as well as the accounts documentation and see if these account APIs work in your scenario.

Thank you, we tried just using this logic:
public signInTo = async (args: any) => {
        const switchedAccount = this.msalInstance.getAccountByUsername(args.nextAccount.memberName);
        if (switchedAccount) {
          this.msalInstance.setActiveAccount(account);
        }
        else {
            // Fallback to select_account, if we cannot find the indicated account
            this.signIn({ prompt: 'select_account' });
        }
    };

But the behavior is a bit odd, since it behaves differently than logins, and we cannot use events across tabs to sync accounts, since there are only events for "ACCOUNT_ADDED" and "ACCOUNT_REMOVED" but not for "ACCOUNT_SWITCHED." We also wonder if the logic above is too loose, since it doesn't do any validation (only does client side swapping of a storage cache value for current account).

Hey @xinyi-joffre,
Can you try something like this:
const switchedAccount = this.msalInstance.getAccountByUsername(args.nextAccount.memberName);
const msalAuthResponse = await this.msalInstance.loginPopup({
       ...popupRequest,
       account: switchedAccount
});
Does it still ignore the selected account?

@lalimasharda , yes, we tried that way as well, but the msalAuthResponse coming back is always the original account, so when we say setActiveAccount, it's the wrong account (not the one we want to switch to).

@xinyi-joffre This seems to be more of a server behavior pattern - the B2C service is not picking up the session you intended to. Can you please raise an issue with the Service team, instructions are here.


Fixed typos

Hi @pborreli, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

@pborreli, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, MSBOT;

:+1:


Perform entitlement check and install latest fixes during cloud-init

What software must exist before doing the patching/entitlement (p/e) check
What software is dynamically installed during p/e:
What are the inputs to p/e?

Hard coded?
Dynamic?

How to handle

Success
Failure

PR: https://github.com/WASdev/azure.websphere-traditional.image/pull/13


Groups of websites

Describe the feature or enhancement
Having a few websites, might work ok with no groups, but after 10-15, things get a little messy.
I was wondering if others are interested in having a group feature. This way you can group websites on dashboard, and also expand all websites from a group or hide.
I think it would be more organized like this.

Not exactly the feature you are explaining, but you can achieve this with teams. You would create a team for each group, then assign your grouped websites to each team. Once your in a team context, you will only see websites belonging to your team or group.


Remove project link from placeholder dialog

Not sure why this was requested, going to leave this one as is and close this PR.


Bump transformers and optimum version

What does this PR do?
This bumps transformers to 4.41.1 and optimum to 1.20.0.
This also adds the new transformers "stop strings" generation feature to NeuronModelForCausalLM, allowing to support the "stop_sequences" parameter in NeuronX TGI.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.

All tests are green except distributed training which was already failing anyway (latest builds were cancelled after several hours).


Integrate with gRPC Context

Currently CensusContext.setCurrent() sets itself to the thread-local.  I think it should attach to the current gRPC context instead.  Perhaps it needs a new name. How about this:
abstract class CensusContext {
  // Returns a new gRPC Context based on current Context, with the CensusContext attach to it
  Context attach();
}

getCurrent() would be changed to retrieve from current gRPC Context, instead of from thread-local.
The typical usage on the server-side would be:
CensusContext cc = censusContextFactory.deserialize(censusContextBytes);
Context ctx = cc.attach();
executor.execute(new ContextRunnable(ctx) {
  // In this method, current Context is "ctx".
  @Override
  public void runInContext() {
    // run the RPC handler
    ...
    // at the end of the RPC
    CensusContext cc = censusContextFactory.getCurrent();  // retrives from current Context
    cc.record(...);
  }
});

looks reasonable

cc @schlosna @ewhauser I think we should do something similar in brave and just use GRPC's context library

FYI The Context artifact has been uploaded as "io.grpc:grpc-context:1.0.1". It should show up in Maven repos soon.

gRPC context integration for stats was added in #299 and #305.


Fix memory leak in ffi test

Which issue does this PR close?

Closes #1872.
Rationale for this change

A few raw Arc pointers were not converted back to Arc structs so leading to leaks.
Verified by cargo +nightly miri test -p arrow -- --skip csv --skip ipc --skip json --skip util --skip compute --skip array --skip buffer --skip datatypes --skip bitmap --skip record_batch --skip tensor
running 15 tests
test ffi::tests::test_binary ... ok
test ffi::tests::test_bool ... ok
test ffi::tests::test_decimal_round_trip ... ok
test ffi::tests::test_dictionary ... ok
test ffi::tests::test_duration ... ok
test ffi::tests::test_large_binary ... ok
test ffi::tests::test_large_list ... ok
test ffi::tests::test_large_string ... ok
test ffi::tests::test_list ... ok
test ffi::tests::test_round_trip ... ok
test ffi::tests::test_string ... ok
test ffi::tests::test_time32 ... ok
test ffi::tests::test_timestamp ... ok
test ffi_stream::tests::test_stream_round_trip_export ... ok
test ffi_stream::tests::test_stream_round_trip_import ... ok

test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 1162 filtered out

   Doc-tests arrow

running 8 tests
test src/ffi_stream.rs - ffi_stream (line 27) ... ignored
test src/lib.rs - (line 69) ... ok
test src/lib.rs - (line 43) ... ok
test src/lib.rs - (line 28) ... ok
test src/lib.rs - (line 90) ... ok
test src/lib.rs - (line 126) ... ok
test src/lib.rs - (line 167) ... ok
test src/ffi.rs - ffi (line 27) ... ok

test result: ok. 7 passed; 0 failed; 1 ignored; 0 measured; 147 filtered out; finished in 1.03s

What changes are included in this PR?

Are there any user-facing changes?

Codecov Report

Merging #1878 (5397126) into master (cedaf8a) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #1878      +/-   ##
==========================================
- Coverage   83.46%   83.46%   -0.01%
==========================================
  Files         201      201
  Lines       57014    57016       +2
==========================================
+ Hits        47586    47587       +1
- Misses       9428     9429       +1

Impacted Files
Coverage Δ

arrow/src/ffi.rs
86.97% <ø> (ø)

arrow/src/ffi_stream.rs
79.89% <100.00%> (+0.22%)
:arrow_up:

parquet_derive/src/parquet_field.rs
65.98% <0.00%> (-0.23%)
:arrow_down:

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 cedaf8a...5397126. Read the comment docs.

Tried to reproduce the miri report and I see still some leaks related to test_round_trip in array::ffi::tests.

How to reproduce it? I ran cargo +nightly miri test -p arrow -- --skip csv --skip ipc --skip json --skip util --skip compute --skip array --skip buffer --skip datatypes --skip bitmap --skip record_batch --skip tensor and got all tests passed without leaks.

How to reproduce it?

I did run
cargo +nightly miri test -p arrow -- --skip csv --skip ipc --skip json

or
cargo +nightly miri test -p arrow -- --skip csv --skip ipc --skip json -- array::ffi::tests::test_u32

for one specific test. Only difference to your command line is fewer skip parameters :)
CI looks like it passed because of #1873

Oh, I skip array::xxx. There are a few ffi tests under array:: module too. Let me look at them. Thanks @jhorstmann

@jhorstmann Fixed them and verified by cargo +nightly miri test -p arrow -- --skip csv --skip ipc --skip json -- array::ffi::tests.

Nice, can confirm that miri is happy with that change! I'm not that familiar with the ffi api, that ArrowArray::try_from_raw does not take ownership of the Arcs feels a bit asymmetric with the into_raw method, but this seems to be intentional from the discussion in #1449

Thanks @sunchao @jhorstmann


refactor: postgres u32

While working on #282, I found that sqlx will eventually drop the u32 type for postgres in their 1602 PR. This is likely to happen in a future release of sqlx, however this PR gets us ready for once it happens.

Great stuff! Thanks :)


Past vs Present Tense in Results

Reviewer one said:

L210 "performED" and I would argue results should be past tense throughout.

We can argue this was a stylistic choice, but our argument would be better if there is precedence. Look for articles in Evolutionary Ecology that use present tense, particularly with models.

I scanned through titles of Evol Ecol papers looking for modeling papers, and here's what I got from the past 2 years or so:

http://link.springer.com/article/10.1007/s10682-014-9722-y/fulltext.html
Uses past tense to describe the model: "We used an agent based network model inspired by the work of..." but present tense in other places: "Each simulation run uses a standardised set of individuals in the first host generation." (A bit inconsistent actually but mostly past tense.)

http://link.springer.com/article/10.1007/s10682-014-9728-5/fulltext.html
Present tense in Methods: "In this study, we define the midpoint of the phenotypic values..." but past tense in Results: "the magnitudes of plasticity in the predator population remained low to moderate..."

http://link.springer.com/article/10.1007/s10682-014-9733-8/fulltext.html
Past tense in Methods: "We used a stochastic, spatially explicit framework..." and Results: "There was no evidence for phylogenetic signal..."

http://link.springer.com/article/10.1007/s10682-012-9557-3/fulltext.html
Past tense throughout: "We modified the type of dependence..."

http://link.springer.com/article/10.1007/s10682-014-9738-3/fulltext.html
Mostly past tense: "We simulated a 100-by-100 square grid with periodic boundary conditions..."

It seems like most people use past tense.  Some people use present tense to describe their model and then past tense to present results.  I wasn't able to find any papers that fully use present tense as we do, but I still like our stylistic choice...
Maybe we could change just the first sentence of the results section ("we performed simulations...") but then keep the explanations in present tense ("cooperation increases subpopulation density...")?

Thanks Sarah, these are helpful!
Sarah and Katie, what are your preferences for this? Stick with present tense, or switch to past? Past is probably more common, but present is a little bit more fun to read (and doesn't require a change).

I was going to say change to the past but, really I am fine with sticking with what we have (the present).

Going to stick with present tense in the results, since a recent modeling paper in this journal used present. http://dx.doi.org/10.1007/s10682-015-9775-6


wip: Next document with build

PR Details

Description

Related Issue

Motivation and Context

How Has This Been Tested

Types of changes

[ ] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] My code follows the code style of this project.
[ ] I have updated changeset
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

document 的插件名, docume/cli/cli
中文注释换成英文


Error: xcodebuild exited with code 65 following get started tutorial

Steps to reproduce

Follow the Get's Started tutorial to setup Patrol for IOS within xcode. I've set the IOS version to IOS 17.0
When I open RunnerUITest.m I can see xcode is throwing an error saying the patrol module can't be fount
I run patrol test -t integration_test/example_test.dart --verbose and get an error Error: xcodebuild exited with code 65. When digging into the logs it's complaining about duplicated c++ libaries and errors being thrown in flutter.
I've checked it's not my tests by running them using flutters own integration_test framework and using the default example test provided in the documentation.
I've checked the pub spec and everything appears to be installed correctly

`dev_dependencies:
flutter_test:
sdk: flutter
patrol: ^2.3.1
test: ^1.5.1
patrol:
app_name: Winnie
ios:
bundle_id: uk.co.lightfoot.winnie`
I'm running this in the IOS simulator provided out of xcode and MacOS Sonoma version 14
Actual results
When I run patrol test -t integration_test/example_test.dart --verbose the request hangs for a bit and appears to be processing I then get the following error Error: xcodebuild exited with code 65
Logs

Logs
https://pastebin.com/iN2zw6gk

Patrol version
patrol: ^2.3.1
Patrol Doctor output

Patrol Doctor output
patrol doctor

In next major release, patrolTest method will be intended for UI tests.
If you want to use Patrol in your widget tests, use patrol_finders package.

For more information, see https://patrol.leancode.co/patrol-finders-release
Disable this warning by setting the PATROL_FINDERS environment variable.

Patrol CLI version: 2.2.1
Program adb found in /Users/alexlepeltier/Library/Android/sdk/platform-tools/adb
Env var $ANDROID_HOME set to /Users/alexlepeltier/Library/Android/sdk
Program xcodebuild found in /usr/bin/xcodebuild
Program ideviceinstaller found in /opt/homebrew/bin/ideviceinstaller

Flutter Doctor output

Flutter Doctor output
flutter doctor

┌─────────────────────────────────────────────────────────┐
│ A new version of Flutter is available!                  │
│                                                         │
│ To update to the latest version, run "flutter upgrade". │
└─────────────────────────────────────────────────────────┘
Doctor summary (to see all details, run flutter doctor -v):
[!] Flutter (Channel stable, 3.13.8, on macOS 14.0 23A344 darwin-arm64, locale en-GB)
    ! Warning: `dart` on your path resolves to /opt/homebrew/Cellar/dart/3.1.5/libexec/bin/dart, which is not inside your current Flutter SDK checkout at
      /opt/homebrew/Caskroom/flutter/3.13.5/flutter. Consider adding /opt/homebrew/Caskroom/flutter/3.13.5/flutter/bin to the front of your path.
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
[✗] Chrome - develop for the web (Cannot find Chrome executable at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[✓] Android Studio (version 2022.3)
[✓] IntelliJ IDEA Community Edition (version 2023.2.2)
[✓] VS Code (version 1.82.2)
[✓] Connected device (2 available)
[✓] Network resources

! Doctor found issues in 2 categories.

I am also having this exact issue which blocks me. I am investigating.. @bartekpacia is this a known issue? if yes, any workarounds? Thank you 🥂

You have an error in your test:
> integration_test/example_test.dart:9:9: Error: Expected named argument.
	        ($) async {
	        ^
	integration_test/example_test.dart:6:13: Error: Too few positional arguments: 2 required, 1 given.
	  patrolTest(
	            ^
	../../.pub-cache/hosted/pub.dev/patrol-2.3.1/lib/src/common.dart:44:6: Context: Found this candidate, but the arguments don't match.
	void patrolTest(
	     ^^^^^^^^^^
	Target kernel_snapshot failed: Exception

It's clearly visible in the logs.

Thank you @bartekpacia I can't believe I missed that. Do you have any examples of a complete example of this test? I copied that one off the get started tutorial and when I look in native automation the PatrolTester function is deprecated. https://patrol.leancode.co/native/overview.

I'm not sure what test you mean. Anyway, if you're looking for samples, we have an example app with many tests.

closing


JSON keys should match protobuf ones unless camelCase is explicitly requsted

sxproto2textproto doesn't change kebab-case to snake_case, therefore binaryproto2json shouldn't change snake_case to camelCase, at least not by default.

Added a new out_json_camelcase option for people who want the old behavior.


Changes to create connection monitor v2

Related command
az network network-watcher connection-monitor
Description
This PR would help customers to create/manage connection-monitor resource.
Testing Guide
Tested by running below commands-

az network network-watcher connection-monitor create --name cm12 --network-watcher-name networkwatcher_eastus2euap --resource-group networkwatcherrg --location eastus2euap --endpoints "[{name:iEPs,type:AzureVM,resourceId:/subscriptions/9******-0f**-4a-ae-********/resourceGroups/rg/providers/Microsoft.Compute/virtualMachines/TESTVM-LINUX},{address:<IP_ADDRESS>,name:<IP_ADDRESS>,type:ExternalAddress}]" --test-configurations "[{name:TestConfiguration04,protocol:Tcp,successThreshold:{},tcpConfiguration:{disableTraceRoute:false,port:53},testFrequencySec:30}]" --test-groups "[{destinations:[<IP_ADDRESS>],disable:false,name:TestingGroup04,sources:[iEPs],testConfigurations:[TestConfiguration04]}]"

az network network-watcher connection-monitor delete --name cm12 --network-watcher-name networkwatcher_eastus2euap -g networkwatcherrg --subscription 9*******-0d-4a-a**e-**********

az network network-watcher connection-monitor list --network-watcher-name networkwatcher_eastus2euap -g networkwatcherrg --subscription 9c****e3-0d-4a-ae-******

az network network-watcher connection-monitor show --name cm12 --network-watcher-name networkwatcher_eastus2euap -g networkwatcherrg --subscription 9c*****-0d-4a-ae-*******

All these above commands worked and resources got created/deleted.
History Notes

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

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

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

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Thank you for your contribution! We will review the pull request and get back to you soon.

/azp run

/azp run


missing gradle task dependency between clearReports and checkOutcomes

There is a missing dependency between the tasks clearReports and checkOutcomes. Reproducible with revision 4.0.47-SNAPTSHOT ba6a994.
Gradle error message
Reason: Task ':my-module:checkOutcomes' uses this output of task ':my-module:clearReports' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.

Possible solutions:
  1. Declare task ':my-module:clearReports' as an input of ':my-module:checkOutcomes'.
  2. Declare an explicit dependency on ':my-module:clearReports' from ':my-module:checkOutcomes' using Task#dependsOn.
  3. Declare an explicit dependency on ':my-module:clearReports' from ':my-module:checkOutcomes' using Task#mustRunAfter.

Workaround
tasks.named("checkOutcomes").configure {
   mustRunAfter(tasks.named("clearReports"))
}

Fixed by #23.


Possible crash when multiple threads call into nixnet

nixnet initializes the ctypes functions per-call, like nidaqmx does.  nidaqmx recently fixed a crash related to this.
See https://github.com/ni/nidaqmx-python/commit/82f7ee56580abc5adf44fc8069eac5a9eeff7e4d

They fixed the crash by putting locks around initializing argtypes.
nimi-python reduces their risk by initializing the entire function once but doesn't completely eliminate it.
https://github.com/ni/nimi-python/blob/master/generated/nidmm/ctypes_library.py#L101

Oh, and we should make sure to add stress tests for this case like DAQmx did.

See also https://github.com/ni/nimi-python/issues/92


Highlight all nodes of a specific type

Currently you can ctrl + F to search for specific nodes by name and have them highlighted in the graph. Is it possible to extend this to highlight all nodes of the same type? For instance, searching "reshape" would highlight reshape_1, Reshape_2, reshape/3, etc. This should support all the major types of nodes: concat, conv, unsqueeze, etc. Since the metadata for node type is already included in the graph, I imagine this would only require a UI update
Although you can tell some information about the node type based on its color scheme, I think highlights would be more helpful. Most colors have multiple types (green = gather, transpose, unsqueeze, etc) so you cannot zoom out and see the "big picture" location of where a specific type is used in the graph. As a machine learning engineer, sometimes I want to remove/replace certain nodes that run slower on specialized hardware, so this would be an easy way to visualize how frequently and where they are used

@addisonklinke can you implement this and submit a pull request.

I have pretty minimal experience in JavaScript, but I could give it a try if you're able to provide a conceptual outline of what changes need to be made in which files?

sidebar.FindSidebar in view-sidebar.js implements the search dialog and is probably a good place to get started.


redhat-lsb-core 被 atom-0.202.0-0.1.fc21.x86_64 需要

I install atom 0.202.0,but
# sudo rpm -iF atom.x86_64.rpm
root's password:
错误：依赖检测失败：
	redhat-lsb-core 被 atom-0.202.0-0.1.fc21.x86_64 需要

My Atom is
#atom --version
0.201.0

My OS  is
more /etc/os-release
NAME=openSUSE
VERSION="13.2 (Harlequin)"
VERSION_ID="13.2"
PRETTY_NAME="openSUSE 13.2 (Harlequin) (x86_64)"
ID=opensuse
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:opensuse:13.2"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://opensuse.org/"
ID_LIKE="suse"

I search lsb in opensuse
#zypper se lsb
正在加载软件源数据...
正在读取已安装的软件包...

S | 名称        | 摘要                              | 类型
--+-------------+-----------------------------------+-------
i | lsb         | Linux Standard Base Core          | 软件包
i | lsb-release | Linux Standard Base Release Tools | 软件包

Thanks for the report! @kevinsawicki It turns out that the lsb package may have a slightly different name from distro to distro... how do you think we should handle this?
Refs https://github.com/atom/atom/pull/6888


[4.0] GDScript custom class documentation doesn't use custom icon

Godot version
Godot 4.0 beta 4
System information
Windows 10
Issue description
When GDScript generates documentation for custom classes it doesn't use the icon defined within the custom class, as seen below:
https://user-images.githubusercontent.com/17155529/200160045-3e8118c7-5bed-4282-8f4d-48002622991d.mp4
Steps to reproduce

Open example project
Open documentation for "CustomClass"
Incorrect icon is seen

Minimal reproduction project
example.zip

It also doesn't use the icon in the Search Help popup:

It looks like it was already fixed at some point.


feat: add cdk-sops-secrets contstruct to Constructs -> Security

@kalaiser maybe you wanna Take a Look at this?


Ambient: services are unable to communicate (signing gRPC error)

Is this the right place to submit this?

[X] This is not a security vulnerability or a crashing bug
[X] This is not a question about how to use Istio

Bug Description
Hi,
I try to move from sidecar mode to ambient mode, everything was working fine with sidecar mode, but with ambient mode, services are unable to communicate. The source and destination services are on different nodes, on the source node, the ztunnel pod shows the following error:
access    connection complete    src.addr=<IP_ADDRESS>:58360 src.workload="XXXX-XXXX-56dd6b5597-r6gn6" src.namespace="test2" src.identity="spiffe://cluster.local/ns/test2/sa/XXXX" dst.addr=<IP_ADDRESS>:15008 dst.hbone_addr=<IP_ADDRESS>:8080 dst.workload="XXXX-569f798c57-gch22" dst.namespace="test2" dst.identity="spiffe://cluster.local/ns/test2/sa/default" direction="outbound" bytes_sent=0 bytes_recv=0 duration="0ms" error="identity error: signing gRPC error (The request does not have valid authentication credentials): request impersonation authentication failure
I haven't added any authorization policy or request authentication CR.
There are no network security rules/firewalls between cluster nodes. I couldn't find anything related in the documentation for this error.
Version
istioctl version
client version: 1.22.1
control plane version: 1.22.2
data plane version: 1.22.2 (47 proxies)

kubectl version
Client Version: v1.29.0
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.29.4-eks-036c24b

Additional Information
Kubernetes: EKS cluster, v1.29

On the istiod pod, I see the following errors:
2024-07-15T13:49:26.974247Z    warn    serverca    impersonation failed for identity spiffe://cluster.local/ns/test2/sa/XXX, error: pod istio-system/ztunnel-6xwtm not found client=<IP_ADDRESS>:44144
But the ztunnel-6xwtm pod is up and running.
When I execute the istioctl x ztunnel-config certificates command, I get only 4 certificates with "Unavailable" status:
CERTIFICATE NAME                                             TYPE     STATUS          VALID CERT     SERIAL NUMBER     NOT AFTER     NOT BEFORE
spiffe://cluster.local/ns/test2/sa/XXXX        NA       Unavailable     false          NA                NA            NA
spiffe://cluster.local/ns/test2/sa/default                   NA       Unavailable     false          NA                NA            NA
spiffe://cluster.local/ns/test2/sa/XXXX                 NA       Unavailable     false          NA                NA            NA
spiffe://cluster.local/ns/test2/sa/XXXX     NA       Unavailable     false          NA                NA            NA

I think we should have much more certificates normally.

I think I found the issue.
I had a feeling, that there's a problem with the root ca, I deleted it and reinstalled the whole istio ambient system, but the root ca configmap (istio-ca-root-cert) was not re-created. In the helm chart config of istiod, I configured the defaults.discoverySelectors configuration to filter out some namespaces:
    discoverySelectors:
      - matchLabels:
          kubernetes.io/metadata.name: test2
      - matchLabels:
          kubernetes.io/metadata.name: ...
      - matchLabels:
          kubernetes.io/metadata.name: ...
      - matchLabels:
          kubernetes.io/metadata.name: ...

When this is set, the root-ca configmap in the istio-system namespace won't be created (and I guess re-created when moving from sidecar to ambient?). When I removed this configuration, everything started to work.

I didn't set discoverySelectors. Any idea why I'm getting identity error: signing gRPC error (The request does not have valid authentication credentials): request impersonation authentication failure?
Log;
2024-08-11T13:36:17.708175Z    info    xds::client    sending initial request    resources=0 type_url="type.googleapis.com/istio.workload.Address"
2024-08-11T13:36:17.708232Z    info    xds::client    sending initial request    resources=0 type_url="type.googleapis.com/istio.security.Authorization"
2024-08-11T13:36:17.716503Z    warn    xds::client:xds{id=14}    XDS client connection error: gRPC connection error:status: Unauthenticated, message: "authentication failure", retrying i
n 15s
2024-08-11T13:36:32.730828Z    info    xds::client    sending initial request    resources=0 type_url="type.googleapis.com/istio.workload.Address"
2024-08-11T13:36:32.730906Z    info    xds::client    sending initial request    resources=0 type_url="type.googleapis.com/istio.security.Authorization"
2024-08-11T13:36:32.738831Z    warn    xds::client:xds{id=15}    XDS client connection error: gRPC connection error:status: Unauthenticated, message: "authentication failure", retrying i
n 15s
2024-08-11T13:36:47.749530Z    info    xds::client    sending initial request    resources=0 type_url="type.googleapis.com/istio.workload.Address"
2024-08-11T13:36:47.749588Z    info    xds::client    sending initial request    resources=0 type_url="type.googleapis.com/istio.security.Authorization"
2024-08-11T13:36:47.755707Z    warn    xds::client:xds{id=16}    XDS client connection error: gRPC connection error:status: Unauthenticated, message: "authentication failure", retrying i
n 15s
2024-08-11T13:37:02.768871Z    info    xds::client    sending initial request    resources=0 type_url="type.googleapis.com/istio.workload.Address"
2024-08-11T13:37:02.768915Z    info    xds::client    sending initial request    resources=0 type_url="type.googleapis.com/istio.security.Authorization"
2024-08-11T13:37:02.773716Z    warn    xds::client:xds{id=17}    XDS client connection error: gRPC connection error:status: Unauthenticated, message: "authentication failure", retrying i
n 15s
2024-08-11T13:37:17.848593Z    info    xds::client    sending initial request    resources=0 type_url="type.googleapis.com/istio.workload.Address"
2024-08-11T13:37:17.848641Z    info    xds::client    sending initial request    resources=0 type_url="type.googleapis.com/istio.security.Authorization"
2024-08-11T13:37:17.868815Z    info    xds::client:xds{id=18}    Stream established
2024-08-11T13:37:17.873601Z    info    xds::client:xds{id=18}    received response    type_url="type.googleapis.com/istio.workload.Address" size=1046 removes=0
2024-08-11T13:37:17.884099Z    info    xds::client:xds{id=18}    received response    type_url="type.googleapis.com/istio.security.Authorization" size=0 removes=0
2024-08-11T13:37:17.884292Z    info    inpod::workloadmanager    handling new stream
2024-08-11T13:37:17.884363Z    info    readiness    Task 'state manager' complete<PHONE_NUMBER>01s), still awaiting 1 tasks
2024-08-11T13:37:17.885107Z    info    inpod::statemanager    pod WorkloadUid("c7c2d944-022b-444a-a87e-a2dca7a7d184") received netns, starting proxy
2024-08-11T13:37:17.885313Z    info    proxy::inbound    listener established    address=:15008 component="inbound" transparent=true
2024-08-11T13:37:17.885385Z    info    proxy::inbound_passthrough    listener established    address=:15006 component="inbound plaintext" transparent=true
2024-08-11T13:37:17.885437Z    info    proxy::outbound    listener established    address=:15001 component="outbound" transparent=true
2024-08-11T13:37:17.885801Z    info    inpod::statemanager    pod WorkloadUid("9fbf881a-4fe6-45f3-9fee-5f714aa11d77") received netns, starting proxy
2024-08-11T13:37:17.885984Z    info    proxy::inbound    listener established    address=:15008 component="inbound" transparent=true
2024-08-11T13:37:17.886052Z    info    proxy::inbound_passthrough    listener established    address=:15006 component="inbound plaintext" transparent=true
2024-08-11T13:37:17.886097Z    info    proxy::outbound    listener established    address=:15001 component="outbound" transparent=true
2024-08-11T13:37:17.886294Z    info    inpod::statemanager    pod received snapshot sent
2024-08-11T13:37:17.886309Z    info    readiness    Task 'workload proxy manager' complete<PHONE_NUMBER>65s), marking server ready
2024-08-11T13:37:17.904146Z    error    cert_fetcher    unable to prefetch cert for "spiffe://cluster.local/ns/http-test-istio/sa/sleep", skipping, SigningRequest(Status { code: Unauthen
ticated, message: "request impersonation authentication failure", metadata: MetadataMap { headers: {"content-type": "application/grpc"} }, source: None })
2024-08-11T13:37:17.954732Z    error    cert_fetcher    unable to prefetch cert for "spiffe://cluster.local/ns/http-test-istio/sa/httpbin", skipping, SigningRequest(Status { code: Unauth
enticated, message: "request impersonation authentication failure", metadata: MetadataMap { headers: {"content-type": "application/grpc"} }, source: None })
2024-08-11T13:37:19.416140Z    info    xds::client:xds{id=18}    received response    type_url="type.googleapis.com/istio.workload.Address" size=1046 removes=2
2024-08-11T13:37:19.432029Z    info    xds::client:xds{id=18}    received response    type_url="type.googleapis.com/istio.security.Authorization" size=0 removes=0
2024-08-11T13:37:19.432425Z    error    cert_fetcher    unable to prefetch cert for "spiffe://cluster.local/ns/http-test-istio/sa/httpbin", skipping, SigningRequest(Status { code: Unauth
enticated, message: "request impersonation authentication failure", metadata: MetadataMap { headers: {"content-type": "application/grpc"} }, source: None })
2024-08-11T13:37:19.432542Z    error    cert_fetcher    unable to prefetch cert for "spiffe://cluster.local/ns/http-test-istio/sa/sleep", skipping, SigningRequest(Status { code: Unauthen
ticated, message: "request impersonation authentication failure", metadata: MetadataMap { headers: {"content-type": "application/grpc"} }, source: None })
2024-08-11T13:37:19.503467Z    info    xds::client:xds{id=18}    received response    type_url="type.googleapis.com/istio.workload.Address" size=1 removes=0
2024-08-11T13:37:25.993846Z    error    access    connection complete    src.addr=<IP_ADDRESS>:36446 src.workload="sleep-7656cf8794-2h2j5" src.namespace="http-test-istio" src.identity="s
piffe://cluster.local/ns/http-test-istio/sa/sleep" dst.addr=<IP_ADDRESS>:15008 dst.hbone_addr=<IP_ADDRESS>:8080 dst.service="httpbin.http-test-istio.svc.cluster.local" dst.workload="http
bin-86b8ffc5ff-n5tmx" dst.namespace="http-test-istio" dst.identity="spiffe://cluster.local/ns/http-test-istio/sa/httpbin" direction="outbound" bytes_sent=0 bytes_recv=0 duration="0ms" er
ror="identity error: signing gRPC error (The request does not have valid authentication credentials): request impersonation authentication failure"
2024-08-11T13:37:39.763691Z    info    xds::client:xds{id=18}    received response    type_url="type.googleapis.com/istio.workload.Address" size=1 removes=0
2024-08-11T13:40:27.821469Z    error    access    connection complete    src.addr=<IP_ADDRESS>:55642 src.workload="sleep-7656cf8794-2h2j5" src.namespace="http-test-istio" src.identity="s
piffe://cluster.local/ns/http-test-istio/sa/sleep" dst.addr=<IP_ADDRESS>:15008 dst.hbone_addr=<IP_ADDRESS>:8080 dst.service="httpbin.http-test-istio.svc.cluster.local" dst.workload="http
bin-86b8ffc5ff-n5tmx" dst.namespace="http-test-istio" dst.identity="spiffe://cluster.local/ns/http-test-istio/sa/httpbin" direction="outbound" bytes_sent=0 bytes_recv=0 duration="0ms" er
ror="identity error: signing gRPC error (The request does not have valid authentication credentials): request impersonation authentication failure"

Solved it. I was deploying Istio on the default namespace instead of istio-system, I had to modify istiod's values with:
istio-istiod:
  profile: ambient
  pilot:
    env:
      CA_TRUSTED_NODE_ACCOUNTS: "default/ztunnel,kube-system/ztunnel"

See https://github.com/istio/istio/pull/51311
Added .Values.pilot.trustedZtunnelNamespacetoistiodchart. Set this if installing ztunnel to a different namespace fromistiod. Supersedes .Values.pilot.env.CA_TRUSTED_NODE_ACCOUNTS (which is still respected if set)

I have the same issue after I set discoverySelectors in meshConfig:
{"level":"warn","time":"2024-09-03T11:29:36.564362Z","scope":"serverca","msg":"impersonation failed for identity spiffe://cluster.local/ns/istio-demo/sa/bookinfo-details, error: pod kube-system/ztunnel-gcv2s not found","client":"<IP_ADDRESS>:33476"}

I also run ztunnel in kube-system (OpenShift), that worked like a charm with .Values.pilot.trustedZtunnelNamespace set to kube-system/ztunnel but after I configured discoverySelectors it seems not to work anymore :(
As I am in a test environment for now, how can I re-create the Istio CA if needed? Or any other hint to fix this? I need to use discoverySelectors.

I disabled discoverySelectors and it seems to work again, I also deleted the ztunnel pods:
istioctl -i kube-system zc certificates ztunnel-fsr7h
CERTIFICATE NAME                                                                     TYPE     STATUS        VALID CERT     SERIAL NUMBER                        NOT AFTER                NOT BEFORE
spiffe://cluster.local/ns/istio-demo/sa/bookinfo-details                      Leaf     Available     true<PHONE_NUMBER>5e1d61b0bbabcc072ef89f     2024-09-04T12:22:20Z     2024-09-03T12:20:20Z
spiffe://cluster.local/ns/istio-demo/sa/bookinfo-details                      Root     Available     true           733ce926e70e263a0e03928d910176d7     2034-07-27T09:58:47Z     2024-07-29T09:58:47Z
spiffe://cluster.local/ns/istio-demo/sa/bookinfo-productpage                  Leaf     Available     true<PHONE_NUMBER>ca222ec414398a9cdf72ad     2024-09-04T12:22:20Z     2024-09-03T12:20:20Z
spiffe://cluster.local/ns/istio-demo/sa/bookinfo-productpage                  Root     Available     true           733ce926e70e263a0e03928d910176d7     2034-07-27T09:58:47Z     2024-07-29T09:58:47Z
spiffe://cluster.local/ns/istio-demo/sa/bookinfo-ratings                      Leaf     Available     true           e67e3ba9bb12a54d728cd2b11e52e279     2024-09-04T12:22:20Z     2024-09-03T12:20:20Z
spiffe://cluster.local/ns/istio-demo/sa/bookinfo-ratings                      Root     Available     true           733ce926e70e263a0e03928d910176d7     2034-07-27T09:58:47Z     2024-07-29T09:58:47Z
spiffe://cluster.local/ns/istio-demo/sa/bookinfo-reviews                      Leaf     Available     true           fd635ede6043d719bb2230242b4e5eeb     2024-09-04T12:22:20Z     2024-09-03T12:20:20Z
spiffe://cluster.local/ns/istio-demo/sa/bookinfo-reviews                      Root     Available     true           733ce926e70e263a0e03928d910176d7     2034-07-27T09:58:47Z     2024-07-29T09:58:47Z

Did I do something wrong?
I set this in meshConfig:
meshConfig:
  discoverySelectors:
     - matchLabels:
            something/istio-enabled: "true"

This worked as a charm, I wanted Kiali to exclude non-istio namespaces and they recommend to use discoverySelectors. That worked as expected besides the CA doesn't work anymore.

As I remember, for me it fixed when I added the istio-system namespace to be selected by the discoverySelector

I can confirm that fixed my issue, I labled kube-system with the label from discoverySelector and deleted the ztunnel pods again (not sure if this is neccessary?):
istioctl -i kube-system zc certificates ztunnel-tn4nl
CERTIFICATE NAME                                                        TYPE     STATUS        VALID CERT     SERIAL NUMBER                        NOT AFTER                NOT BEFORE
spiffe://cluster.local/ns/istio-demo/sa/bookinfo-details         Leaf     Available     true           f5c5e85d41a56a027cd8284694f3e52e     2024-09-04T12:36:19Z     2024-09-03T12:34:19Z
spiffe://cluster.local/ns/istio-demo/sa/bookinfo-details         Root     Available     true           733ce926e70e263a0e03928d910176d7     2034-07-27T09:58:47Z     2024-07-29T09:58:47Z
spiffe://cluster.local/ns/istio-demo/sa/bookinfo-productpage     Leaf     Available     true           bf4ba78da9a109fb088af2f351f95fa8     2024-09-04T12:36:19Z     2024-09-03T12:34:19Z

Thanks!

Solved it. I was deploying Istio on the default namespace instead of istio-system, I had to modify istiod's values with:
istio-istiod:
  profile: ambient
  pilot:
    env:
      CA_TRUSTED_NODE_ACCOUNTS: "default/ztunnel,kube-system/ztunnel"

Thanks it really worked.


Using JSON API, UI autorefresh and DB update

Auto-refresh every 5 secs.
Using Gingersnap query for the listing
Moved the DB update logic to its own resource under the /update path
Added a button to update the DB from the demo UI

merged thanks @pzapataf !


Used Sollet to convert USDT to erc20 via metamask - Still cannot find where the money is!

I knew so many posts out there with this issue...SO any SINCERE solutions is really appreciate here and no SCAM pls.
it been 2 days and i still cnnot figure out where to get those tokens back to my metamask?
Where is SOLLET support that i can rely on ?

Please join the discord. There are lots of people there to help https://discord.gg/Wg3FZ6jX.

Please join the discord. There are lots of people there to help https://discord.gg/Wg3FZ6jX.

thx man. Can i honestly ask why so many people had similar issues but no clear solutions share out . Can it be solved?

Please join the discord. There are lots of people there to help https://discord.gg/Wg3FZ6jX.

thx man. Can i honestly ask why so many people had similar issues but no clear solutions share out . Can it be solved?

Yes. All such issues have been solved. Please share further details in discord.

Hi i have had a similar issue! Can someone please help? Invite link to discord is expired. Please

https://discord.gg/fRtaCmYSdw


Proteus needs to stop making Ajax calls once complete

When Proteus is done scanning it still makes tons of Ajax calls. It should stop that once done.

@DalerAsrorov this is another one for you, can you take a look?

fixed


feature/IIWA-31

A drop down card that can either render an element or call a function based on what is selected

@kirbur Feel free to merge :)


At the time of init cmf creates a new (if not exist) working branch with the same name as the file name used to store the metadata file. (default name "mlmd")


Issue with kwargs in and_invoke

Subject of the issue
When lambdas passed to and_invoke are called with keyword arguments, rspec-mocks fails with ArgumentError: wrong number of arguments.
Changing RSpec::Mocks::AndInvokeImplementation#call to…
def call(*args, **kwargs, &block)
  proc = if @procs_to_invoke.size > 1
           @procs_to_invoke.shift
         else
           @procs_to_invoke.first
         end

  proc.call(*args, **kwargs, &block)
end

…seems to fix the issue.
Your environment

Ruby version: 3.3.4
rspec-mocks version: 3.13.1

Steps to reproduce
# ./and_invoke.rb
class AndInvoke
  def call(positional_arg, keyword_arg:)
    puts "Original method called"
  end
end

# ./spec/and_invoke_spec.rb
require_relative 'spec_helper'
require_relative '../and_invoke'

describe AndInvoke do
  let(:instance) { described_class.new }

  before do
    allow(instance).to(
      receive(:call)
        .and_invoke(
          ->(positional_arg, keyword_arg:) { puts "Replacing lambda called" }
        )
    )
  end

  it 'invokes lambda instead of the original method' do
    instance.call('positional_arg', keyword_arg: 'keyword_arg')

    expect(instance).to(
      have_received(:call)
        .with('positional_arg', keyword_arg: 'keyword_arg')
    )
  end
end

Expected behavior
$ bundle exec rspec spec/and_invoke_spec.rb
Replacing lambda called
.

Finished in 0.00377 seconds (files took 0.04207 seconds to load)
1 example, 0 failures

Actual behavior
$ bundle exec rspec spec/and_invoke_spec.rb
F

Failures:

  1) AndInvoke invokes lambda instead of the original method
     Failure/Error: ->(positional_arg, keyword_arg:) { puts "Replacing lambda called" }

     ArgumentError:
       wrong number of arguments (given 2, expected 1; required keyword: keyword_arg)
     # ./spec/and_invoke_spec.rb:10:in `block (3 levels) in <top (required)>'
     # ./spec/and_invoke_spec.rb:15:in `block (2 levels) in <top (required)>'

Finished in 0.00358 seconds (files took 0.04281 seconds to load)
1 example, 1 failure

Failed examples:

rspec ./spec/and_invoke_spec.rb:14 # AndInvoke invokes lambda instead of the original method

It is unclear to me art a glance, what is this example covering? Is it making an expectation that a method is called on an instance? Or does it replace the methid’s implementation and checks how its consumer work?
I see that in theory a combination of allow+receive+and_invoke and a subsequent expect+receive+with intuitively should work, but how often is this needed in practice?

Thank you for the prompt reply.
For example, the mocked method might sit somewhere deep inside our code, and our code would depend on what it returns. And in turn, what the mock will return will depend on what we pass to it from our code:
# somewhere deep inside our code
object_with_mocked_method = ThirdPartyLibrary.new

# NB: The return value from the mock will depend on what we pass to it from our code.
mocked_method_return_value = object_with_mocked_method.mocked_method(argument_passed_from_our_code:)

case mocked_method_return_value
when 'this_result' then do_this
when 'that_result' then do_that
else do_something_different
end

Can you give #1595 a spin to see if that fixes your issue? I think its just a spot that hasn't been marked as passing through keyword arguments properly, a lot of our code predates the existence of keyword arguments.

Released in 3.13.2


Added public and private class hashes [#138853633]

Adds a public and private class hash.  The public hash can be used with a new API endpoint at api/v1/classes/info?public_class_hash=<hash> to retrieve the class name, the students in the class (email and name) and the private class hash.  The endpoint is secured by a combination of the random public class hash and a check to ensure the user is either a teacher or student in the class.
The private class hash was created to use as part of a class key that Sharinator uses with Firebase.  The Sharinator Dashboard is passed a class=<base64encode(api/v1/classes/info?public_class_hash=<hash>)> parameter that it decodes and then calls to get the private class hash.  This allows the Dashboard url to be shared but the data to be protected when the user of the shared url is not a teacher or student of the class.

I like the idea of putting a private key behind a secure endpoint.  Did you check what happens to this private key when the class is copied, it probably shouldn't be copied too.
I don't think the public key is worth it. I think just using the class id as long as it requires an authorized user to access it.  In this case the route could just be:
apii/v1/classes/[class_id]
Also see below about anonymous access with the classword which kind of overlaps with the public key concept.
Did you happen to find this api that I added before:
https://github.com/concord-consortium/rigse/blob/master/app/controllers/portal/clazzes_controller.rb#L745
It would be good to include that functionality in the new api endpoint and then we can deprecate the old one I added. So the additional functionality is:

support anonymous access as long as the classword is passed in ?class_word=[class_word]
add the class uri, state, and teachers

I also wonder why you didn't use pundit? We have similar access checks in the offerings controller: http://github.com/concord-consortium/rigse/blob/master/app/policies/portal/offering_policy.rb#L75-L76

@dougmartin what about using Pundit?  If it is pain it isn't necessary, but if it is simple then it seems good for consistency.
Also I don't think you need a separate info action and route. The show action can support taking a classword as a parameter (that would be moved into pundit if you switch to it).

I didn't use pundit because most of the API controllers don't and I had the separate branch going with the pundit changes in the api controller.

Looks good.  I realized that the info route is necessary because the clients calling it won't know the id of the class they want info on.
Also I was concerned this would have problems with the new CSRF token enabling that Piotr has done. However, these are both GET requests which shouldn't using the CSRF token.


[Feature Request] All pulled data for 'export'

Greetings, hear me out on this suggestion. I'd like to see a zip file of everything from a vehicle of record, when requesting an export. For instance, I want an export of a 1994 honda accord, it has 200 entries for fuel, service, and has 40 some attached receipts. Let's say I am selling the car. I'd like to hit export, the app would put together the csv's for each of the record categories, and then just dump the attachments into an 'attachments' folder of some sort. I can then hand this off to the buyer, and they have everything they need in terms of record keeping. Does that make sense? Good idea/bad idea??

This is already implemented in some shape or form in the dashboard page. The attachments can be exported in a chronological order in a zip file and you can view all of the records in a consolidated view using the consolidated report function. Building a feature to export all the other data in zip file containing the CSV exports seems redundant when both those functionality already exists.

This is already implemented in some shape or form in the dashboard page. The attachments can be exported in a chronological order in a zip file and you can view all of the records in a consolidated view using the consolidated report function. Building a feature to export all the other data in zip file containing the CSV exports seems redundant when both those functionality already exists.

Oh,...well ok then. I was not aware of that feature from the dashboard, and I'll have to look into it a bit more.


chore: clippy fix pass

Changes

#791
#790  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @AngelOnFira and the rest of your teammates on  Graphite


does not work with grafana 8.0.5

Describe the bug
does not work with the latest version of grafana
Expected behavior
Expected behavior: Works with grafana 8.0.5
Screenshots

Software versions

Grafana
Zabbix
Grafana-Zabbix Plugin

8.0.5
5.4.2
4.1.5

+1

Seem to be resolve with Grafana 8.0.6

Does not work here on grafana 8.0.6 and latest 5.4 zabbix. (with enabled mysql access in zabbix plugin. When disabling mysql access, it works fine.)
rawSql:"SELECT CAST(itemid AS CHAR) AS metric, MIN(clock) AS time_sec, AVG(value) AS value FROM history WHERE itemid IN (34532) AND clock ><PHONE_NUMBER> AND clock <<PHONE_NUMBER> GROUP BY (clock-1626337601) DIV 15, metric ORDER BY time_sec ASC"

For me it works with Grafana 8.0.6

Hi all
I've also the same issue useing Grafana v8.0.6 (68fe9e3431) and Zabbix v5.0.14. I use the plugin version 4.1.5. I've first updated Grafana and Zabbix via apt on Ubuntu 20.04 Servers and afterwords the plugin via grafana-cli.
For testing i turned off the "Direct DB Connection", than it all works. But as expected it feels slower than the DB connection.
I've also copied a rawSql Query from the Inspector as described in the comment of @d1nd141. I can execute this query sucessfully in the Explore section of grafana as well as in the mysql cli directly.
If i can send some logs or you need a non working example to debugging something, feel free to contact me. With turning off the DB Connection i've found a workaround. It would be great if this is a little problem which can be fixed soon. This plugin is a really wunderful peace of software, it combines the best of zabbix with the best of grafana.

Same problem, Grafana 8.0.6, plugin 4.1.5 Zabbix 5.0.7
disable Direct DB Connection - helped

Same problem, Grafana v8.0.6, plugin 4.1.5, Zabbix 5.4.3.

I guess I'll try the disable direct DB connection. Hopefully it doesn't impact performance too much as we have a lot of zabbix data feeding into grafana. Hopefully will soon be resolved!

all

Same for me with Grafana 8.0.6, Plugin 4.1.5, TSDB

The original error seems to be a Zabbix issue (frontend doesn't match DB). Other issues should be fixed in latest release, so closing this one.


Argument expectation is too permissive with actual keyword arguments

Subject of the issue
It's more a question and not an issue.
It seems to me that argument expectation (with with method) is too permissive and allows expecting successfully a Hash argument when actual is a keyword argument.
Your environment

Ruby version: 3.0.3
rspec-mocks version: 3.11.1

Steps to reproduce
# frozen_string_literal: true

begin
  require "bundler/inline"
rescue LoadError => e
  $stderr.puts "Bundler version 1.10 or later is required. Please update your Bundler"
  raise e
end

gemfile(true) do
  source "https://rubygems.org"

  gem "rspec", "3.11.0" # Activate the gem and version you are reporting the issue against.
end

puts "Ruby version is: #{RUBY_VERSION}"
require 'rspec/autorun'

class A
  def foo(*args, **kw)
    [args, kw]
  end
end

RSpec.describe 'argument expectation' do
  it 'reproduces the issue' do
    a = A.new

    expect(a).to receive(:foo).with(1, 2, {c: 3})
    a.foo(1, 2, c: 3)
  end
end

Expected behavior
The test should fail because the last expected argument is a Hash, but the actual last argument is a keyword argument.
Actual behavior
The test passes successfully:
Fetching gem metadata from https://rubygems.org/...
Resolving dependencies...
Using bundler 2.2.32
Warning: the running version of Bundler (2.2.32) is older than the version that created the lockfile (2.3.19). We suggest you to upgrade to the version that created the lockfile by running `gem install bundler:2.3.19`.
Using diff-lcs 1.5.0
Using rspec-support 3.11.0
Using rspec-core 3.11.0
Using rspec-expectations 3.11.0
Using rspec-mocks 3.11.1
Using rspec 3.11.0
Ruby version is: 3.0.3

Run options: include {:focus=>true}

All examples were filtered out; ignoring {:focus=>true}

Randomized with seed 61040

argument expectation
  reproduces the issue

Finished in 0.00959 seconds (files took 0.21165 seconds to load)
1 example, 0 failures

Randomized with seed 61040

The similar situation with
    expect(a).to receive(:foo).with(1, 2, c: 3)
    a.foo(1, 2, {c: 3})

(actual argument - Hash, expected - keyword argument)
Such test successfully passes.

Just by looking at those specs, do you think something is incorrect?
I tend to agree with what you say:
$ rvm use 3.0.1
$ irb
def x(a, b, c:)
  puts [a,b,c]
end
x(1, 2, {c:3})
ArgumentError: wrong number of arguments (given 3, expected 2; required keyword: c)

Would you like to send a PR to fix this case, or at least with failing examples?

Ah, I see. Thank you.
Yes, I will try to find a workaround and create a PR.

Looks like the issue is already fixed by https://github.com/rspec/rspec-mocks/pull/1473.
Thank you.


Gradle task dependency data is wiped out when srcdirs are set

Lines
val srcDirs = mainSourceSet.java.srcDirs + outputDir
mainSourceSet.java.setSrcDirs(srcDirs)

wipe out Gradle task dependency data entirely and break all of build dependency logic.
Instead it should be:
mainSourceSet.java.srcDirs(outputDir)

Just to clarify the "why" here, the srcDirs "getter" converts the internal FileCollection to a list of Files. This loses the builtBy information that was previously attached to each of the source directories in the sourceset, preventing gradle from knowing which tasks are responsible for building them.
The srcDirs(...) method instead just adds the new directory to the list without disturbing the existing entries.


add compact sample group conformance files

Is it missing samplegroups_defrag_compact_gpac.json ?

Is it missing samplegroups_defrag_compact_gpac.json ?

This was due because of a small bug in MP4Box: https://github.com/gpac/gpac/issues/2053
Jean fixed is very quickly (as always). I'll update and add the missing file


Too Many False Positives On Node.js Projects

Hi Jeremy,
I've been using the dependency-check command line tools on some Node.js projects and found that I was getting a lot of false positives. These were mainly relating to other languages or frameworks (e.g. Drupal, PHP or C code rather than the JavaScript code from the dependent Node packages).
Looking at the Node analyser documentation, it seems like evidence is gathered by this but is then subsequently incorrectly classified via subsequent analysers and creates CPEs for other languages. The confidence level for all of these is low, and I could just add them to the suppression file. For a project with 13 potential vulnerabilities, only 4 of them were Node.js specific and all of those were relating to an older version of Node (0.10.1) than we are using (4.2.2 I think).
I've created a simple Node.js project for testing (should you want it). It contains one simple dependent package which was picked up in our full projects. The test repo is here:
https://github.com/MarcL/dependency-check-test
and the dependency report can be seen here:
https://htmlpreview.github.io/?https://github.com/MarcL/dependency-check-test/blob/master/report/dependency-check-report.html
I'm not sure if this is classed as a bug or just a limitation of the dependency-check tool for Node.js projects. Is there a better way to fix this than suppressing all of the false positives? Can/should the evidence be tagged by project type to avoid this false classification?
Thanks,
Marc

The issue is that the data being used (NVD) does not tag vulnerabilities as being to a specific language. I have spent a bit of time on the Java side creating suppression rules to reduce the issue you are seeing in Node.js. See examples in the base suppression xml. A large volume of these false positives can be taken care of quickly by creating similar entries (PRs are more then welcome).
I know node.js was added to dependency-check - but for many reasons using tools like retire.js or node security project are likely going to be much more accurate.
Due to the false positive rates associated with a  few a the analyzers I am going to flag them as  experimental and require specifically turning on the experimental flag. See issue #498.

Thanks for your reply @jeremylong.
All of that makes perfect sense. Thanks for letting me know.
I might take a look at the supression XML when I get a minute and raise a PR for you.


Sync Problem

Product and Version [VS/VSCode]:
OS Version [macOS/Windows/Linux]:
Live Share Extension Version:
Target Platform or Language [e.g. Node.js]:
What were you doing when you encountered the desync?
How often have you encountered desyncs?

Hey @PranavGPR , could you provide some more info about the issue? Thanks!

Hey @PranavGPR , could you provide some more info about the issue? Thanks!

Hey @daytonellwanger , I had a problem with my live server as it got crashed couple of times when I have been doing some HTML and SCSS stuffs. I don't know exactly what happened but my system just hanged up for a moment and live server ran into a problem so that extension host has been stopped.

I'm going to close this issue as a duplicate of #2086, so that we can consolidate the conversation there. If you can share any more details about your repro, it would be amazingly helpful if you could add them to that issue. Thanks!


[Image_Picker] does not load images in release mode and throws PlatformException when ImageSource.camera

I have a similar issue like #72759.
It's only on release build and using the camera, gallery works.
I've tried up and downgrading gradle.

flutter clean
changing compiledSdkVersion
flutter upgrade
flutter pub upgrade

nothing helps.
I've create a repo to reproduce. : https://github.com/jonaswre/image_picker_debug

Create project flutter create image_picker_debug --platforms=android
Install image_picker: image_picker: ^0.8.5+3
Update main.dart to open image_picker
Run app: flutter run --release --verbose
Look at error:

[+10383 ms] E/flutter (29377): [ERROR:flutter/lib/ui/ui_dart_state.cc(198)] Unhandled Exception:
PlatformException(error, null, null, java.lang.NullPointerException
[   +1 ms] E/flutter (29377):   at java.util.Objects.requireNonNull(Objects.java:220)
[        ] E/flutter (29377):   at java.util.Arrays$ArrayList.<init>(Arrays.java:3738)
[        ] E/flutter (29377):   at java.util.Arrays.asList(Arrays.java:3725)
[        ] E/flutter (29377):   at io.flutter.plugins.imagepicker.f.a(Unknown Source:16)
[        ] E/flutter (29377):   at io.flutter.plugins.imagepicker.f.b(Unknown Source:15)
[        ] E/flutter (29377):   at io.flutter.plugins.imagepicker.e$a.b(Unknown Source:2)
[        ] E/flutter (29377):   at io.flutter.plugins.imagepicker.e.E(Unknown Source:6)
[        ] E/flutter (29377):   at io.flutter.plugins.imagepicker.e.J(Unknown Source:10)
[        ] E/flutter (29377):   at io.flutter.plugins.imagepicker.ImagePickerPlugin.a(Unknown Source:229)
[        ] E/flutter (29377):   at w.i$a.a(Unknown Source:17)
[        ] E/flutter (29377):   at j.c.i(Unknown Source:18)
[        ] E/flutter (29377):   at j.c.j(Unknown Source:20)
[        ] E/flutter (29377):   at j.c.f(Unknown Source:0)
[        ] E/flutter (29377):   at j.b.run(Unknown Source:12)
[        ] E/flutter (29377):   at android.os.Handler.handleCallback(Handler.java:938)
[        ] E/flutter (29377):   at android.os.Handler.dispatchMessage(Handler.java:99)
[        ] E/flutter (29377):   at android.os.Looper.loopOnce(Looper.java:233)
[        ] E/flutter (29377):   at android.os.Looper.loop(Looper.java:344)
[        ] E/flutter (29377):   at android.app.ActivityThread.main(ActivityThread.java:8212)
[        ] E/flutter (29377):   at java.lang.reflect.Method.invoke(Native Method)
[        ] E/flutter (29377):   at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
[        ] E/flutter (29377):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1034)
[        ] E/flutter (29377): )
[        ] E/flutter (29377): #0      StandardMethodCodec.decodeEnvelope
(package:flutter/src/services/message_codecs.dart:607)
[        ] E/flutter (29377): #1      MethodChannel._invokeMethod
(package:flutter/src/services/platform_channel.dart:167)
[        ] E/flutter (29377): <asynchronous suspension>
[        ] E/flutter (29377): #2      ImagePickerAndroid.getImage
(package:image_picker_android/image_picker_android.dart:161)
[        ] E/flutter (29377): <asynchronous suspension>
[        ] E/flutter (29377): #3      _MyHomePageState._incrementCounter (package:image_picker_debug/main.dart:57)
[        ] E/flutter (29377): <asynchronous suspension>
[        ] E/flutter (29377):

flutter doctor -v
[✓] Flutter (Channel stable, 3.0.5, on Microsoft Windows [Version 10.0.22000.856], locale en-DE)
    • Flutter version 3.0.5 at C:\src\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f1875d570e (5 weeks ago), 2022-07-13 11:24:16 -0700
    • Engine revision e85ea0e79c
    • Dart version 2.17.6
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at C:\Users\JonasWrede\AppData\Local\Android\sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[✓] Visual Studio - develop for Windows (Visual Studio Professional 2022 17.2.5)
    • Visual Studio at C:\Program Files\Microsoft Visual Studio\2022\Professional
    • Visual Studio Professional 2022 version 17.2.32616.157
    • Windows 10 SDK version 10.0.19041.0

[✓] Android Studio (version 2021.2)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)

[✓] VS Code (version 1.69.2)
    • VS Code at C:\Users\JonasWrede\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.46.0

[✓] Connected device (5 available)
    • AC2003 (mobile)         • 06f28144      • android-arm64  • Android 12 (API 31)
    • sdk gphone x86 (mobile) • emulator-5554 • android-x86    • Android 11 (API 30) (emulator)
    • Windows (desktop)       • windows       • windows-x64    • Microsoft Windows [Version 10.0.22000.856]
    • Chrome (web)            • chrome        • web-javascript • Google Chrome 104.0.5112.81
    • Edge (web)              • edge          • web-javascript • Microsoft Edge 103.0.1264.44

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Thanks for the help

Hi @jonaswre, I can't seem to reproduce this issue.
Does it occur only in release mode or does it reproduce in debug mode as well?
Also, can you try the plugin example code to see if it works for you or not?

Hi @danagbemava-nc
its only with ImageSource.camera and release mode.

I've tried the example that works.
I replaced the android folder that was create by "flutter create" with the one from the example. That works.
https://github.com/jonaswre/image_picker_debug/pull/1
It should be documented if something needs to be changed after "flutter create"

I replaced the android folder created by "flutter create" with the one from the example. That works.

I don't think that should be necessary. What happens if you create a new flutter app and just use the code sample from the package without changing anything in the android folder?

https://github.com/jonaswre/image_picker_debug
This is what I did in this repo!

Create project flutter create image_picker_debug --platforms=android
Install image_picker: image_picker: ^0.8.5+3
Update main.dart to open image_picker
Run app: flutter run --release --verbose

Using the code sample from the plugin and the steps you have outlined in https://github.com/flutter/flutter/issues/109549#issuecomment-1216680538, I cannot reproduce the issue. The camera opens just fine.
What device(s) do you experience the issue on?

The sample codes works!!!!! Please try it with my sample code.  Its a freshly created app just with image_picker installed!

The sample from the plugin is very old it uses gradle 3.3.0

flutter create i_p_test --platform=android
cd .\i_p_test\
flutter pub add image_picker

Change the main.dart content.
Start emulator and then: flutter run --release --verbose
If you click on the FAB it won't open the camera and you see the PlatformException in the console.

I can reproduce it now.
Observations

This only occurs when the source ImageSource.camera
This works fine in debug mode
This issue does not reproduce on iOS.
The plugin example seems to work fine for some as noted in https://github.com/flutter/flutter/issues/109549#issuecomment-1216698911

Labeling for further investigation.

code sample
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      title: 'Flutter Demo',
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
      return FloatingActionButton(
        onPressed: () async {
          final ImagePicker _picker = ImagePicker();
          final XFile? image = await _picker.pickImage(source: ImageSource.camera);
        },
      );
  }
}

flutter doctor -v
[✓] Flutter (Channel stable, 3.0.5, on macOS 12.5 21G72 darwin-arm, locale en-GB)
    • Flutter version 3.0.5 at /Users/nexus/dev/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f1875d570e (5 weeks ago), 2022-07-13 11:24:16 -0700
    • Engine revision e85ea0e79c
    • Dart version 2.17.6
    • DevTools version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] VS Code (version 1.70.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.46.0

[✓] Connected device (5 available)
    • M2007J20CG (mobile)         • 5dd3be00                  • android-arm64  • Android 11 (API 30)
    • sdk gphone64 arm64 (mobile) • emulator-5554             • android-arm64  • Android 13 (API 33) (emulator)
    • Nexus (mobile)              • 00008020-001875E83A38002E • ios            • iOS 15.6 19G71
    • macOS (desktop)             • macos                     • darwin-arm64   • macOS 12.5 21G72 darwin-arm
    • Chrome (web)                • chrome                    • web-javascript • Google Chrome 104.0.5112.79

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 3.1.0-0.0.pre.2346, on macOS 12.5 21G72 darwin-arm, locale en-GB)
    • Flutter version 3.1.0-0.0.pre.2346 on channel master at /Users/nexus/dev/sdks/flutters
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision adda088bcc (4 hours ago), 2022-08-17 22:59:07 -0400
    • Engine revision a77ead45a8
    • Dart version 2.19.0 (build 2.19.0-108.0.dev)
    • DevTools version 2.16.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13F100
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] VS Code (version 1.70.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.46.0

[✓] Connected device (5 available)
    • M2007J20CG (mobile)         • 5dd3be00                  • android-arm64  • Android 11 (API 30)
    • sdk gphone64 arm64 (mobile) • emulator-5554             • android-arm64  • Android 13 (API 33) (emulator)
    • Nexus (mobile)              • 00008020-001875E83A38002E • ios            • iOS 15.6 19G71
    • macOS (desktop)             • macos                     • darwin-arm64   • macOS 12.5 21G72 darwin-arm
    • Chrome (web)                • chrome                    • web-javascript • Google Chrome 104.0.5112.79

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

android-camera.log
android-gallery.log

Is there any progress regarding this, or a workaround, perhaps?

After reviewing the changes at https://github.com/Iconica-Development/flutter_image_picker/pull/2, it seems that adding the following to android/app/src/main/AndroidManifest.xml prevents the error.
<uses-permission android:name="android.permission.CAMERA" />

I think this needs more testing, but I guess it should be added to the documentation if it is accurate.

That's not the resolution but it's works now.
I didn't change anything. The example I provided seams to work now.

https://github.com/flutter/flutter/issues/109549#issuecomment-1257306145 was the exact solution that worked for me.
When running in release mode on the devices, I got the exact error that started this ticket. Making the permissions change solved it.
When that permission is in place, the first use of image_picker in the app causes Android to display the typical permissions ask.
This was consistent on the following physical devices:

Forgot to share my latest finding regarding this. For me, either adding the permission to the manifest or making sure androidx.test:core is an implementation dependency in the app level build.gradle fixed it, not sure why.

None of the fixes actually working for me.
It seems to be problem on Xiaomi devices. My Samsung devices work as expected.


Duplicate Enemies Occupying Same Space

PLEASE DO NOT USE THIS FORM TO REQUEST FEATURES!  THIS IS FOR BUG REPORTS ONLY!
If you wish to discuss new features, please join our Discord server: http://discord.smrpgspeedruns.com
Console or Emulator:
Console
If emulator state which emulator and version.  If console, state which flash cart firmware.
Console, but no flash cart. I'm using a custom SA-1 development cartridge with the ROM burned to a M27C322 EPROM.
Flags (paste flag string if available):
Default Casual I believe
Seed number or hash (seed number or hash string from filename or download page):
OR
Permalink (permalink URL from download page if you have it):
SMRPG_US_8.2.7_open_2aa50555a5acc17c3340813c2af06d1b_1431774551.sfc
Description of problem:
In at least 2 locations now, notably Kero Sewers and Rose Way, I've encountered enemies that seem to multiply themselves mid battle and occupy the same space. 2 of the same enemy will occupy the same space and when one is defeated, the other is able to be attacked and defeated as normal.
I've seen this with hobgoblins in Kero Sewers and arachnes on Rose Way.
I would expect them to be 2 separate enemies position wise. This behavior seems glitchy to me.

I haven't heard of this happening before.  Were you using Crowd Control by chance?

Nope, no Crowd Control.
After posting this, I did end up dumping the save from the cart and finishing the run on bsnes v115. The behavior is also exhibited with that.
save.zip
I've attached a zip file with my save and a bsnes movie showing the behavior. I still have the ROM as well if it's needed to generate a patch or something.

The next patch is a major rewrite which should fix a lot of outstanding oddities from the original game.

Oh yeah, I forgot to mention, I did find the root cause of this and it will be fixed in 9.x!


Expanding a row should not display hidden columns content

Select one ...  (check one with "x")
[x] bug
[ ] feature request
[ ] enhancement

Expected behavior
When expanding a row which has some hidden columns, the cells corresponding to those hidden columns shouldn't be displayed.
Actual behavior
When expanding a row which has some hidden columns, the cells corresponding to those hidden columns are displayed, which breaks the structure of the table by having too many cells on the expanded row.
Reproduction of behavior
see plunkr: https://plnkr.co/edit/sPPjVO3KjDCElLRZUEmI?p=preview
Environment details

Angular version: 4.1.3

Clarity version: 0.9.9

We missed the interaction between these two features. Thanks for filing this.

@youdz can this issue be prioritized? It's still a blocker on our side that prevents us from using the datagrid expandable feature.

@clementcur
I have flagged this issue to be discussed in our weekly planning.

Thx guys!


Latency Issue

I tested the demo and it works (i use default parameters). I got better output when I modified the prompt template in gpt4v.py. The key issue for me is the latency. It took about 4-5 minutes to inference on the image after clicking on Run.
It then took additional 6 -8 minutes to get response from GPT4-V after clicking on 'Submit". Any thought on how I can improve this processing time?
I work in WSL2 environment equipped with Nvidia rtx 3090.

Hi, @bjohn22 , given that it took 4-5min to inference on an image, I guess you are using CPU but would suggest use GPU for the inference, which may only take 2sec. Regarding the second part, it usually took me 3secs to get the GPT-4V response,

Inference on EC2 with https://github.com/microsoft/SoM/pull/19 takes about 3-5s/image.


There is an error message 'Folder name must not end with .' when creating a folder using a single character as the name in one file share

Storage Explorer Version: 1.24.0-dev
Build Number: 20220421.6
Branch: rel/1.24.0
Platform/OS: Windows 10/Linux Ubuntu 20.04/MacOS Monterey 12.3 (Apple M1 Pro)
Architecture: ia32\x64
How Found: From running test cases
Regression From: Previous release (1.23.1)
Steps to Reproduce

Expand one storage account -> File Shares.
Create a file share -> Click 'New Folder'.
Delete the default name -> Type 'X' in the 'New folder name' field.
Check whether there is no error message.

Expected Experience
There is no error message.

Actual Experience
There is an error message 'Folder name must not end with .'.

Verified this issue on the build 20220422.13. Fixed.


Object and advanced array comprehensions

Object comprehensions
(based on Python's dict comprehensions)
obj := {for item of list
   [item.key]: item
   [item.key.toLowerCase()]: item
}
---
const obj = (function(){const results = {}
  for (const item of list) {
    Object.assign(results, {
      [item.key]: item,
      [item.key.toLowerCase()]: item,
    })
  }
})()

Array flattening via spreads
array := for item of list
  if Array.isArray item
    ...item
  else
    item.toString()
---
const array = (function(){const results = []
  for (const item of list) {
    if (Array.isArray(item)) {
      results.push(...item)
    } else {
      results.push(item.toString())
    }
  }
})()

This could also be achieved via for.value.push(...item); continue given #362, but this seems like more natural notation.

Another application would be the ability to flatten the results of nested for loops. Ideally we could simplify the output to not construct an intermediate array, as follows:
array := for sublist of list
  ...for item of sublist
    item ** 2
---
const array = (function(){const results = []
  for (const sublist of list) {
    for (const item of sublist) {
      results.push(item ** 2)
    }
  }
})()

This gives us a very flexible equivalent of Janet's loop primitive.

+1 on the object comprehensions: looks/feels totally natural, and with significant Python exposure prior to any Java/TypeScript, something I've been feeling the lack of basically since day 1.

For anyone following this issue, #1563 gave us object comprehensions! See https://civet.dev/reference#object-comprehensions


Improve tests

Merge improve tests to development to prepare merge to main

The history of the branch and this PR has become a damn mess. Merge and that's it.


Split Vagrantfile shell provisioning to separate file for easier editing

— no intervention needed

Vagrant is for the example-bot, right? Not the docs

Vagrant is for the example-bot, right? Not the docs

Yes and no the Vagrantfile I made after initializing the VM, installs several stuff AND runs a git clone of the example-bot repo PLUS a composer install on the freshly cloned repo.
I'm also planning to modify it more to run a mysql_secure_installation, and create a user called dbuser, with the password dbpass and a databse named dbname just like in the default fields of the example-bot
:point_right: So in this way, once someone runs the vagrant up with this vagrantfile he has a ready to go bot —except for the getUpdatesCLI.php bot name\token which can't be automated and needs a user input.

This overkill plug-n-play solution is meant for having a quickstart for real, where the user can start fiddling with the example commands code, have an overview of it and get an understanding of the framework while manipulating it. I believe there is no better way to learn than reading and applying.
All of this comes from the general idea that the example-bot should be a noob proof as possible. Kinda KISS way of doing it till once can grasp how to do stuff alone.

Ok for the top part of your comment.
Absolutely agree with "quickstart for real", as that's the best way to learn.
Regarding the vagrant setup, this for me would be a lot more logical as a user:

Download example-bot.zip
Unzip
vagrant up

It seems weird to have to download the vagrantfile from the docs, but I'm totally open to hear your idea.
How do you see the workflow of a user actually getting the vagrantfile and starting the development environment?

I need to check better when the shared folder is mounted, if before or after the shell provisioning phase. If the mount happens after the shell provisioning we can't run a composer install on a not yet present example-bot. Will check :point_up:
:thinking: I just thought of another issue: the actual Vagrantfile contains instructions to git clone the repo and run a composer install on it (and it works fine for now) but this would happen for every time the VM is brought up with the --provision option (which shouldn't happen in a common user case) but in the case that it happens eventual changes made to the example-bot will be lost\overwritten.
So maybe it doesn't even matter my first, point since your method is more secure.

The workflow I imagine is that a user lands on the example-bot repo or a future website landing page and it is guided to open the docs, here it is presented with a preliminary preview of the framework capabilities and two paths:

Let's Play (this name can be completely changed btw, I took inspiration from the many Let's Play series of popular videogames >.>)
Core path

:point_right: The former guides the user to quickly have a functioning example-bot, with general hints about what is happening during the setup of the environment and initial configuration. Once the bot is up and running all the example Commands will be presented, for each one I plan to comment and elaborate what it's happening almost line by line like taking by hand a 5yr old boy.
After such extensive tour of the framework (which can be of course skipped) a custom command creation example is presented. By now enough methods and entities should be known by our hypothetical user.
Then the Webhook configuration is introduced with explanation of the GET POST scheme and a Webhook method is implemented (if we get ngrok up and kicking).
--> end
:point_right: The latter (Core) will just inform the (maybe experienced) how to initialize the framework with an example composer.json and that the MySQL database needs to be initialized with structure.sql. No commands or step by step passages are presented, maybe just links back to the Let's Play part for reference.
A list of the entities and methods (types, methods and inlinequery) is presented with a brief recap of the allowed\requested parameters for its $data array
Brief recap of how the channel integration and administraton works.
A note about the logging.

I guess it's everything I wanted to say. Going to sleep now, if something catches up on my mind I'll add it.
Let me know what do you think and of course how you would expect the user experience to be.

Did my stuff and...

I need to check better when the shared folder is mounted, if before or after the shell provisioning phase. If the mount happens after the shell provisioning we can't run a composer install on a not yet present example-bot. Will check

:point_up: The shared folder is mounted before the shell provisioning phase. So we have a go.
Given this :point_down:

:thinking: I just thought of another issue: the actual Vagrantfile contains instructions to git clone the repo and run a composer install on it (and it works fine for now) but this would happen for every time the VM is brought up with the --provision option (which shouldn't happen in a common user case) but in the case that it happens eventual changes made to the example-bot will be lost\overwritten.

I'll change the vagrantfile and the docs to the reflect your usage proposal which I now think it is indeed more valid.

how you would expect the user experience to be

Quite similar to what you've outlined.

User finds the repo (probably core, as that's what's out there on the interwebz)
We'd have a link to the docs quite high up in the readme
User clicks it 🕹
As you mention, a part for total beginners, a part for experienced users

As for the beginners part, totally this:

comment and elaborate what it's happening almost line by line

That was on my TODO list too, to add proper descriptions of what each command does in the file header. We'll need to find good wording for the "line by line" commenting, not to bloat it. I've seen examples out there that are so overloaded with comments, that it becomes difficult to actually see the code and how it works. But we'll find a good solution for this, I'm positive.
Back to the workflow...
User sees that there is an example-bot repository that can easily be downloaded and started!

Download example-bot repo
vagrant up

Optional: For the provision, we could even go as far as doing a mini installation help 🎉
$ What is the name of your bot?
whoop_bot
$ What is the API key of your bot?
123:abc

At this point, the user should know enough about how the bot works to start digging into the code.
As you mentioned, getUpdates with DB is the default for starting out, as it's also the easiest for debugging.
(TODO: Have a great page about debugging bot code!)
Then, when user feels comfortable with that, the webhook way can be tested (using ngrok or localtunnel).
As for multiple provisions, that shouldn't be a problem, as the user must learn never to change anything in the vendor folder, and also the example-repo would have been downloaded as a zip file, not a git clone.
Hope my thoughts make sense so far!

Optional: For the provision, we could even go as far as doing a mini installation help

Found out two ways so far to achieve this:

Via the Vagrantfile itself

Via environment variables inline with the vagrant up

This is a my idea instead: having the user to enter bot name and token into a credentials.php file which is then included with an include credentials.php into the getUpdatesCLI.php and set.php. So kinda half away from the manager.php actually in the aspect of centralizing the botname\token parameters.

I like point 3 (credentials.php) the most, as it's independent of any environment stuff and can also be used stand-alone, without using vagrant at all.


Nested expands and selects

Hey there everyone,
I am currently running a lot of data request with Python, and tried to get the following running but couldn't find any docs on how to do so. I would love to select on expanded entities or even expand on expanded ones. Both seem to be possible from the spec and from the Northwind example: http://services.odata.org/V4/Northwind/Northwind.svc/Customers?$select=CustomerID&$expand=Orders($select=OrderID;$expand=Order_Details($select=UnitPrice))
Could anyone point me to the docs on how this is possible with pyodata? Looking at the source code I tried to pass it in the expand attribute as a string like Orders($select= OrderID), but that didn't work. I think the only way would be expand the expand function to actually take objects instead of string so one can infinitely nest them, but I would be happy to get everyone's take on this.
Best and thanks a lot in advance for taking the time to think about this 🤗

Hi @jendrikjoe
there are two points to your question:

example of expand usage see in tests - https://github.com/SAP/python-pyodata/blob/03bee7c0f1a73037366a20a8fdbf01190036b14d/tests/test_service_v2.py#L1538

I see this is not explain in the documentation, just in tests, so adding missing_docs flag.

You are using V4 Northwind endpoint, while pyodata currently supports odata V2 only. So your URL will not work anyway.

You need to wait for V4 support here (or use different python library). If you are able to switch do nodejs, recommending sister odata-library, which is ahead in Odata V2 + V4 support - https://github.com/SAP/odata-library

I do not see anything actionable for this issue only, so closing.


Initial proposal commit

Let's discuss the LOD proposal on this Pull Request.

Thanks for setting this up, it would be great to understand the context how you are planning to use this in your own pipeline and workflow to understand why you made certain choices (i.e engine or pipeline driven).
From the notes it seems like you are going to handle the evaluation in a non USD/delegate specific way, is that to just describe the data in a portable way for an engine to consume(UE, unity, anvil, etc)? Does this include bidirectionality?
Any info how you plan to nest LODs for HLODs, or create a new type for HLOD?
Would also be interesting to see if we could populate the comparison logic to the Camera prim type and leverage some existing usd components like extents to help with bbox hit queries, then we could leverage faster delegates to include this setup for other use cases in different verticals.

@chunghob What do you mean by bidirectionality?

@meshula sorry if it was unclear, trying to see if they need to move data generated in the engine state back up the pipeline to any other work process or department. One instance I can think of is that there is logic happening on the engine side that might need to be ported back to the source data, for example running simulation data in engine that generated new data that might need relate back to some sort of input data. Or if a change is made at run time to the base configuration for lod switch how does that get put back into the schema attributes for a new state.


FileManager: repair homeDirectoryForCurrentUser on Windows

The homeDirectory(forUser:) is currently not functioning properly for users other than the current user.  Switch to directly using the CoreFoundation API which simplifies the logic and makes the functionality work on Windows.  This uses the forced unwrap for the return value, which was previously the case and resulted in a trap on Windows.

CC: @parkera

@swift-ci please test

It isn't homeDirectory(forUser:) that is failing, it is that NetUserGetInfo will not provide a home directory for the user.
https://github.com/apple/swift-corelibs-foundation/blob/main/CoreFoundation/Base.subproj/CFPlatform.c#L594
By passing in the explicit nil for the username, we directly invoke CFCopyHomeDirectoryURL which will give you the home directory for the current user.

We should probably fix CFCopyHomeDirectoryURLForUser so that it can properly handle the current username. homeDirectory(forUser:) and homeDirectoryForCurrentUser should return the same thing when the function is passed the current username (assuming the current user isn't a system account, in which case I expect the computed property to explode and the function to return nil).
For performance/inlining/fast-pathing, I'm fine with the direct nil-passing in the computed property and a special-case for userName == GetCurrentUser() for the function.

@swift-ci please test


bug/CE-610-Unable-to-enter-text-into-outcome-by-animal-drug-text-fields

Description
This PR fixes the bug when a user is unable to enter information into text fields in the drug section of the outcome by animal section. (Adverse reactions, Amount discarded, Discard method)
Fixes # (CE-610)
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] Navigate to a HWC. Click to add an Outcome by animal. Click to add drug. Select ‘Fate of remaining drug in vial’ to be discarded. Attempt to enter data into ‘Adverse reactions’, ‘Amount discarded’, ‘Discard method’
Check is user is able to enter information into all fields.

Checklist

[x] New and existing unit tests pass locally with my changes

Thanks for the PR!
Any successful deployments (not always required) will be available below.
Backend available
Frontend available
Once merged, code will be promoted and handed off to following workflow run.
Main Merge Workflow

@dmitri-korin-bcps "Adverse Reactions" field does not appear to be working for me.

@afwilcox Now it should be possible to edit Adverse Reactions field. The issue reported by Sonar Cloud is resolved too.


Model Reveal for Wordpress + Foundation scrolls to the top before revealing the modal dialog

In our company we have integrated Wordpress with Foundation 5.3
I implemented a page in wordpress that provides all images as links.
clicking on image open a modal but it will also scroll to the top.
closing them modal does not lead to scroll back down.
[http://codepen.io/Prateek057/pen/LZpoze]

Issue seems to be with
html body {
height: 100%
}
any work around for this with out and repercussions ?

Your CodePen doesn't work, probably because you have PHP code in it.
Can you provide a working one, with just important stuff in it?
Any reason for not using the latest Foundation 5.X version? (5.5.3)
Or even Foundation 6?

I am having similar issues with the Reveal forcing the screen to return to the top. I've isolated the issue to iOS with my iPhone using Foundation 6.2. See http://codepen.io/josho/pen/KMMvGo
The pen running on my iPhone causes the web page to scroll to the top when the reveal is opened. Opening a reveal shouldn't cause the page position to be lost.
Interestingly I can't reproduce on my desktop, so it may be a mobile Safari issue, not simply a small screen issue.

I have fixed this issue by setting the min-height to 100%, overwrite html, body { height: 100%}. Now the position is not lost

@Prateek057 Does Josh's 6.2.1 fix work for you (removing the href="#")? Or Seba's min-height fix? If not, please reopen this issue with a working codepen example so we can investigate the issue?

A note for anyone else looking for this, on 6.2.2 removing href="#" doesn't affect anything, but the min-height fix does. Here's what's working for me currently:
html, body {
  min-height: 100%;
  height: auto !important; /* Yuck */
}


Only nag for bz information once a week

Notify about bz component once a week instead of every build

Codecov Report

Merging #294 into master will decrease coverage by 0.03%.
The diff coverage is 2.70%.

@@            Coverage Diff             @@
##           master     #294      +/-   ##
==========================================
- Coverage   25.61%   25.57%   -0.04%
==========================================
  Files          31       31
  Lines        6872     6882      +10
  Branches     1366     1368       +2
==========================================
  Hits         1760     1760
- Misses       5048     5058      +10
  Partials       64       64

Impacted Files
Coverage Δ

doozerlib/distgit.py
32.47% <2.70%> (-0.29%)
:arrow_down:

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 ff1b786...f2767bf. Read the comment docs.