Different behaviour console/Fastfile use automatic code signing

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
Calling update_code_signing_settings use_automatic_signing from the command line behaves differently than when used in the Fastfile. The problem is that when it's called from the command line the use_automatic_signing is a String and not a boolean value. So it always reverts to the true case, which is 'Automatic'.
I verified this by printing the class of use_automatic_signing to the console. I did make an attempt to figure out how to fix this, but I got list in the code base. Also, I wasn't sure how to write a test case for this. The, executing from Fastfile is already covered in a test case.
Command executed
fastlane run update_code_signing_settings use_automatic_signing:false, path:EasyEntry/EasyEntry.xcodeproj
Complete output when running fastlane, including the stack trace and command used
[11:56:01]: Updating the Automatic Codesigning flag to enabled for the given project '/Users/jason.franklin/Repos/easyentry-ios/EasyEntry/EasyEntry.xcodeproj/project.pbxproj'
[11:56:01]: Successfully updated project settings to use Code Sign Style = 'Automatic'
[11:56:01]: Modified Targets:
[11:56:01]:      * EasyEntry
[11:56:01]:      * EasyEntryUITests
[11:56:01]:      * RegisterUITests
[11:56:01]:      * EasyEntryTests
[11:56:01]: Modified Build Configurations:
[11:56:01]:      * Debug
[11:56:01]:      * Release
[11:56:01]:      * Debug
[11:56:01]:      * Release
[11:56:01]:      * Debug
[11:56:01]:      * Release
[11:56:01]:      * Debug
[11:56:01]:      * Release
[11:56:01]: Result: false,

fastlane env output
<details><summary>🚫 fastlane environment 🚫</summary>

### Stack

| Key                         | Value                                       |
| --------------------------- | ------------------------------------------- |
| OS                          | 10.15.5                                     |
| Ruby                        | 2.5.3                                       |
| Bundler?                    | false                                       |
| Git                         | git version 2.24.3 (Apple Git-128)          |
| Installation Source         | ~/.rvm/gems/ruby-2.5.3/bin/fastlane         |
| Host                        | Mac OS X 10.15.5 (19F101)                   |
| Ruby Lib Dir                | ~/.rvm/rubies/ruby-2.5.3/lib                |
| OpenSSL Version             | OpenSSL 1.1.1c  28 May 2019                 |
| Is contained                | false                                       |
| Is homebrew                 | false                                       |
| Is installed via Fabric.app | false                                       |
| Xcode Path                  | /Applications/Xcode.app/Contents/Developer/ |
| Xcode Version               | 11.5                                        |

### System Locale

| Error                       |
| --------------------------- |
| No Locale with UTF8 found 🚫 |

### fastlane files:

<details><summary>`./fastlane/Fastfile`</summary>

```ruby
fastlane_version "2.10.0"

default_platform :ios

platform :ios do

  lane :foobar do
    update_code_signing_settings(
      use_automatic_signing: false,
      path: "EasyEntry/EasyEntry.xcodeproj"
    )
  end
  #
  # Learn more here: https://github.com/fastlane/setups/blob/master/samples-ios/distribute-beta-build.md 🚀
  #
  lane :beta do |values|
    # Fabric generated this lane for deployment to Crashlytics Beta
    # set 'export_method' to 'ad-hoc' if your Crashlytics Beta distribution uses ad-hoc provisioning
    gym(scheme: 'Copy of EasyEntry', export_method: 'enterprise')

    emails = values[:test_email] ? values[:test_email]<EMAIL_ADDRESS># You can list more emails here
    groups = values[:test_email] ? nil : nil # You can define groups on the web and reference them here

    crashlytics(api_token: 'cd0b2378f831244ebc0c76b92419ae7e2d94bdd5',
             build_secret: 'b77f031a4f20cc688121fc43660c4078ff5a6704ab7bfc22f1119f2eeadb5028',
                   emails: emails,
                   groups: groups,
                    notes: 'Distributed with fastlane', # Check out the changelog_from_git_commits action
            notifications: true) # Should this distribution notify your testers via email?

    # for all available options run `fastlane action crashlytics`

    # You can notify your team in chat that a beta build has been uploaded
    # slack(
    #   slack_url: "https://hooks.slack.com/services/YOUR/TEAM/INFO"
    #   channel: "beta-releases",
    #   message: "Successfully uploaded a beta release - see it at https://fabric.io/_/beta"
    # )
  end
end

No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.150.3
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.2.0

executable-hooks
1.6.0

bundler-unload
1.0.2

rubygems-bundler
1.4.5

bundler
2.1.4

slack-notifier
2.3.2

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

terminal-table
1.8.0

plist
3.5.0

CFPropertyList
3.0.2

public_suffix
4.0.5

addressable
2.7.0

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.8.0

tty-cursor
0.7.1

tty-spinner
0.9.3

babosa
1.0.3

colored
1.2

highline
1.7.10

commander-fastlane
4.4.6

excon
0.75.0

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20190701

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.1.7

gh_inspector
1.1.3

mini_magick
4.10.1

multi_xml
0.6.0

rubyzip
2.3.0

security
0.1.3

xcpretty-travis-formatter
1.0.0

dotenv
2.7.5

naturally
2.2.0

simctl
1.6.8

jwt
2.1.0

uber
0.1.0

declarative
0.0.20

declarative-option
0.1.0

representable
3.0.4

retriable
3.1.2

mini_mime
1.0.2

multi_json
1.14.1

signet
0.14.0

memoist
0.16.2

os
1.1.0

googleauth
0.13.0

httpclient
2.8.3

google-api-client
0.38.0

google-cloud-env
1.3.2

google-cloud-errors
1.0.1

google-cloud-core
1.5.0

rake
13.0.1

digest-crc
0.6.1

google-cloud-storage
1.26.2

emoji_regex
3.0.0

jmespath
1.4.0

aws-partitions
1.338.0

aws-eventstream
1.1.0

aws-sigv4
1.2.1

aws-sdk-core
3.103.0

aws-sdk-kms
1.36.0

aws-sdk-s3
1.73.0

nanaimo
0.2.6

colored2
3.1.2

claide
1.0.3

atomos
0.1.3

xcodeproj
1.17.0

unicode-display_width
1.7.0

faraday
1.0.1

faraday_middleware
1.0.0

json
2.3.1

openssl
2.1.2

date
1.0.0

fileutils
1.0.2

ipaddr
1.2.0

mini_portile2
2.4.0

nokogiri
1.10.9

psych
3.1.0

http-2
0.9.0

ox
2.13.2

oj
3.10.6

webrick
1.4.2

generated on: 2020-07-06

```

🚫 fastlane environment 🚫
Stack

Key
Value

OS
10.15.5

Ruby
2.5.3

Bundler?
false

Git
git version 2.24.3 (Apple Git-128)

Installation Source
~/.rvm/gems/ruby-2.5.3/bin/fastlane

Host
Mac OS X 10.15.5 (19F101)

Ruby Lib Dir
~/.rvm/rubies/ruby-2.5.3/lib

OpenSSL Version
OpenSSL 1.1.1c  28 May 2019

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
11.5

System Locale

Error

No Locale with UTF8 found 🚫

fastlane files:
`./fastlane/Fastfile`
fastlane_version "2.10.0"

default_platform :ios

platform :ios do

  lane :foobar do
    update_code_signing_settings(
      use_automatic_signing: false,
      path: "EasyEntry/EasyEntry.xcodeproj"
    )
  end
end

No Appfile found
fastlane gems

Gem
Version
Update-Status

fastlane
2.150.3
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.2.0

executable-hooks
1.6.0

bundler-unload
1.0.2

rubygems-bundler
1.4.5

bundler
2.1.4

slack-notifier
2.3.2

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

terminal-table
1.8.0

plist
3.5.0

CFPropertyList
3.0.2

public_suffix
4.0.5

addressable
2.7.0

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.8.0

tty-cursor
0.7.1

tty-spinner
0.9.3

babosa
1.0.3

colored
1.2

highline
1.7.10

commander-fastlane
4.4.6

excon
0.75.0

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20190701

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.1.7

gh_inspector
1.1.3

mini_magick
4.10.1

multi_xml
0.6.0

rubyzip
2.3.0

security
0.1.3

xcpretty-travis-formatter
1.0.0

dotenv
2.7.5

naturally
2.2.0

simctl
1.6.8

jwt
2.1.0

uber
0.1.0

declarative
0.0.20

declarative-option
0.1.0

representable
3.0.4

retriable
3.1.2

mini_mime
1.0.2

multi_json
1.14.1

signet
0.14.0

memoist
0.16.2

os
1.1.0

googleauth
0.13.0

httpclient
2.8.3

google-api-client
0.38.0

google-cloud-env
1.3.2

google-cloud-errors
1.0.1

google-cloud-core
1.5.0

rake
13.0.1

digest-crc
0.6.1

google-cloud-storage
1.26.2

emoji_regex
3.0.0

jmespath
1.4.0

aws-partitions
1.338.0

aws-eventstream
1.1.0

aws-sigv4
1.2.1

aws-sdk-core
3.103.0

aws-sdk-kms
1.36.0

aws-sdk-s3
1.73.0

nanaimo
0.2.6

colored2
3.1.2

claide
1.0.3

atomos
0.1.3

xcodeproj
1.17.0

unicode-display_width
1.7.0

faraday
1.0.1

faraday_middleware
1.0.0

json
2.3.1

openssl
2.1.2

date
1.0.0

fileutils
1.0.2

ipaddr
1.2.0

mini_portile2
2.4.0

nokogiri
1.10.9

psych
3.1.0

http-2
0.9.0

ox
2.13.2

oj
3.10.6

webrick
1.4.2

generated on: 2020-07-06

It seems like you have not included the output of fastlane env
To make it easier for us help you resolve this issue, please update the issue to include the output of fastlane env 👍

Impressive！Thanks for the post


Maven artifact referenced only in dependency constraints raises IllegalStateException: Corrupt serialized resolution result

Initially found using Gradle 8.0 in the AndroidX repository, but we're seeing similar reports from external users on earlier Gradle versions.
Expected Behavior
When an artifact is referenced only from Gradle metadata dependency constraints but never as a regular dependency, e.g. a task has a dependency tree where the artifact only appears with (c), Gradle correctly resolves dependencies.
For example, androidx.lifecycle:lifecycle-common-java8:2.6.0 (c) shows up in:
./gradlew :compose:material3:material3:dependencies --no-configuration-cache --stacktrace

debugRuntimeClasspath - Runtime classpath of compilation 'debug' (target  (androidJvm)).

+--- project :compose:foundation:foundation
|    +--- androidx.compose.animation:animation:1.2.1
|    |    +--- androidx.compose.animation:animation-core:1.2.1 -> 1.3.1
|    |    |    +--- androidx.compose.ui:ui:1.2.0 -> project :compose:ui:ui
|    |    |    |    +--- project :compose:ui:ui-text
|    |    |    |    |    +--- androidx.core:core:1.7.0 -> 1.9.0
|    |    |    |    |    |    +--- androidx.lifecycle:lifecycle-runtime:2.3.1 -> 2.6.0
|    |    |    |    |    |    |    +--- androidx.lifecycle:lifecycle-common:2.6.0
|    |    |    |    |    |    |    |    +--- androidx.lifecycle:lifecycle-common-java8:2.6.0 (c)

Current Behavior
Gradle fails to resolve dependencies unless the constraint-only artifact is added as a regular dependency.
./gradlew :compose:material3:material3:dependencies --no-configuration-cache --stacktrace

Caused by: org.gradle.api.artifacts.ResolveException: Could not resolve all dependencies for configuration ':compose:material3:material3:debugRuntimeClasspath'.
        at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver.wrapException(ErrorHandlingConfigurationResolver.java:107)
        at org.gradle.api.internal.artifacts.ivyservice.ErrorHandlingConfigurationResolver$ErrorHandlingResolutionResult.getAllComponents(ErrorHandlingConfigurationResolver.java:248)
        at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration$ConfigurationResolvableDependencies$LenientResolutionResult.getAllComponents(DefaultConfiguration.java:2050)
        ...
Caused by: java.lang.RuntimeException: Problems reading data from Binary store in /usr/local/google/home/alanv/.gradle/.tmp/gradle7073241088892806121.bin offset 22066 exists? true
        at org.gradle.api.internal.artifacts.ivyservice.resolveengine.store.DefaultBinaryStore$SimpleBinaryData.read(DefaultBinaryStore.java:136)
        at org.gradle.api.internal.artifacts.ivyservice.resolveengine.result.StreamingResolutionResultBuilder$RootFactory.lambda$create$0(StreamingResolutionResultBuilder.java:190)
        at org.gradle.api.internal.artifacts.ivyservice.resolveengine.store.CachedStoreFactory$SimpleStore.load(CachedStoreFactory.java:101)
        ...
Caused by: java.lang.IllegalStateException: Corrupt serialized resolution result. Cannot find selected module (147) for constraint runtimeElements -> androidx.lifecycle:lifecycle-common-java8:2.6.0
        at org.gradle.api.internal.artifacts.ivyservice.resolveengine.result.DefaultResolutionResultBuilder.visitOutgoingEdges(DefaultResolutionResultBuilder.java:83)
        at org.gradle.api.internal.artifacts.ivyservice.resolveengine.result.StreamingResolutionResultBuilder$RootFactory.deserialize(StreamingResolutionResultBuilder.java:240)
        at org.gradle.api.internal.artifacts.ivyservice.resolveengine.store.DefaultBinaryStore$SimpleBinaryData.read(DefaultBinaryStore.java:134)
        ... 242 more

Context
Android Jetpack has started publishing dependency constraints to ensure that related artifacts are correctly versioned; however, this yields confusing errors when constrained artifacts are not present as regular dependencies.
Original bug report on Google Issue Tracker: https://issuetracker.google.com/issues/270635903
Steps to Reproduce
Generally, create artifact A that references artifact B as a constraint. Use artifact A as a dependency without using artifact B.
Specifically, this can be reproduced in patch set #7 of https://android-review.git.corp.google.com/c/platform/frameworks/support/+/2449500/7 within the AndroidX repository.
I can work on a minimal repro ZIP if that would be more helpful.
Your Environment
Gradle version: 8.0
Build scan URL: https://ge.androidx.dev/s/cob7tgpyntvik

Note that we're also seeing Corrupt serialized resolution result. for constraints that reference artifacts that simply have not been published, e.g. cannot be resolved at all even if they were regular dependencies.
The linked issue above, however, is failing with:
Caused by: java.lang.IllegalStateException: Corrupt serialized resolution result. Cannot find selected module (222) for releaseVariantReleaseRuntimePublication -> androidx.lifecycle:lifecycle-runtime-ktx:2.6.0-beta01
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.result.DefaultResolutionResultBuilder.visitOutgoingEdges(DefaultResolutionResultBuilder.java:83)
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.result.StreamingResolutionResultBuilder$RootFactory.deserialize(StreamingResolutionResultBuilder.java:240)
	at org.gradle.api.internal.artifacts.ivyservice.resolveengine.store.DefaultBinaryStore$SimpleBinaryData.read(DefaultBinaryStore.java:130)
	... 165 more

Where lifecycle-runtime-ktx:2.6.0-beta01 is a published artifact that's available on Google Maven but is only referenced as a constraint and not a regular dependency.

Thanks!
AndroidX is also working on removing duplicate constraints ( https://issuetracker.google.com/274465172 ) and looking into moving each group of constraints into a platform ( https://issuetracker.google.com/274797108 )


[WIP] Pass calendar parameters directly to miqBuildCalendar, instead of using globals

This is based on #3207.
This replaces most of miqBuildCalendar calls with the js_build_calendar helper, fixed that to pass the parameters directlly to miqBuildCalendar.
There are a few places to check, a few TODOs and still needs to remove all ManageIQ.calendar.* mentions. And rebase when 3207 is in.
TODO merge this, somehow .. https://github.com/himdel/manageiq/pull/2

@himdel this PR seems to be untouched for quite long time, do you still plan to work on it?
Isn't it better to close this one and do the changes again instead of rebasing? We have a lot of dead PRs, that probably nobody is going to work on.

Agreed, pushing back to my TODO list and closing the pr :)


fix: add check to skip controlplaneinfo in case of cloud providers

Overview

This PR fix the error messages provided by kubescape when the host-scanner run in a kubernetes managed by cloud providers.
In a managed kubernetes you don't have access to the control plan, so the contrlPlaneInfo endpoint was generating these errors.
How to Test
Tests have to be done using a managed kubernetes. I used an instance of EKS on my side.
Examples/Screenshots

This was an example of the generated errors.
Related issues/PRs:
No issue were provided for this PR.
Checklist before requesting a review

[x] My code follows the style guidelines of this project
[x] I have commented on my code, particularly in hard-to-understand areas
[x] I have performed a self-review of my code
[x] If it is a core feature, I have added thorough tests.
[x] New and existing unit tests pass locally with my changes

Cool, looks good.
I think it's a good idea to check this also on a cluster that's not managed by a cloud provider (minikube for e.g) to make sure we won't skip the controlPlaneInfo endpoint in those cases.


Run T1K with both pair-end and singletons fastq

Hello,
I have pair-end and singletons fastq files. Is it proper to use -1/2 and -u flags at the same time or maybe I should concatenate files?
Thank you,
Grigory

No, it doesn't support that. I think the way to handle that is to create another fastq files for the single-end file, where each sequence is the reverse complement of the original single-end file. This will create a valid paired-end files.


Edit SSTO Project 1.3.x to be installable with 1.9.x

I've tested SSTO Project to work with both KSP 1.8.1 and 1.9.1. No updates were pushed, but SpaceDock description were updated with:

Works with KSP 1.9.x too

This won't work for 1.3.3 as currently set up, the change will be reverted by the bot using the setting from SpaceDock within 30 minutes.
You can add a version file to the download to specify compatibility more granularly. I'll submit a PR to your repo showing how to do this. Then we'll need to edit the netkan to say to use the version file.

OK, the first step is to merge Monniasza/SSTO-Project#1.
Then update the release download to include the version file.
Then we can update the netkan to make the bot use it.

OK, the first step is to merge Monniasza/SSTO-Project#1.
Then update the release download to include the version file.
Then we can update the netkan to make the bot use it.
Updated latest release to use the version file.
SpaceDock version is called "<IP_ADDRESS>"

OK, the new version indexed as expected.
https://github.com/KSP-CKAN/CKAN-meta/commit/cce2b1b6943b7c835bc7eaab80daf253823aab85
Merging this to update the older versions...


Restored a testcase that was deleted by accident

Restored a testcase that was deleted by accident in compare-duration branch

Interesting     ✗ testAgo, XCTAssertEqualWithAccuracy failed: ("1431707535.45406") is not equal to ("1431707534.88636") +/- ("0.01") -
It runs fine repeatedly on my system. Maybe due to the somewhat slow performance of travis it takes a while between loading the DurationTestCase class and executing the testAgo() testLater(). And the above case it even ~500ms.
I suggest to inline the let duration = Duration(value: 1, unit: .CalendarUnitDay) statement in each test case.

Circle CI can be ignored. I forgot to disable it. But, the build error of travis cannot be ignored. It seems that a test with XCTAssertEqualWithAccuracy is failed. As you said, the result of this assertion depends on the system. So, this should not be used as possible. But, if you have no way other than this, now property should be defined and used for all date calculations.

I updated Duration to allow both duration.later and also duration.later(someDate)
Basically the property duration.later is the same is calling the function duration.later(NSDate()). This addition makes the later and the ago feature even more useful in my opinion. And it should fix the test case :)

The addition is useful! But, duration.later(from: date) is more intuitive and Swift-like.

Agree, new commit incoming :)

I agree. I've included the proposed parameter.

@mattijsf  Thank you for the good work!

Released your works at 0.3.2.


NoSuchBeanDefinitionException No qualifying bean of type 'org.springframework.core.env.ConfigurableEnvironment'

application.yml
server:   port: 8080 spring:   application:     name: gateway-service   cloud:     gateway:       discovery:         locator:           enabled: true #是否与服务发现组件进行结合，通过 serviceId(必须设置成大写) 转发到具体的服务实例。默认为false，设为true便开启通过服务中心的自动根据 serviceId 创建路由的功能。
throw NoSuchBeanDefinitionException like No qualifying bean of type 'org.springframework.core.env.ConfigurableEnvironment'

Please learn how to format code on GitHub.
Can you provide a complete, minimal, verifiable sample that reproduces the problem? It should be available as a GitHub (or similar) project or attached to this issue as a zip file.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


[Bug]: MacOS Monterey: when update triggered the application hangs, needs to be manually killed and restarted

Before submitting your bug report, please confirm you have completed the following steps

[X] Searched the issue is not already listed in the Issue List (I've searched it)
[X] Searched in the Quicksilver Users' Group for questions relating to tech support.
[X] Downloaded the latest version of Quicksilver for your system and confirmed the issue still persists.

Bug description
Running Mac OS Monterey - latest patches installed.  M1 Mac Mini.
When I get prompted that there is an update, I respond with positive to the update.
Download goes fine (as far as I can tell).
Then the application hangs with the task viewer running.  The beach-ball of doom arrives shortly.  Waiting does not help: I have to kill it manually via Mac OS task manager and then restart.
This is the 3rd update that has hung in this way.
Steps to reproduce

Get notified of new update
Tell it to proceed
QuickSilver will then hang

100% reproducible in the last 3 updates.
Expected behavior
I expect the application to exit cleanly and restart itself.
MacOS Version
macOS 12
Quicksilver Version
2.0.0 (4027)
Relevant Plugins
I have no plugins installed.
Crash Logs or Spindump
Hangs so no crash.  Guess I'll try to get something next time (sorry).
Screenshots
No response
Additional info
No response

This is a known issue with version 2.0 of Quicksilver, and requires you to manually update to the latest version (v2.4.0), by download from https://qsapp.com
Once you've updated to the latest version, you will then be able to update automatically


lnurl payments fail when users default wallet is USD

I had a go at fixing this but for some reason it was not working in BBW (not only did it not fix the USD wallet issue but it also made payments fail for BTC wallets too so I rolled it back).

The issue is not fixed yet, but a temporary solution has been pushed. lnurl payments will temporarily default to BTC wallet regardless of user default wallet.


Unix sockets can't be reused in PUB

When on the pub I kill the process and retry it raises
listen unix /tmp/xxx.fifo: bind: address already in use

There is no reason why rebinding to ipc shoukld fail.

This is an underlying attribute of UNIX domain sockets, and their single biggest limitation.  When a process opens a socket via bind, it creates a name in the filesystem.  If that name already is present, then the bind fails.  This is more or less analogous to the fact that only a single file descriptor can be bound to a TCP port.
One possible solution is to remove the name via unlink(), but that is only safe to do if you know that nobody else is using it.  (Go normally removes the link automatically as part of closing the socket, but if you kill the application it doesn't get a chance to do that graceful cleanup.)
Some programs just blithely remove the link before running.  That's fine, if you know that no other instances are running.  But it would be grossly incorrect for a library to make such assumptions.  Some application specific logic is required to ensure that no conflicting use is present.   (One approach is to use a lock file, or somesuch.  If you can be sure that no other copy of your application is running, you can then remove the link.)
Btw, libnanomsg and zeromq have the same problem, I'm pretty sure.
Its really unfortunate that this situation exists with UNIX domain sockets, and I have thought hard about the problem.  There are inherent races in the existing system, and the only correct solution I can think of is to modify the kernel so that a new type of bind can be done that cleans up any stale file system nodes if no other process is using it.  I could probably make such a change for illumos, but it would not be portable to other systems, and it would take some additional work to expose that through to Go and mangos.
In the meantime, you can remove the name using "rm" or unlink(2), if you're sure its safe to do so.  Knowing that it is safe, and that no other applications will be impacted, is your responsibility though.
A better option might be to use TCP sockets, which don't suffer from this problem at all.
For now, I'm closing this issue, because there is nothing else we can do -- this is an inherent limitation of UNIX domain sockets and not specific to mangos.

Whooa. Thanks for the response! I did not know that you can't do bind() on existing file. Oh, well, I guess I should go for anonymous unix sockets.

Anonymous UNIX sockets only work with Linux -- they are a Linuxism.

Btw, libnanomsg and zeromq have the same problem, I'm pretty sure.

Yes, they do.

(of course I meant "abstract" unix sockets)

Yes, I knew what you meant.
Thinking about it, I think it would be handy for illumos to have an abstract sockets facility too.  I might write one.

Of course, then we'd need a way to express an abstract socket.  Since socket URIs are paths, and cannot contain nuls, we need a new form of URI scheme.  ipc+abstract:// ?

Go normally removes the link automatically as part of closing the socket, but if you kill the application it doesn't get a chance to do that graceful cleanup.

Is this true of other unhandled signals, or just kill?

The usual scheme for abstract sockets looks like<EMAIL_ADDRESS>

Actually my main concern here is not the error on the existing fifo file, but what happens on the receiver side. So say I restart the publisher, which must include removing the fifo. Will the receiver try to reconnect to a newly recreated fifo file?

Generally, yes, mangos/nanomsg are pretty good about retrying connection attempts.  But, imagine you had a perfectly working server and client that were already connected.  Removing the fifo wouldn't affect them.  So you could have a situation where server instance A and server instance B are both running, historical client connects to A, but a new client winds up connecting to B.  That could be very confusing, even tragic in some circumstances.  Prevention of this scenario with Unix domain sockets falls on the application, sadly.  With TCP the situation is vastly better, which is why I recommend TCP over IPC whenever you can use it.

I like the abstract URI syntax.  We could adopt that I suppose.  We don't support it at present, I think.
With respect to signals -- any signal that terminates the program abruptly will cause this behavior.  Go may catch and handle some gracefully (TERM for example) -- I've not checked that.
Signal handling with Go programs is one area I've not explored at all -- to be honest mostly I think its a terrible idea to rely overmuch on them, and understanding that your program can crash for a variety of reasons including SIGKILL, or being killed by the kernel due to out of memory, or even killed with the system as part of a hard-reboot (think power cycle), you need to handle these cases properly.  The only ways I know of to do this properly involve the use of locks, ideally those that are managed by the kernel so that when the process holding the lock goes away the kernel can reap the lock.  The discussion of this problem is a little outside of the scope of this bug. :-)


three request on init

I'm submitting a ...  (check one with "x")
[ x] bug report => check the FAQ and search github for a similar issue or PR before submitting
[ ] support request => check the FAQ and search github for a similar issue before submitting
[ ] feature request

Current behavior
when app inits it sends three request for one json file
Expected/desired behavior
it should send one
Reproduction of the problem

Please tell us about your environment:

ng2-translate version: 5.0.0

Angular version: 2.3.1

Browser: [all ]

Language: [ TypeScript ]

Hello, yes it should only send one request. Can you make a plunker with a reproduction of the problem?

unfortunately this app is for a company so i can not put it on a plunker :(

Did you load the TranslateModule in multiple ngModules and called .forRoot each time?

here is the only ng module i have :
import { BrowserModule } from '@angular/platform-browser'
import { NgModule } from '@angular/core'
import { FormsModule } from '@angular/forms'
import { HttpModule } from '@angular/http'
import { Http } from '@angular/http'

// components
import { AppComponent } from './components/root/app.component'
import { HeaderComponent } from './components/header/header.component'
import { SidebarComponent } from './components/sidebar/sidebar.component'
import { FilesComponent } from './components/files/files.component'
import { ProgressBarComponent } from './components/progressbar/progressbar.component'
import { NotificationComponent } from './components/notification/notification.component'
import { ToolbarComponent } from './components/files/toolbar/toolbar.component'

// pipes
import { FileSizePipe } from './pipes/filesize.pipe'

// services
import { LanguageService } from './services/language.service'
import { FileService } from './services/file.service'

// 3rd party modules
import { TreeModule } from 'angular2-tree-component'
import { DropdownModule } from 'ng2-dropdown'
import { TranslateModule, TranslateStaticLoader, TranslateLoader } from 'ng2-translate'
import { createTranslateLoader } from './config/language.config'

@NgModule({
  declarations: [
    AppComponent,
    FileSizePipe,
    HeaderComponent,
    SidebarComponent,
    FilesComponent,
    ProgressBarComponent,
    NotificationComponent,
    ToolbarComponent,
  ],
  imports: [
    BrowserModule,
    FormsModule,
    HttpModule,
    TreeModule,
    DropdownModule,
    TranslateModule.forRoot({
      provide: TranslateLoader,
      useFactory: (createTranslateLoader),
      deps: [Http]
    })
  ],
  providers: [LanguageService, FileService],
  bootstrap: [AppComponent]
})
export class AppModule { }

language.config.ts
`import { TranslateModule, TranslateStaticLoader, TranslateLoader } from 'ng2-translate'
import { Http } from '@angular/http'

export function createTranslateLoader(http: Http) {
    return new TranslateStaticLoader(http, './assets/i18n', '.json')
}

and root component (app.component.ts)
import { Component } from '@angular/core'
import { TranslateService } from 'ng2-translate'
import { LanguageService } from '../../services/language.service'

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})
export class AppComponent {
  constructor(private translate: TranslateService, private lang: LanguageService) {
    translate.addLangs(['en', 'fa'])
    translate.setDefaultLang('fa')
    translate.use('fa')
    this.lang.getCurrentLang().subscribe(
      value => {
        this.translate.use(value)
      }
    )
  }
}

language.service.ts
import { Injectable } from '@angular/core'
import { TranslateService } from 'ng2-translate'
import { BehaviorSubject } from 'rxjs/BehaviorSubject'

@Injectable()
export class LanguageService {

  private language: BehaviorSubject<string> = new BehaviorSubject<string>('fa')

  getCurrentLang(): BehaviorSubject<string> {
    return this.language
  }

  changeLang(newLang: string): void {
    this.language.next(newLang)
  }

}

@ocombe
i think because of the fact that we are calling the setDefaultLang method and then calling the use method in the constructor of app.component.ts
translate.setDefaultLang('en');

let browserLang: string = translate.getBrowserLang();
translate.use(browserLang.match(/en|fr/) ? browserLang : 'en');

when you comment the setDefaultLang method out, it is loading just one .json file.
What do you think about that ?

Ok so I used to call .forRoot in my shared module, and export TranslateModule from there, and configure the module in the constructor of the shared module. But apparently this was executed for each lazy loaded module that imported this shared module...
I moved the forRoot to my root module and just imported TranslateModule in my shared module (without calling forRoot), and now it only loads one json file.

Exactly, that's why it is called forRoot, because you only have to call it in the root of your project ;).

and that's why it's in the docs!

But then again, who reads that :p?

@ocombe would  you please make a plunker ?

Yes, that's a different problem though (but one I need to fix).

Is the fix for this to only allow one request to me made a time? I'm happy to work on a PR for this if that is an approach you want to take.
Or is the user just supposed to know not to call use and setDefaultLang for the same lang at the same time and this can be closed?

Hi @ocombe, @SamVerschueren; I also noticed the same issue @deeg described. When use method is called before setDefaultLang method finishes fetching translations from JSON, then ngx-translate doubles the translation retrieval requests.
I know it's maybe not among the priorities while there're tons of other job awaiting to be get done. Just want to let you know, I might come up with something useful when I find some time for it.

Sorry I got busy at the end of last week. I'm hoping to get a fix in for this tomorrow or Monday.

Also having this issue. json is called twice when using setDefaultLang and use in AppComponent constructor.

@dgroh, , could you solve it? as?

We are still having this issue in our app, even though we are running the latest (stable) Angular and ngx-translate version. If I comment out "setDefaultLang()" everything is fine, though.

OK thanks!

Not sure if this is a different issue, but I'm getting strange behavior from TranslateService.use.
When I change languages (for example, switching from 'en' to 'es'), two requests are made:

First, a request for the new language (es.json)
THEN a second request for the en.json, the default language.

I've been stepping through the code trying to figure out where this second request comes from, but I'm coming up empty handed.
Also, for the record, I do call both setDefaultLanguage and use, but I get the same behavior when I remove the setDefaultLanguage call.
Does anyone have any insight into this?

Still having the issue.
AppModule imports TranslateModule.forRoot() with a TranslateLoader.
AppComponent calls .use() which triggers a 2nd exact same HTTP call.
Any way to prevent the loader from being automatically called when the TranslateModule is imported ?

Still having issue as well. Can we re-open this?


RAW dump not written back correctly

Now I am not entirely sure if this is an issue in gw host tools but am reporting it as it may be.
;:
I found a raw flux dump of the game 4th Unit 2:
4th Unit 2, The (1988)(Datawest)(JP)(Disk 1 of 3)(A) (raw flux).zip
The disks were dumped (with KryoFlux I assume) as 80 track media (82 tracks total dump).  FM77 media are mostly 40 tracks though, as is this game. If I write the flux image as is the game won't boot on real hardware. If I convert the raw image to scp (keeping the 82 tracks the result is the same when written back to disk, not booting (which makes sense as no data should be lost):
gw erase (erasing all 82 tracks on the media, just to be sure)
gw write 4thunit2_1_00_0.raw (does not boot)
gw convert 4thunit2_1_00_0.raw 4thunit2_1_00_0.scp
gw erase
gw write 4thunit2_1_00_0.scp (does not boot)
I then tried to remove the odd tracks by running:
gw convert 4thunit2_1_00_0.scp 4thunit2_1_40.scp --tracks c=0-39:step=2
If I then issue
gw erase
gw write 4thunit2_1_40.scp --tracks step=2 (still won't boot)
I then converted this 40 track scp to d88 using HxC Floppy Emulator tools:
4thunit2_1.d88.zip
If I write this to disk it does boot (miraculously imho)...

There's nothing that exciting about this image it's just that it's a raw dump of a user-written disk and perhaps it's not quite clean enough to reliably write back raw.
What perhaps GW needs is a "generic ibm" mode where it will scan and recover sectors. Or even a raw mode where it will scan for and regenerate bitcells at a specified bitrate (ie. basically clean up a raw track through Greaseweazle's PLL clock recovery). These are two things that HxC software does make available to users.

It's very simple to add a "raw" codec so I'll do that and we can see if it helps here.

I have added the codec to branch issue-316. Could you give it a go? For example:
gw convert 4thunit2_1_00_0.scp 4thunit2_1_40_clean.scp --format raw.250 --tracks c=0-39

And see if that boots!

This does seem to have a positive effect but not every write turns out in a positive boot (media age is an issue possibly). Will do some more tests with different disks to make sure.

One issue is that there is of course no verification. So on marginal media there will be no retries on the write. It's another option now anyway. Better still will be to scrape the sectors and properly regenerate the track, with verification on write.

Better still will be to scrape the sectors and properly regenerate the track, with verification on write.
Would it make sense to add D88 image file output support to make this possible?

Yes part of this would be adding D88 output support. It would also naturally be added to the existing IMD output support. It's a fairly different to how Greaseweazle tools currently work. Needs a bit of thought.


Fedora 35 reached end-of-life on 2022-12-13

As there seems to not be anyone in charge to create these currently, I will create some since I'm tracking them anyway.
Is it planned to be dropped for .NET Core 3.1, .NET 6.0 and .NET 7.0?
See https://fedorapeople.org/groups/schedule/f-37/f-37-key-tasks.html for end-of-life information.
Please add os-support label.
/CC @rbhanda @richlander
/awareness @mthalman @adegeo @MichaelSimons

Speaking as a Fedora packager, .NET packages that were part of Fedora 35 itself (eg, .NET 6.0) will stop getting updates, but will still be available, just like all other package in Fedora - like gcc, python and java-17-openjdk.
I am not sure what the story is for external/Microsoft-built packages for .NET.

This is mostly a reminder to update the supported OS documentation and other docs like https://learn.microsoft.com/en-us/dotnet/core/install/linux-fedora since the lifecycle policy (and also that page) state:
When a Fedora version falls out of support, .NET is no longer supported with that version.
So basically, yes, the packages remain, everything that ran should also ran in the future as there are no changes going to happen, but Microsoft will not offer any support anymore on that platform. In the past, this was reflected in the section at https://github.com/dotnet/core/blob/main/release-notes/6.0/supported-os.md#out-of-support-os-versions but was not maintained recently as other tickets of that label show.

It's also interesting to hear, that .NET 7 was not build in Fedora yet, since https://github.com/dotnet/core/blob/main/release-notes/7.0/supported-os.md#linux is stating that it supports Fedora 33+. Is this due to some backwards (or libc) compatibility or is the documentation just incorrect?

It's mostly because different folks view it differently.

From a Fedora point of view, .NET 7 is currently under development and isn't available via the standard Fedora package repositories (in contrast to say, .NET 6, which is available in Fedora repos)
From a Microsoft point of view (using the downloads from dot.net) .NET 7 is supported, and available to download and use on Fedora 37

When .NET 7 is available for Fedora, the difference will disappear and the documentation will be correct either way.

@omajid should we pull 35 from the doc?

@adegeo I am not sure.
How do you folks normally handle EOLs? How would you handle Windows 7 going EOL or Debian 10 going EOL?
The table at https://github.com/dotnet/core/blob/main/release-notes/7.0/supported-os.md#linux reflect's how Microsoft supports .NET 7. Can't hurt to leave Fedora 35 there.
For https://learn.microsoft.com/en-us/dotnet/core/install/linux-fedora, I think we should the EOL version, but I prefer to stick with your existing policies on distro versions, whatever they are.

@omajid it depends. I think when there are a lot of distro releases, having all the old versions in the docs make it too large. This wiki article, though, isn't documentation, so they can follow different rules and styles. In the actual docs we were listing unsupported versions, but recently removed them. However, if you feel there is a large user base still hitting 35 and .NET, we can keep it in the documentation and just add a note.

I made a change at https://github.com/dotnet/docs/pull/33551 to address this too, let me know if that looks sensible.

Fixed by #8291


Potential issues with an Everdrive Cart

We have had a few reports of issues when using an Everdrive Cartridge.
This is being looked at currently to see if a root cause can be found.
It could be from previous Gerbers having small traces for the PWR/GND wire.
It also might be because the ribbon cable is long and there is more distance than the stock connector.
I am opening this issue in case others want to share their experience on here and to keep updated on our progress.
Thanks,
-Merlin Shaw

Here has been my experience - I purchased three Slotmasters from LaserBear.  I installed the first one and my EverDrive N8 with latest firmware appeared to work until a game was played.  It would then lock up or have graphical glitches within a minute or two.  I installed the second one the same night and the Everdrive seemed to work correctly.
Then next day I installed the third and that system would not recognize the Everdrive cart at all, and when going back to the other two systems they no longer would boot either.  I saw on the product page that the 8 pin header was needed for proper operation, so I ordered the headers and interconnects.  When they arrived I added them and tried again.
The first system still boots the Everdrive, but gives alternating error codes - SD card initialization failed or SD card not formatted.  I will add that this Everdrive continues to work perfectly in my top loader.  The second and third systems will now do the blinking light and reset.
All three systems work with any other cart (beyond Dragon Warrior) that I put in them.  The success with the Everdrive has been failure far more often then working.

I think the issue you are experiencing is due to an earlier Gerber file that had thinner traces.  This results in not enough power getting into the Everdrive Cartridge.
If you are able, bodge the power pins from the 72 pin to the 64 pin connector so that it will provide more current.
From looking at the back of the boards, it will be the 2 pins on the left and the bottom pin on the far right.
Let us know if that solves this issue.
Here is a picture of the Power Traces, they are twice as thick.  check your boards to see what size they are compared to the other traces.

From a cursory glance they appear to be the same size.  I have v1.8 of the boards.
I'm heading out for an hour or so right now, but I can definitely get this done on at least one of them tonight. Reinforcing the connections on both sets of PCBs is what is best, correct?

Yes, use a wire between the thicker trace points above on the 72 pin and connect to the related pad on the 64 pin.  By reinforcing with a wire, this will allow for the higher current for the Everdrive to pass through and should resolve your issue.

I've added reinforcement jumpers to all three pins on the top and bottom boards on one of sets.  Unfortunately, it didn't make a difference.  All other carts still work.  I'll do the mod to the other two tomorrow night to see if that makes a difference on them.
So far, though, no success.

I did explain one of the top pins wrong and I believe you reinforced the System CLK and not the GND Pin.  Here is a diagram showing the top board from the front.  On the left, the top pin should be reinforced to the top pin on the IDC connector.

I actually couldn't remember which side was only one pin once I was at the workbench.  Rather than go back and check, I reinforced pins 1, 36, 37, and 72.  So that means I did the correct ones anyway.

Thank you for following up with that.  I will see if I can get to the bottom of this issue.  If you can send me an email  merlin (dot) shaw at google.  I will make sure to send you a board to test.

At this point.  We feel that it's a Noise/EMI issue with the Data lines becoming corrupted.  This could be due to the longer cable but we are seeing it as well with a shorter cable.
Some Everdrives work fine with no issue so it's very hit or miss.  We are working on a solution that will improve compatiblity with Everdrive Carts.  Our goal is to have the same compatibility as an Everdrive with the original connector.
I will update this thread when we have more news on this.

Thank you everyone for the support!!  We have our new solution here and I will be sending it to everyone that was willing to test for us.  If you have not already, please get me an email with your address so I can send you one -
Here is the IDC Cable Replacement
https://github.com/ShawMerlin/NES-Slotmaster/tree/main/NES_Ampersand

@.*** @.***>  please 😊
Lähettäjä: Merlin Shaw @.>
Lähetetty: lauantai 15. kesäkuuta 2024 19.20
Vastaanottaja: ShawMerlin/NES-Slotmaster @.>
Kopio: Subscribed @.***>
Aihe: Re: [ShawMerlin/NES-Slotmaster] Potential issues with an Everdrive Cart (Issue #5)
Thank you everyone for the support!! We have our new solution here and I will be sending it to everyone that was willing to test for us. If you have not already, please get me an email with your address so I can send you one -
Here is the IDC Cable Replacement
https://github.com/ShawMerlin/NES-Slotmaster/tree/main/NES_Ampersand
—
Reply to this email directly, view it on GitHub https://github.com/ShawMerlin/NES-Slotmaster/issues/5#issuecomment-2170122847 , or unsubscribe https://github.com/notifications/unsubscribe-auth/BIJQ3VCBDHHF7RBJFPK52CLZHRST7AVCNFSM6AAAAABHU6RHD2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNZQGEZDEOBUG4 .
You are receiving this because you are subscribed to this thread.  https://github.com/notifications/beacon/BIJQ3VCNQZ32WCOHCYWRO6DZHRST7A5CNFSM6AAAAABHU6RHD2WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTUBLFZF6.gif Message ID: @.*** @.***> >

It masks your email address, you will have to email me.  I'm sure if you
look hard enough, you can find my email ;)
On Sat, Jun 15, 2024 at 12:21 PM Tzibu @.***> wrote:

@.*** @.***> please 😊
Lähettäjä: Merlin Shaw @.>
Lähetetty: lauantai 15. kesäkuuta 2024 19.20
Vastaanottaja: ShawMerlin/NES-Slotmaster @.>
Kopio: Subscribed @.***>
Aihe: Re: [ShawMerlin/NES-Slotmaster] Potential issues with an Everdrive
Cart (Issue #5)
Thank you everyone for the support!! We have our new solution here and I
will be sending it to everyone that was willing to test for us. If you have
not already, please get me an email with your address so I can send you one
Here is the IDC Cable Replacement
https://github.com/ShawMerlin/NES-Slotmaster/tree/main/NES_Ampersand
—
Reply to this email directly, view it on GitHub <
https://github.com/ShawMerlin/NES-Slotmaster/issues/5#issuecomment-2170122847>
, or unsubscribe <
https://github.com/notifications/unsubscribe-auth/BIJQ3VCBDHHF7RBJFPK52CLZHRST7AVCNFSM6AAAAABHU6RHD2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNZQGEZDEOBUG4>
.
You are receiving this because you are subscribed to this thread. <
https://github.com/notifications/beacon/BIJQ3VCNQZ32WCOHCYWRO6DZHRST7A5CNFSM6AAAAABHU6RHD2WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTUBLFZF6.gif>
Message ID: @.*** @.***> >
—
Reply to this email directly, view it on GitHub
https://github.com/ShawMerlin/NES-Slotmaster/issues/5#issuecomment-2170469328,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQZJHHRWGMS2PKERREDG4P3ZHSAY7AVCNFSM6AAAAABHU6RHD2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNZQGQ3DSMZSHA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Add osUnderTest Flag

Add osUnderTest flag for CIT. This flag will allow determining which tests to run depending on the OS. This will be used during test setup to programmatically run OS specific tests.
Also removed unused SingleVMTest function.

assign @bkatyl

/assign @bkatyl

Bumping this in case it got missed :)

/unhold


[Translation][spanish] - pointers

@pjcalvo I think this is ready for review 😊 Feel free to phrase it in the preferred style for the project

Beautiful, feel free to merge.

I do not have permissions 😅

Merged @mdelapenya Muchas gracias. Looking forward to review more work from you. ;)


chore: add codeowners file to project

Add CODEOWNERS file with devex team as the assignee on all PRs so we no longer need to manually add team members for review.

@jchen293 yeah. The PRs were automated and apparently we weren't gitignoring those files and should have been. This is now corrected.


home page's download apple silicon actually is arm64 dmg

Describe the bug
home page's download apple silicon actually is arm64 dmg and is not available in m3.

To Reproduce

go to https://orbstack.dev/download
click download apple silicon
install the dmg
open OrbStack and error with Wrong CPU type

Expected behavior
download apple silicon package
Diagnostic report (REQUIRED)
OrbStack info:
Version: 1.5.0
Commit: afc6a0a9a22761c33329835c75a3b42a4ceb29b8 (v1.5.0)
System info:
macOS: 14.1 (23B2073)
CPU: amd64, 11 cores
CPU model: Apple M3 Pro
Model: Mac15,6
Memory: 18 GiB
Screenshots and additional context (optional)

As the orbstack debug reported: M3's cpu is CPU: amd64, 11 cores;CPU model: Apple M3 Pro;
I have tried both one and all of them doesn't work.

M1, M2 and M3 CPUs are arm64. If you have brew installed, try installing it with that:

brew install orbstack

Have tried this method  also. Then it report the same error.

It sounds like you have multiple copies of OrbStack on your system, and that your Homebrew installation is somehow x86 instead of arm64.
Fully remove all copies of OrbStack from your system, whether they were downloaded manually or installed with Homebrew (brew uninstall orbstack). Also quit it from the menu bar to make sure no running copies are left.
Download the Apple Silicon build from the website and open it directly from the mounted DMG. Once that works, you can move it to /Applications or your preferred location.


Inconsistent nbHits with different offset

Describe the bug
# offset=0
curl -s -X POST 'http://localhost:7700/indexes/plans/search' -H 'Content-Type: application/json' \
--data-binary '{ "q": "oltp-fun", "offset":0, "filter": [["deletedAt=0"]]}' | jq | rg nbHits
  "nbHits": 51,

# offset=40
curl -s -X POST 'http://localhost:7700/indexes/plans/search' -H 'Content-Type: application/json' \
--data-binary '{ "q": "oltp-fun", "offset":40, "filter": [["deletedAt=0"]]}' | jq | rg nbHits
  "nbHits": 125, # <--- nbHits should be 51

To Reproduce
I don't known how to reproduce. Only some queries will have this problem and others work fine.
Expected behavior
nbHits should always be 51.
MeiliSearch version:
v0.23.1

Hey @Thearas,
MeiliSearch is a lazy search engine, it means that it will try its best to compute the least amount of things to answer user queries as fast as possible. And this is why we use a bucket sort algorithm, a kind of tie-breaking algorithm. This algorithm tries to fetch the minimum amount of documents required to answer the 20 requested documents one for the first ranking rule and gives the documents that are considered equal to the second ranking rule and so on...
For the first query you made there are 51 documents that are fetched by the first ranking rule and this is the value that the engine returns as the nbHist, it will not try to fetch more as this would take too much time to fetch more. The second query shows that you offset forced the engine to fetch 125 documents from the first ranking rule.
We also return a exhaustiveNbHits in the response that indicates if the nbHist is perfect or not. Spoiler alert: it is never exhaustive at the moment. Computing how many documents exhaustively match a query would force the engine to try increasing the number of typos of all of the query words, force it to remove words from the end of the query, etc...

Hey 👋
We opened a product discussion on this topic here https://github.com/meilisearch/product/discussions/335

Thanks for your reply.


The Amplify app changed the platform without outside intervention

Environment information
"amplifyfinbobbohemikaamplifyapp26797FB3": {
      "Type": "AWS::Amplify::App",
      "Properties": {
        "BasicAuthConfig": {
          "EnableBasicAuth": false
        },
        "BuildSpec": "version: 1\nfrontend:\n  phases:\n    preBuild:\n      on-failure: CONTINUE\n      commands:\n        - npm ci\n    build:\n      on-failure: CONTINUE\n      commands:\n        - API_URL=$API_URL OLD_APP_URL=$OLD_APP_URL CONFIG_NAME=$CONFIG_NAME CLOUDFRONT_URL=$CLOUDFRONT_URL ENVIROMENT=$ENVIROMENT npm run generate\n  artifacts:\n    baseDirectory: .output/public\n    files:\n      - \"**/*\"\n  cache:\n    paths:\n      - node_modules/**/*\n",
        "CustomRules": [
          {
            "Source": "/<*>",
            "Status": "404-200",
            "Target": "/index.html"
          },
          {
            "Source": "</^[^.]+$|\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/>",
            "Status": "200",
            "Target": "/index.html"
          }
        ],
        "EnvironmentVariables": [
          {
            "Name": "CONFIG_NAME",
            "Value": "bsf"
          }
        ],
        "IAMServiceRole": {
          "Fn::GetAtt": [
            "amplifyfinbobbohemikaamplifyappRole33D84F09",
            "Arn"
          ]
        },
        "Name": "FinBOB-Bohemika",
        "OauthToken": {
          "Fn::Join": [
            "",
            [
              "{{resolve:secretsmanager:",
              {
                "Ref": "SsmParameterValuefinbobsecretgithuboauthC96584B6F00A464EAD1953AFF4B05118Parameter"
              },
              ":SecretString:::}}"
            ]
          ]
        },
        "Platform": "WEB",
        "Repository": "https://github.com/Bohemika-eu/bsf"
      },
      "Metadata": {
        "aws:cdk:path": "finbob-bohemika/running-environments/deployment-support/amplify/finbob-bohemika/amplify-app/Resource"
      }
    }

Describe the bug
We have AWS Amplify Applicationm described by Infrastrcture as Code through AWS CDK. We created the application with platform WEB, because we are using a static site generator. How the application was created and how it is still described in the CloudFormation stack can be seen in Environment Information.
This was perfectly fine until our application switched to the WEB_COMPUTE platform on its own today. Nothing has changed in the CDK code, the application is still described in CloudFormation as above. Other users do not have permission to change the application settings, and at the same time no one could - The option to switch platforms is simply not available in the interface.
This is critical behaviour for us.
We can't simply switch our workflow to SSR to use WEB_COMPUTE. And this change is now blocking our deployments, because obviously a different output is expected. We need to transition our platform back.
I would like to add that such critical arbitrary changes are not happening for the first time in a new application backend. When updates to the functionality of the Production Branch settings has been applied, our production branch was automatically switched to the development branch. As a result, the end users got a completely bad environment that was in operation for several hours.
Reproduction steps
No steps to reproduce.

AWS CLI amplify update-app command has worked for the change. Yet it is unfortunate these background changes are happening.

Hi @JZechy 👋 , thanks for reaching out. As a first step, I'd recommend reviewing the UpdateApp API calls in CloudTrail that may have occurred for the app when this issue first surfaced. This should be a good starting point to debug how/why the app's platform changed to WEB_COMPUTE.

@Jay2113 Examined the CloudTrail for Amplify and UpdateApp call during Thursday 6th, and Friday 7th November. Where the Amplify changed its platform, and when I turned it back.
Let me start with the AWS CLI when I turned the Amplify's platform back. In the event record we can find that I send in the request parameters about the appId and  platform. Leading to a change of application's platform as expected. If someone is changing the application's platform, we will see it in the parameters.
{
    "requestParameters": {
        "appId": "***",
        "platform": "WEB"
    },
}

Now, let's take a look at Thursday 6th, where our Frontend team lead was adding a new development branch to the application. The first request that day contains these parameters about some chnage to buildspec of the application.
{
    "requestParameters": {
        "appId": "***",
        "buildSpec": "***"
    },
}

Amplify API responded with App's platform still set to WEB. That was ok. Second API call was about changing the environment variables.
{
    "requestParameters": {
        "environmentVariables": "***",
        "appId": "***"
    },
}

This second call send a response from Amplify, which was already telling the App's platform is WEB_COMPUTE. So the platform somehow changed by itself, because no UpdateApp call contains the Platform parameter in request. Also I can see via logged AccessKeyId that both calls was made by our frontend developer only from the Amplify Console, where is impossible to change the platform.
It is leading me still to same suspicion: The platform was not changed on our behalf.

@JZechy thank for you reviewing the CloudTrail event logs and for sharing that information. As next steps, can you share your Amplify app id along with the branch name and build # where you observed this issue?

@JZechy 👋 , following up to see if can you share the previously requested information: https://github.com/aws-amplify/amplify-backend/issues/2208#issuecomment-2483552040?

Following!

Hello! 👋🏼 Confirming we've found that branches pushed to Amplify with a fresh npm install have caused this issue for us (ie. platform setting randomly changes from WEB to WEB_COMPUTE -- we are running an AWS console command to manually change it back to WEB when this happens.
We are an Nuxt app with ssr: false and target: static set, but I've found if we explicitly add: nitro: { preset: 'static' } to our nuxt config, the Amplify setting remains set to WEB, otherwise, it'll automatically update to WEB_COMPUTE. This started happening for us around Dec. 9th, not sure why all of a sudden it would occur, unless there were Nitro patches that were updated on the fresh npm install.
Thoughts?


Validate repository label descriptions.

Fix #114

:tada: This PR is included in version 2.0.0 :tada:
The release is available on:

2.0.0
GitHub release

Your semantic-release bot :package::rocket:


Issuee 98: Review and update exported functions

This PR closes #98 by exporting all functions we expect a user (ourselves) to use if constructing a new model.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 97.74%. Comparing base (a8d96a0) to head (d7625e5).
Report is 3 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #106   +/-   ##
=======================================
  Coverage   97.74%   97.74%
=======================================
  Files           6        6
  Lines         133      133
=======================================
  Hits          130      130
  Misses          3        3

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

The Document issue is unrelated to this PR and I think an issue with the templating that likely shouldn't have made it to main. @SamuelBrand1 do you agree with the proposed exports here?


Add examples for map and reduce functions.

map and reduce are two powerful functions in Swift.
These examples will help people to understand map and reduce functions.

@qiyuangong, thanks for the pull request! Unfortunately, those files are automatically generated from the Swift standard library header (you can find it here), so I can't currently add comments. I'm working on a system that will let the community add additional documentation like this—I'll update you when it's available!


Add to the documentation how to publish an Android app to the google-play store

Hello,
Show in the documentation an "oficial" way to publish an Android app to the google-play store. Look at this stackoverflow question.
Thanks.

I just sent a pull request to add the docs on this - https://github.com/facebook/react-native/pull/3061

This is already merged.


Markdown show preview to side to does re-show an existing preview

Issue Type: Bug

Open markdown preview to side.
In second group, open a new editor so that the preview in a background tab
Back in the original md document, run open preview to side again

Expected
Shows the existing webview.
Actual
Does not. Preview remains in background tab
Broken by #44307
VS Code version: Code - Insiders 1.21.0-insider<PHONE_NUMBER>90cd236c5016cdc774875215d31765, 2018-02-26T06:08:49.568Z)
OS version: Darwin x64 17.4.0
Reproduces only with extensions

I still see the bug in Version 1.21.0-insider
Commit 9a04587cc6b42c332609a08bfd7e2dbeac592c21
Date 2018-03-01T06:47:39.037Z

Fixed by 02bd0a10e52e5bc6e929585a506e2e3770ed7f5c


An error has occurred during file processing

Game name: INSIDE
Engine version: 5.0.4f1
Platform: StandaloneWin64Player
File name: sharedassets68.assets
Error message: Read 44 but expected 48 for asset type Animation
Stack trace:    위치: uTinyRipper.SerializedFile.ReadAsset(AssetReader reader, AssetInfo assetInfo, Int64 offset, Int32 size)
위치: uTinyRipper.SerializedFile.ReadAsset(AssetReader reader, ObjectInfo& info)
위치: uTinyRipper.SerializedFile.ReadData(Stream stream)
위치: uTinyRipper.GameProcessorContext.ReadFile(SerializedFile file)
위치: uTinyRipper.GameProcessorContext.ReadFile(SerializedFile file)
위치: uTinyRipper.GameProcessorContext.ReadFile(SerializedFile file)
위치: uTinyRipper.GameProcessorContext.ReadSerializedFiles()
위치: uTinyRipper.GameStructureProcessor.ProcessSchemes(GameCollection fileCollection)
위치: uTinyRipper.GameStructure.Load(List1 pathes, LayoutInfo layinfo)    위치: uTinyRipper.GameStructure.Load(IEnumerable1 pathes, LayoutInfo layinfo)
위치: uTinyRipperGUI.MainWindow.LoadFiles(Object data)
sharedassets68.zip

uTinyRipper has been abandoned, but you can try my AssetRipper fork. In the event that AssetRipper encounters issues while ripping your files, feel free to post an issue on that repository.
AssetRipper is actively being developed with the intent to recover games as best as possible. I encourage you to help out if you're able and willing. Code contributions can be submitted via pull requests.
If you like the work I've done and want to see it continue, please consider sponsoring me. It really does help with development. These are some of the notable things I've implemented since taking over development:

2020+ support
APK, XAPK, and IPA reading with SharpZipLib
Dummy shaders (so everything isn't pink when you open the project)
IL2Cpp support via an integration of Cpp2IL
Better game platform support
Full script decompilation with the ILSpy decompiler
Cross-platform support
Multiple configuration options
Numerous performance improvements

Links:

Patreon


incorrect semicolon rule schema

This issue needs more information. What schema are you referring to? What is the expected behavior? Please spend a little more time to write out meaningful issue reports.

Ar sorry.
The tslint.json schema: http://json.schemastore.org/tslint
The rule semicolon takes array: http://palantir.github.io/tslint/rules/semicolon/
Currently it is expecting boolean.
It that schemastore maintained by tslint?

Nope, we haven't been maintaining schemastore. Feel free to send them a PR :)

Ok. Closing. Thanks. PR sent. :smile:


[QUERY] Support needed setting up client credential flow with Spring Boot app

Query/Question
Question also posted on StackOverflow here.
I'm trying to setup client credential flow with a Spring app to access a web api (both owned by myself). I've attempted to follow the Azure documentation Microsoft identity platform and the OAuth 2.0 client credentials flow and Quickstart: Configure a client application to access a web API but I'm running into a few problems because the documentation is not clear. Somewhere in my setup, Azure is forcing the user to sign-in, and then other error messages sprout from there. As we know, however, client credential should be machine to machine authorization so I'm not sure why this sign-in flow is happening.
Below are some photos of my setup from Azure and the applications.yml file. Any feedback would be helpful getting me up running.
application.yml
 azure:
  activedirectory:
    tenant-id: {my-web-app-tenant-id}
    client-id: {my-web-app-client-id}
    client-secret: {my-web-app-client-secret}
    authorization-clients:
     web-api:
       scopes:
         - api://example-api/Employees.Read.All
         - api://example-api/Employees.Write.All

Why is this not a Bug or a feature Request?
A clear explanation of why is this not a bug or a feature request?
Setup (please complete the following information if applicable):

OS: Ubuntu 20.10
IDE: Visual Studio Code
Library/Libraries:
com.azure.spring:azure-spring-boot-starter-active-directory:3.5.0
org.springframework.boot:spring-boot-starter-oauth2-client

Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Query Added
[x] Setup information Added

Hi @BillyBolton, someone from the azure-spring team will follow up with you shortly.
/cc @stliu

Update:
From the steps here, I was able to get the token I wanted using Postman. The missing step was to make an App Role from the api, and then use application permissions for that role on the client side.
Unfortunately, I'm still getting the same sign-in flow though, which makes me think there's an issue on the Spring boot configuration. Would you be able to clarify what the applications.yml file needs to look like for this flow? (I've been looking at the documentation and it's really not clear).
 azure:
  activedirectory:
    tenant-id: {my-web-app-tenant-id}
    client-id: {my-web-app-client-id}
    client-secret: {my-web-app-client-secret}
    authorization-clients:
     web-api:
       scopes:
         - api://example-api/.default

Hi, @BillyBolton .
Thanks for reaching out.
Sorry for late response.
Could you please try this:
 azure:
  activedirectory:
    tenant-id: {my-web-app-tenant-id}
    client-id: {my-web-app-client-id}
    client-secret: {my-web-app-client-secret}
    authorization-clients:
     web-api:
       scopes:
         - api://example-api/.default
       authorization-grant-type: client_credentials   # Add this line.

And I'll create a PR soon about the docs and sample project.

Hi, @BillyBolton.
I tested it just now by this PR:  #22717 .
azure-spring-boot-starter-active-directory supports client credential type.
Please make sure these steps are right:

azure.activedirectory.authorization-clients.web-api.authorization-grant-type is set to client_credentials.
In webapp, set webapi's permission is Application Permission. Refs: https://stackoverflow.com/questions/57379397/why-is-application-permissions-disabled-in-azure-ads-request-api-permissions
If you set azure.activedirectory.authorization-clients.web-api.scopes=api://example-api/.default in webApp, then you should set azure.activedirectory.app-id-uri=api://example-api in webApi.

If you still have problem about client-credential type, please:

Try to run my sample: #22717 .
Provide your sample, let me investigate your sample.

Hi @chenrujun, thanks for sending all of that over.
There are some problems still occurring so I'm going to send a sample, but need to strip a lot down before I do so. I wanted to reach out so the issue doesn't get closed. I'll get this to you as soon as possible!

Hi, @BillyBolton.
Thanks for your response.
Sorry for making you confused.
Could you please try to add Directory.Read.All, and no admin consent is required.

I have a plan to delete Directory.Read.All from required scopes when azure.activedirectory.user-group.allowed-group-names is not configured.
Refs:

#21284
https://github.com/Azure/azure-sdk-for-java/blob/azure-spring-boot-starter-active-directory_3.6.1/sdk/spring/azure-spring-boot/src/main/java/com/azure/spring/aad/webapp/AADWebAppConfiguration.java#L127

@chenrujun That worked! Wow, this feels great. Thank you for your help!
When Directory.Read.All is is deleted, it should work as expected without this too? I don't remember reading the documentation about this scope being needed for client-credentials.

Hi @chenrujun, looks like I'm still getting a 401. I'm starting to wonder if this has something to do with my controller though. I've pushed an update to my sample based on how to preauthorize with application permissions. Can you take a look at this? Below are my manifest files for the web-app and web-api.
To run my sample, from the root directory in terminal, type and run: ./setup.sh && client-credentials:bootRun
Let me know your thoughts once you can take a closer look.
API Manifest
{
	"id": "52818ddf-eecc-4023-9f42-fd6261b10da1",
	"acceptMappedClaims": null,
	"accessTokenAcceptedVersion": null,
	"addIns": [],
	"allowPublicClient": null,
	"appId": "f8f123d1-fd92-4037-b7b3-8ee9875aaaa2",
	"appRoles": [
		{
			"allowedMemberTypes": [
				"Application"
			],
			"description": "Application has the ability to make a delete request.",
			"displayName": "Delete",
			"id": "ed87223f-e0d5-4474-b532-75793fa47144",
			"isEnabled": true,
			"lang": null,
			"origin": "Application",
			"value": "Task.Delete"
		},
		{
			"allowedMemberTypes": [
				"Application"
			],
			"description": "Application has the ability to make a write request.",
			"displayName": "Write",
			"id": "24bb3e83-1994-4c56-bef6-4ec4f6e74c07",
			"isEnabled": true,
			"lang": null,
			"origin": "Application",
			"value": "Task.Write"
		},
		{
			"allowedMemberTypes": [
				"Application"
			],
			"description": "Application has the ability to make a read request.",
			"displayName": "Read",
			"id": "faa93a34-69a8-44c4-a3df-f4fdfe0710b1",
			"isEnabled": true,
			"lang": null,
			"origin": "Application",
			"value": "Task.Read"
		},
		{
			"allowedMemberTypes": [
				"Application"
			],
			"description": "Application has the ability to make an update request.",
			"displayName": "Update",
			"id": "5755a871-bfa1-4937-9f4a-2d44bdcdbd7e",
			"isEnabled": true,
			"lang": null,
			"origin": "Application",
			"value": "Task.Update"
		}
	],
	"oauth2AllowUrlPathMatching": false,
	"createdDateTime": "2021-06-23T14:43:24Z",
	"disabledByMicrosoftStatus": null,
	"groupMembershipClaims": null,
	"identifierUris": [
		"api://example-api"
	],
	"informationalUrls": {
		"termsOfService": null,
		"support": null,
		"privacy": null,
		"marketing": null
	},
	"keyCredentials": [],
	"knownClientApplications": [],
	"logoUrl": null,
	"logoutUrl": null,
	"name": "web-api",
	"oauth2AllowIdTokenImplicitFlow": false,
	"oauth2AllowImplicitFlow": false,
	"oauth2Permissions": [],
	"oauth2RequirePostResponse": false,
	"optionalClaims": null,
	"orgRestrictions": [],
	"parentalControlSettings": {
		"countriesBlockedForMinors": [],
		"legalAgeGroupRule": "Allow"
	},
	"passwordCredentials": [],
	"preAuthorizedApplications": [],
	"publisherDomain": "AadBolt.onmicrosoft.com",
	"replyUrlsWithType": [],
	"requiredResourceAccess": [
		{
			"resourceAppId": "00000003-0000-0000-c000-000000000000",
			"resourceAccess": [
				{
					"id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
					"type": "Scope"
				}
			]
		}
	],
	"samlMetadataUrl": null,
	"signInUrl": null,
	"signInAudience": "AzureADMyOrg",
	"tags": [],
	"tokenEncryptionKeyId": null
}

Web-App Manifest
{
	"id": "f30f7535-41c1-4410-9fbb-10a82b27e632",
	"acceptMappedClaims": null,
	"accessTokenAcceptedVersion": null,
	"addIns": [],
	"allowPublicClient": null,
	"appId": "d0e54c13-eb2e-4e9b-8726-0f66d008d5a3",
	"appRoles": [],
	"oauth2AllowUrlPathMatching": false,
	"createdDateTime": "2021-06-23T15:40:13Z",
	"disabledByMicrosoftStatus": null,
	"groupMembershipClaims": null,
	"identifierUris": [],
	"informationalUrls": {
		"termsOfService": null,
		"support": null,
		"privacy": null,
		"marketing": null
	},
	"keyCredentials": [],
	"knownClientApplications": [],
	"logoUrl": null,
	"logoutUrl": null,
	"name": "web-app",
	"oauth2AllowIdTokenImplicitFlow": false,
	"oauth2AllowImplicitFlow": false,
	"oauth2Permissions": [],
	"oauth2RequirePostResponse": false,
	"optionalClaims": null,
	"orgRestrictions": [],
	"parentalControlSettings": {
		"countriesBlockedForMinors": [],
		"legalAgeGroupRule": "Allow"
	},
	"passwordCredentials": [
		{
			"customKeyIdentifier": null,
			"endDate": "2021-12-30T19:11:48.684Z",
			"keyId": "1dd89de9-418c-4eb3-b1c7-7fd3a9c058c1",
			"startDate": "2021-06-30T18:11:48.684Z",
			"value": null,
			"createdOn": "2021-06-30T18:11:48.9384558Z",
			"hint": "3~9",
			"displayName": "client-secret"
		}
	],
	"preAuthorizedApplications": [],
	"publisherDomain": "AadBolt.onmicrosoft.com",
	"replyUrlsWithType": [
		{
			"url": "http://localhost/auth-response",
			"type": "Web"
		}
	],
	"requiredResourceAccess": [
		{
			"resourceAppId": "00000003-0000-0000-c000-000000000000",
			"resourceAccess": [
				{
					"id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
					"type": "Scope"
				},
				{
					"id": "06da0dbc-49e2-44d2-8312-53f166ab848a",
					"type": "Scope"
				}
			]
		},
		{
			"resourceAppId": "f8f123d1-fd92-4037-b7b3-8ee9875aaaa2",
			"resourceAccess": [
				{
					"id": "ed87223f-e0d5-4474-b532-75793fa47144",
					"type": "Role"
				},
				{
					"id": "24bb3e83-1994-4c56-bef6-4ec4f6e74c07",
					"type": "Role"
				},
				{
					"id": "faa93a34-69a8-44c4-a3df-f4fdfe0710b1",
					"type": "Role"
				},
				{
					"id": "5755a871-bfa1-4937-9f4a-2d44bdcdbd7e",
					"type": "Role"
				}
			]
		}
	],
	"samlMetadataUrl": null,
	"signInUrl": null,
	"signInAudience": "AzureADMyOrg",
	"tags": [],
	"tokenEncryptionKeyId": null
}

Hi, @BillyBolton ,
I created a PR:
https://github.com/BillyBolton/client-credential-sample/pull/1
You can add a break point at DefaultClientCredentialsTokenResponseClient#getTokenResponse, and debug it.
I get the request like this:

This request can not get access_token.
You said that:

From the steps here, I was able to get the token I wanted using Postman.

Could you please compare the request to your request in Postman?

Hey @chenrujun,
Sorry, I'm not clear where to find the DefaultClientCredentialsTokenResponseClient.java file, but this seems handy for troubleshooting. Can you walk through how to get there?
I merged your PR on my sample and I saw what you meant about not getting the access_token:
There was an unexpected error (type=Internal Server Error, status=500).
[invalid_token_response] An error occurred while attempting to retrieve the OAuth 2.0 Access Token Response: 401 Unauthorized: [no body]
org.springframework.security.oauth2.client.ClientAuthorizationException: [invalid_token_response] An error occurred while attempting to retrieve the OAuth 2.0 Access Token Response: 401 Unauthorized: [no body]

This is strange because, as mentioned, I can get one from Postman. Here's how I generate that request:

This generates the following token:
eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyIsImtpZCI6Im5PbzNaRHJPRFhFSzFqS1doWHNsSFJfS1hFZyJ9.eyJhdWQiOiJhcGk6Ly9leGFtcGxlLWFwaSIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0L2FjZmM5MmM4LTRlNzItNGFmOS1iZmY4LTYwZDYzMjA3OTM0MC8iLCJpYXQiOjE2MjU2NjIzMjIsIm5iZiI6MTYyNTY2MjMyMiwiZXhwIjoxNjI1NjY2MjIyLCJhaW8iOiJFMlpnWUlpeS9Ka3AxaWt4UWZoaHM0N1YwVTljQUE9PSIsImFwcGlkIjoiZDBlNTRjMTMtZWIyZS00ZTliLTg3MjYtMGY2NmQwMDhkNWEzIiwiYXBwaWRhY3IiOiIxIiwiaWRwIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvYWNmYzkyYzgtNGU3Mi00YWY5LWJmZjgtNjBkNjMyMDc5MzQwLyIsIm9pZCI6IjIzNzc2MjMzLTNjYWYtNDljZi05ZWQyLWI4MTNiZDlkZTdmOCIsInJoIjoiMC5BWDBBeUpMOHJISk8tVXFfLUdEV01nZVRRQk5NNWRBdTY1dE9oeVlQWnRBSTFhTjlBQUEuIiwicm9sZXMiOlsiVGFzay5SZWFkIiwiVGFzay5EZWxldGUiLCJUYXNrLlVwZGF0ZSIsIlRhc2suV3JpdGUiXSwic3ViIjoiMjM3NzYyMzMtM2NhZi00OWNmLTllZDItYjgxM2JkOWRlN2Y4IiwidGlkIjoiYWNmYzkyYzgtNGU3Mi00YWY5LWJmZjgtNjBkNjMyMDc5MzQwIiwidXRpIjoiMTA0Rk40OXNtVW03eFpjVmZidUZBQSIsInZlciI6IjEuMCJ9.FREjiG6HOxXocch6KEbhuQzh-Qs4sf1KT54ggvAubIhwVRPhe7Tmnr93B3w39PqAPSlQNtRPcD8XkWiNL7v0z3vGSBeUyR2oGvARBAMOqLlwI8nqF0Ddji4kQ6idAKFLy_scf8roAVcz5iQ_FFhZ37GQsEl2TaGbql-EkEkNIqO4tFpbxjpzj0rkbpqPnp2goU3nxU-_jhxGlqi102lQdF6J7qpMl84o-pr635nMfdPw7QQmi0FYWkVLdfHZ4IQQwp5SRHED3OMqsCOEJ2Of-Y4cpuv1kozbTvcP_-ohw4bsiLe3h_HJX5jNw3kWfgkFSpO7Mj-hpcLz3grNh9gUiw

And that token decodes to:
{
  "typ": "JWT",
  "alg": "RS256",
  "x5t": "nOo3ZDrODXEK1jKWhXslHR_KXEg",
  "kid": "nOo3ZDrODXEK1jKWhXslHR_KXEg"
}.{
  "aud": "api://example-api",
  "iss": "https://sts.windows.net/acfc92c8-4e72-4af9-bff8-60d632079340/",
  "iat":<PHONE_NUMBER>,
  "nbf":<PHONE_NUMBER>,
  "exp":<PHONE_NUMBER>,
  "aio": "E2ZgYIiy/Jkp1ikxQfhhs47V0U9cAA==",
  "appid": "d0e54c13-eb2e-4e9b-8726-0f66d008d5a3",
  "appidacr": "1",
  "idp": "https://sts.windows.net/acfc92c8-4e72-4af9-bff8-60d632079340/",
  "oid": "23776233-3caf-49cf-9ed2-b813bd9de7f8",
  "rh": "0.AX0AyJL8rHJO-Uq_-GDWMgeTQBNM5dAu65tOhyYPZtAI1aN9AAA.",
  "roles": [
    "Task.Read",
    "Task.Delete",
    "Task.Update",
    "Task.Write"
  ],
  "sub": "23776233-3caf-49cf-9ed2-b813bd9de7f8",
  "tid": "acfc92c8-4e72-4af9-bff8-60d632079340",
  "uti": "104FN49smUm7xZcVfbuFAA",
  "ver": "1.0"
}.[Signature]

As we can see, the aud and roles line up with what I have setup in Azure. I'm not sure what the difference is though.

Hi, @BillyBolton ,
I reproduced your problem with your configuration.
Now I can run your project with my application.yml:

Here is the accessToken:

Here is my resource-server's configuration:

Here is my web-application's configuration:

So there must be something wrong with your application.yml
Now I have no idea about what is wrong with your app-registration.
Could you please create web-application and resource-server from zero?

Hey there @chenrujun,
Great news, I'm no longer getting the same error after re-creating the client-app and resource-server as per your recommendation. Thanks for pointing this out, although I'm not sure what the problem is. Happy to see this change though. :)
As you can see, the token contains the app role I've configured. I'm able to access the page (as opposed to before), however when I @PreAuthorize with @PreAuthorize("hasAuthority('APPROLE_Task.Delete')") or @PreAuthorize("hasRole('APPROLE_Task.Delete')"), I get access denied. I think this is the last point I'm not clear on in the documentation.
I've updated my sample if you want to take a look for more clarity.

Hi, @BillyBolton , I added a comment in your PR: https://github.com/BillyBolton/client-credential-sample/pull/2/files#r666592832

Oh, of course that makes sense!
Do you have an example of a spring boot api that uses a token like this? I'm sure it's not just the annotation, but it look like there's only .Net samples in the documentation.

Oh, of course that makes sense!
I looked at the following documentation for how to protect a resource-server with client credentials.
https://docs.microsoft.com/en-us/azure/developer/java/spring-framework/spring-boot-starter-for-azure-active-directory-developer-guide#access-resource-servers-from-a-web-application
Thank you for your help, @chenrujun. Like I said, my team and I find the documentation for Azure Authentication a bit disorganized but your dedication to support has tremendous value. I wish I reached out sooner. Thank you thank you!

Hi, @BillyBolton ,
Has your problem been solved?
You can close this issue if your problem has been solved.

Hey @chenrujun,
I was going to investigate one more thing but I think I will open a separate issue if that arises. Indeed, my initial problem has been solved.
My team and I agree that the documentation for Azure Authentication with Spring apps is difficult to navigate, but I appreciate your quick responses helping me through. I wish I had reached out sooner! (I've been looking at this for longer than I care to admit.)
Thank you again for all your help. You were fantastic!


organization_permissions: Add setting to notify user of guest recipient in DM.

Notify users of guests in DM recipients by showing a compose banner, by adding a new realm settings.
Fixes: #30078
Added a new settings to control:
Compose warning that appears when attempting to DM a guest reminding clients that they may not be part of the organization.
Screenshots and screen captures:

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

Where's the code actually implementing the setting? Generally you should include that in the same PR, and ideally the same commit, as adding the setting.

Still working on it. Almost ready with the full commit

Added the remaining code, the settings now controls the warning compose banner appearing above compose box.
Resolved the issues related to naming and description of the setting.
Task remaining

Tag text for translation
Due to the renaming of a database column, migration error has occured which fails the PR checks. It was fixed for me by tools/provison.

The PR fails due to conflict in numbering of migrations which can be fixed using ./tools/renumber-migrations. See https://zulip.readthedocs.io/en/latest/subsystems/schema-migrations.html for details. Also, can you rename the migration file to match with the setting field name.

The PR fails due to conflict in numbering of migrations which can be fixed using ./tools/renumber-migrations. Also, can you rename the migration file to match with the setting field name.

Thanks for the help, had to rebase with upstream then renumber the migrations.

Tagged the string for translation.

Please ping your buddy for review. Remember to add the "buddy review" label when you post a PR that's ready to be reviewed.

@sujalshah-bit can you review this?

Posted some points here:

This feature is not documented in the help center

I believe it would be more effective to display a warning banner when the user begins typing a message to a guest, rather than after the message has been sent. The primary concern behind this issue is that some organizations want users to be highly aware when they are sending a message to a guest, thereby minimizing the risk of inappropriate information sharing. If the message is sensitive and has already been sent, the warning banner may not serve its intended purpose. Therefore, I suggest displaying the warning as soon as the user starts typing, @alya, what are your thoughts?
If we are satisfied with the current approach, which displays the warning banner only after the message has been sent, then this PR achieves that functionality.

@adnan-td, just a friendly suggestion. It appears that conflicts keeps coming. To avoid this,  what I do is I remove changelog.md and version.py temporarily, as these files are constantly updating. Once this pull request is ready for merging, I add them back. This approach will save you from repeatedly resolving conflicts :)

Therefore, I suggest displaying the warning as soon as the user starts typing, @alya, what are your thoughts?

Yes, the intent is definitely to warn the user before the message is sent! I think we can always show the banner when the compose box is open with a guest addressee, even before the user has started typing.

@sujalshah-bit @alya added changes to now display a warning banner when the the compose box recipient has guest. It auto updates, closes as per the changes in the recipients.

when the user begins typing a message to a guest

This could be simply done now, but it is costly to run the function whenever the compose message changes. Not sure if we should do it. Currently on when pills change, the function executes.

LGTM,

This could be simply done now, but it is costly to run the function whenever the compose message changes. Not sure if we should do it. Currently on when pills change, the function executes.

There's no need to do that as @alya said we should display banner at the moment user add guests in a box.
It is ready for mentor review

@zulipbot add "mentor review"

@zulipbot remove "buddy review"

Refactored the code to address reviews by @shubham-padia.

I'll have a look at this first thing tomorrow, but meanwhile, I've left comments on anything that was waiting for my reply to figure out the next steps!

@shubham-padia thanks for the bug report. Addressed all suggestions and fixed the bug.

It seems like there's a lot of messy complexity around storing users as emails and converting those; we should use a list of user IDs, which is a lot cleaner and more robust (emails can change!).

It seems like there's a lot of messy complexity around storing users as emails and converting those; we should use a list of user IDs, which is a lot cleaner and more robust (emails can change!).

@timabbott tried reducing the complexity and store userIDs instead of mails!


Add build cc to dependency list

This is needed for cross compiling to musl on macOS.

Is this supposed to fix the musl64 compilation of cargo2nix on macOS? If so, this pull request doesn't fix the cross compilation issue for me. I can confirm with nix-docker that this change doesn't affect the Linux build, which is good, but the macOS build, triggered with the following command:
# Notice there is no `--arg crossSystem null` here.
nix-build -A package

still fails with the following error:
builder for '/nix/store/8kqvc6wrz8hjyxan3kgll0kmnr6gdgwn-perl-5.30.0-x86_64-unknown-linux-musl.drv' failed with exit code 1
cannot build derivation '/nix/store/kkm6phjd2r91d1fygfvbq3vabs8qia31-openssl-1.1.1c-x86_64-unknown-linux-musl.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/zg486an3wnlaq4qcc7nk2439p7mv4fka-nghttp2-1.39.2-x86_64-unknown-linux-musl.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/rhbxphxihg60pyn1kddr9qdvbxbc29m1-openssl.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/lmfv1nmvx5hnpgj5lz13smagyq47zkwy-crate-curl-sys-0.4.20-x86_64-unknown-linux-musl.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/78x23d8rmk9fjrp8189dfa0859ni9bcs-crate-openssl-sys-0.9.49-x86_64-unknown-linux-musl.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/bzdv1hsxhlbgybf4mvbkax5389gxp6wi-crate-cargo-0.37.0-x86_64-unknown-linux-musl.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/pv8lml09iaq03h5d0fb58q3730fx2lcl-crate-cargo2nix-0.3.0-x86_64-unknown-linux-musl.drv': 1 dependencies couldn't be built
error: build of '/nix/store/pv8lml09iaq03h5d0fb58q3730fx2lcl-crate-cargo2nix-0.3.0-x86_64-unknown-linux-musl.drv' failed

I'm guessing that this change is purely to help facilitate the Mothership services' conversion process, correct?

@ebkalderon I've only tried cross compiling with common-io, not cargo2nix itself. I'll keep this PR open and look into cargo2nixtoday.

@trha That's great to hear that it works for common-io, though! Since it doesn't appear to affect the native Linux builds in any significant way, perhaps this PR would still have value to merge on its own, since it strictly enables more packages to be compiled without breaking existing functionality. Still, I guess we can leave it open if you want to investigate a bit more. Feel free to make any further changes you find, or perhaps ping me if you would like it to be merged as-is.

@trha Seems to have fixed the issue for me! 🎉 I can now cross-compile cargo2nix to aarch64 on macOS, and I can also build a few other projects pinned to an older Nixpkgs that I couldn't build with cargo2nix earlier.


this project can use URP??

Hi,
i tryed the project, and works in a normal escene, but when i tryed it with URP the cam of EquiCam not works. some one tryed the project with URP and work it fine?

Hi, did it work? or how did you manage to solve it. Thanks.


Proposed 0.90.0-rc2

Jenkins Build Summary
Built from this commit
Built at 20180212 - 17:42:20
Test Results

Build Type
Result
Status

clang.debug.unity
1000 cases, 0 failed, t: 402s
PASS :white_check_mark:

coverage
1000 cases, 0 failed, t: 633s
PASS :white_check_mark:

gcc.debug.unity
1000 cases, 0 failed, t: 445s
PASS :white_check_mark:

clang.debug.nounity
998 cases, 0 failed, t: 797s
PASS :white_check_mark:

clang.release.unity
999 cases, 0 failed, t: 688s
PASS :white_check_mark:

gcc.debug.nounity
998 cases, 0 failed, t: 837s
PASS :white_check_mark:

gcc.release.unity
999 cases, 0 failed, t: 645s
PASS :white_check_mark:

Codecov Report

Merging #2380 into develop will increase coverage by 0.02%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop    #2380      +/-   ##
===========================================
+ Coverage    70.27%   70.29%   +0.02%
===========================================
  Files          703      703
  Lines        53670    53661       -9
===========================================
+ Hits         37716    37722       +6
+ Misses       15954    15939      -15

Impacted Files
Coverage Δ

src/ripple/core/Stoppable.h
93.33% <0%> (-6.67%)
:arrow_down:

src/ripple/server/impl/BaseHTTPPeer.h
87.65% <0%> (-3.09%)
:arrow_down:

src/ripple/server/impl/ServerImpl.h
91.42% <0%> (-0.24%)
:arrow_down:

src/ripple/json/impl/json_value.cpp
75.89% <0%> (-0.21%)
:arrow_down:

src/ripple/server/impl/BaseWSPeer.h
71.15% <0%> (-0.19%)
:arrow_down:

src/ripple/app/ledger/impl/LedgerMaster.cpp
45.81% <0%> (-0.06%)
:arrow_down:

src/ripple/app/misc/NetworkOPs.h
100% <0%> (ø)
:arrow_up:

src/ripple/rpc/json_body.h
0% <0%> (ø)
:arrow_up:

src/ripple/server/SimpleWriter.h
100% <0%> (ø)
:arrow_up:

src/ripple/app/main/Application.h
100% <0%> (ø)
:arrow_up:

... and 8 more

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 060692a...0b695b8. Read the comment docs.


bullet_physics_test: build error because Git symlinks on Windows are flaky

Low priority, zig version 0.10.0-dev.625+e42b5e76b, Windows 10
I get a build error in bullet_physics_test (all other samples build & run fine):
> zig build
D:\tmp\zig-tests\zig-gamedev\samples\bullet_physics_test\build.zig:4:25: error: unable to load 'D:\tmp\zig-tests\zig-gamedev\samples\bullet_physics_test\libs\zbullet\build.zig': FileNotFound
const zbullet = @import("libs/zbullet/build.zig");

That's broken for me since 1c5c3438a668680062f68e739d4ad568e94bd66b  Added zbullet (wip).
I found out that it's a git + windows + directory symlink problem, because everything works fine if I delete the Git placeholder file zig-gamedev\samples\bullet_physics_test\lib\zbullet for the symlink and replace it with a Windows symlink using mklink.
This is unfortunate for an example because out of the box it will probably not work for a lot of Windows users, because you have to setup git and windows in a fairly specific way (see https://stackoverflow.com/questions/5917249/git-symlinks-in-windows).
It would be preferable to handle this in the zig.build file if possible. I tried and failed to do that by changing
zig-gamedev\samples\bullet_physics_test\build.zig in line 148-149:
    // old version that only works with symlinks
    // exe.addPackagePath("zbullet", "libs/zbullet/src/zbullet.zig");
    // @import("libs/zbullet/build.zig").link(b, exe);

    // use relative paths to avoid git symlink problems on windows
    exe.addPackagePath("zbullet", "../../../libs/zbullet/src/zbullet.zig");
    @import("../../../libs/zbullet/build.zig").link(b, exe);

    // results in this error:
    // .\build.zig:151:5: error: import of file outside package path: '../../libs/zbullet/build.zig'
    // @import("../../libs/zbullet/build.zig").link(b, exe);
    // ^

Is there maybe another solution, maybe using a git submodule for zbullet or something like that?

Yeah, I was suspecting problems with symlinks. I will figure out something.
Many thanks for the report.

This is now fixed.

Awesome, thanks!


Using Geolocation API to get the users location

Using the Geolocation API to get the users location as the first weather results displayed, instead of just New York City.
Read more here.

Completed without conflict.


Add sort after Browse page "Fix something" selection

Once a user has made a "Fix something" selection from the dropdown we should then sort to display lowest-scored components first.

We can do it forcing the call to the API passing the effectiveScore param with sort=asc together with the curate filter.
@dabutvin could you confirm this workflow?
This should automatically activate the Sort By Lowest Score option, otherwise doesn't know what kind of sorting is enabled.
@fossygirl  do you agree?

@storrisi Yes, agreed.